See SimpleMediaAPI in Action

This is the media widget that powers SimpleMediaAPI. Upload images, organize with folders, and get shareable URLs instantly. This is exactly what your users will see when you integrate with us.

Try the Widget (No Sign-up Required)

Go ahead — upload some images, organize them in folders, and see how fast and simple it is. This is exactly what you'll ship with.

What You're Seeing

How You'll Integrate This

It takes 3 lines of code. Seriously.

<script src="https://simplemediaapi.com/widget.js"></script>
<script>
  const browser = new MediaBrowser({
    apiKey: 'sk_live_your_key_here',
    customerId: 'user-123'
  });
  browser.open(); // That's it
</script>

And your users get this entire interface. Folders, uploads, organization, URL generation. All handled.

Inline Mode (Sidebar / Embedded)

Don't want a modal? Render the widget directly into your page. Perfect for sidebars or embedded media managers:

Built-in Storage Quotas

Control how much each customer can upload. Set per-customer limits. We enforce them automatically.

✨ Ready to Ship This?

You've seen how simple and powerful this is. You get:

Get Started - $49/mo

Detailed Integration Docs

Want the nitty-gritty? Here's everything:

Modal Usage

const browser = new MediaBrowser({
    apiKey: 'sk_live_your_key_here',
    customerId: 'user-123',

    onSelect: (file) => {
        console.log('User selected:', file.url);
        // Do whatever you want with file.url
    },
    multiSelect: false  // true to allow multiple files
});

browser.open();

Customer Segregation (Multi-Tenant)

Each customerId gets a completely isolated library:

REST API (If You Need It)

// Upload a file
POST /api/customer/upload
  Header: X-API-Key: sk_live_your_key_here
  Body: FormData with file + customer_id

// List files
GET /api/customer/media?customer_id=user-123
  Header: X-API-Key: sk_live_your_key_here

// Delete a file
DELETE /api/customer/media/{fileId}?customer_id=user-123
  Header: X-API-Key: sk_live_your_key_here