BlogComparisons

img.ly Alternative for a Hosted Embeddable Editor

Orshot Embed is a hosted img.ly alternative: a design and video editor in your app from $39/mo, with white-label, webhooks and per-user data from $160.

(Updated )

If you're looking for an img.ly alternative, you want one thing: a real design editor inside your own product.

Their CreativeEditor SDK (CE.SDK) is the editor itself, running in the browser or natively on mobile.

The bill comes due around the editor. img.ly's SDK is just the editor, and the rest is yours to build and run:

  • Host the rendering engine yourself
  • Build the backend it needs: template storage, per-user data, uploads, auth
  • Ship a heavy editor bundle to every user
  • Get the commercial price on a sales call

I built Orshot Embed for teams who want the editor without running all of that. Same editor we use in Orshot, hosted by us, dropped into your app with an iframe or a React/Vue component. Your users, your branding, your domain. Our storage, accounts, and rendering.

Try Orshot EmbedEmbed from $39/mo, API free to try.

This is the editor your users would get: "Acme Studio" is a made-up brand running a real Orshot embed. Open the video or the invoice, edit anything, then press "Add to App" to send the design to this page the way your app would receive it. Nothing you change is saved.

Loading the editor…

Press “Add to App” in the editor and this page receives the PNG, the way your app would.

until everything has loaded
3.9 s
Orshot3.9 s
CE.SDK5.1 s
downloaded on first load
2.6 MB
Orshot2.6 MB
CE.SDK9.8 MB
of WASM engine to download
0 MB
Orshot0 MB
CE.SDK6.2 MB
Median of three cold loads in Chrome on Sep 22, 2026: Orshot's editor vs IMG.LY's public CE.SDK 1.82.1 design editor demo.

What actually changes

Same job: your users editing designs in your app. The difference is who runs the editor and everything around it.

FeatureOrshot Embedimg.ly CE.SDK
IntegrationOne iframe, or the React/Vue componentAn npm package plus a WASM engine
First load2.6 MB, no WASM engine9.8 MB, about 6 MB of it WASM
Hosting and storageFully managedYou host the editor, designs and uploads
Templates and brand library per userBuilt in, private to each userId*You build it
Lock actions per userFrom the dashboard or a signed tokenScopes set in your code
Master templatesOpen as copies, originals stay safeRoles, with storage yours
Embed analyticsReturning vs one-time users*Not included
Render APIPNG, JPG, WebP, AVIF, PDF, MP4, WebM, GIF from one POSTRun the headless engine yourself
Async renders with webhooksBuilt inYour own queue
Zapier, Make, n8n, AirtableNativeNot included
Hosted MCP for AI agentsClaude, ChatGPT, CursorCoDesign, a local MCP
Social publishingPost and schedule to 15 networksNot included
Template importCanva, Figma, Polotno, HTMLPSD, InDesign, PDF and PPTX importers
PricePublic, from $39/mo, renders includedQuote from sales, per platform and feature

* Available on specific plans. See pricing for what each plan includes.

The real work around an editor SDK

CE.SDK gives you the editor. Shipping it to your users takes the rest of a product around it.

1. The platform is yours to build

CE.SDK runs in your app, so the pieces around it are yours: template storage, per-user libraries, uploads, user accounts and who can do what. That's the backend most teams underestimate. With Orshot Embed, you pass a userId and each user already has private templates, uploads and brand assets, while your workspace templates stay shared.

2. The license is only the start

There's no public price. CE.SDK is licensed through sales, priced on the platforms, components and AI features you ship. The servers, storage and render infrastructure are separate costs on top of the license.

3. A heavy first load

The editor ships with a WASM engine, so your users download about 9.8 MB before they can edit, about 6 MB of it the engine. Orshot's editor loads 2.6 MB with no engine to download, because the rendering happens on Orshot's servers.

4. Templates don't become an API on their own

A design your users make in CE.SDK is a scene file. Turning it into images or video at scale means running the headless engine in your own queue. In Orshot, every template your users save is already an API endpoint: send the template ID and your data, and get back a PNG, PDF or MP4.

5. Automation and distribution are extra work

No-code tools like Zapier, Make and n8n, scheduled workflows, social publishing and a hosted MCP for AI agents come with Orshot. With an SDK, each of those is another project.

What img.ly costs, and what Orshot costs

img.ly doesn't publish prices. CE.SDK is licensed through sales, priced on the platforms and features you ship. Buyer data on Vendr puts the median at $17,500 a year, with most deals between about $11,400 and $27,025. That's the license alone, before the servers, storage and user accounts you build around it.

Orshot Embed has public pricing:

PriceWhat it adds
$39/mo ($468/yr)The embed with Orshot branding, 1,500 credits and the render API
$160/mo ($1,920/yr)White-label, per-user data, webhooks, events, downloads, 50 users
from $349/moCustom buttons, more embed users and credits

Hosting, storage, uploads and rendering are included on every plan. Prices checked September 2026.

A real scenario

5,000 API images a month, plus your users designing and downloading in a white-label editor:

Cost componentOrshot ($160/mo)img.ly CE.SDK
Plan or license$160/monthQuote; median about $1,460/month ($17,500/yr)
5,000 image rendersIncluded (20,000 credits)Your headless engine and servers
White-label editorIncludedIncluded in the license
Hosting, storage, databaseIncludedYour cost
Per-user libraries & permissions50 embed usersYou build it
Monthly total$160About $1,460 plus your infrastructure

When a self-hosted SDK fits better

An SDK you run yourself is the better route if you need:

  • Offline editing, fully client-side with no network
  • A native mobile editor for iOS, Android or Flutter
  • Engine-level control, driving the engine from code and building your own UI on it

If none of those are on your list, a hosted editor saves you the platform work. And if you're tempted to skip SDKs and build on an open-source library, Konva vs Fabric.js shows what that takes, feature by feature.

What you get with Orshot Embed

If it's not your list, here's what's actually included:

  • White-label it with your own title, icon and accent color. Orshot branding comes off on some plans*.
  • Webhooks ping your backend on template.create, template.update and template.delete, and postMessage events fire on save and export so your UI can react.
  • Per-user permissions lock actions like delete, upload or download for each user, from the dashboard or per session in a signed token (dashboard locks need per-user data*).
  • The same render API underneath: PNG, JPG, WebP, AVIF, PDF, and MP4/WebM/GIF from one template, any size via Smart Resize.
  • A brand library and 2,000+ templates so nobody starts on a blank canvas.
  • Me on the other end of the chat, usually within the hour.

The embed starts at $39/mo with Orshot branding.

* Available on specific plans. See pricing for what each plan includes.

The editor your users get

Like how that feels? Signing up is free, and the embed starts at $39/mo. Build your own →

Dropping it into your app

Setup lives in your Orshot workspace: switch the embed on, add your allowed domains, set your branding, and decide what each user can do.

Then wire it into your product. These are the pieces embed customers set up most:

One iframe, with a userId so each of your users gets their own templates and uploads (per-user data*).

<iframe
  src="https://orshot.com/embeds/YOUR_EMBED_ID?userId=user_123"
  title="Orshot Embed"
  style="width: 100%; height: 700px; border: none; border-radius: 8px;"
  allow="clipboard-write"
></iframe>

@orshot/embed-react mounts the same editor as a component, with callbacks for its events. There's a Vue package too.

import { OrshotEmbed } from "@orshot/embed-react";

export default function Editor() {
  return (
    <div style={{ height: "700px" }}>
      <OrshotEmbed
        embedId="YOUR_EMBED_ID"
        templateId="YOUR_TEMPLATE_ID"
        onTemplateCreate={(data) => console.log("Created:", data)}
        onError={(err) => console.error(err)}
      />
    </div>
  );
}

Listen for saves and downloads in your page to sync your database or track usage (with events on)*.

window.addEventListener("message", (event) => {
  if (event.origin !== "https://orshot.com") return;
  const { type, data } = event.data;

  if (type === "orshot:template:update") saveToYourDb(data);
  if (type === "orshot:download:png") trackDownload(data);
});

Fill layers from your own UI or data without reloading the editor. Needs events on*.

document.querySelector("iframe").contentWindow.postMessage(
  {
    type: "orshot:embed:control",
    modifications: {
      headline: "Hello from Acme",
      logo: "https://example.com/acme-logo.png",
    },
  },
  "*",
);

Add a webhook URL and your server gets a POST whenever a user creates, updates or deletes a template*. Trimmed:

{
  "event_type": "template.create",
  "template": {
    "id": "abc123",
    "name": "Launch banner",
    "canvas_width": 1200,
    "canvas_height": 628,
    "thumbnail_url": "https://..."
  },
  "workspace_id": "workspace_789",
  "user_id": "user_123",
  "timestamp": "2026-09-22T10:30:00Z"
}

Turn on Require signed token and your server signs a short-lived JWT for each session. sub is the user, and permissions can lock actions for that session.

import jwt from "jsonwebtoken";

const token = jwt.sign(
  { sub: "user_123", permissions: { "template/delete": true } },
  EMBED_SIGNING_SECRET,
  { expiresIn: "15m" },
);

const src = `https://orshot.com/embeds/YOUR_EMBED_ID?token=${token}`;

Need an image without anyone opening the editor? The same template is one POST away.

curl -X POST https://api.orshot.com/v1/studio/render \
  -H "Authorization: Bearer $ORSHOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "YOUR_TEMPLATE_ID",
    "modifications": { "title": "Hello World", "image": "https://example.com/photo.jpg" },
    "response": { "type": "url", "format": "png" }
  }'

Full references: events, controlling the embed, webhooks and JWT authentication. New to the embed? Start with the introduction or this walkthrough.

* Available on specific plans. See pricing for what each plan includes.

Embed features at a glance

FeatureWhat it does
BrandingYour accent color, title and icon. Orshot branding can be removed*
Domain restrictionsThe embed only works on your specified domains
Template controlsShow or hide templates, allow delete and rename, enable carousels
Download permissionsTurn user downloads on or off: PNG, PDF, HTML, plus MP4 on video pages*
Per-user permissionsLock actions per user from the dashboard*, or per session in your JWT (any embed plan)
Multi-language6 languages, with optional user switching
WebhooksServer-side notifications for template events*
Browser eventsReal-time postMessage events for your frontend*
Custom buttonsYour own actions inside the editor, like "Add to App"*

* Available on specific plans. See pricing for what each plan includes.

Moving your templates over

There's no CE.SDK scene importer, so templates come over one of two ways:

  • Import the source design from Canva, Figma or Polotno, then rename its parameters to your variable names
  • Send us the scene files and we rebuild them with your names kept, up to 5 for free

The full move, from editor to renders, is in the img.ly migration guide.

Common questions

Is Orshot Embed self-hosted like img.ly's SDK?

Can I white-label it and lock it to my domain?

Does it work on native mobile?

Where do my users' templates live?

How much does img.ly cost?

What is a good CE.SDK alternative for a web app?

Can I bring my img.ly templates to Orshot?

What does it cost?

Bottom line

If you need a self-hosted, client-side editor you own down to the engine, offline and native, an SDK you host is the route.

If you just want your users editing on-brand templates inside your product, without building the platform behind it, that's the gap Orshot fills.

Comparing other embeddable editors? It's the same hosted-vs-SDK question with Polotno and Templated. I went deeper here, and the step-by-step move is in the img.ly migration guide. Embed starts at $39/mo. Get stuck wiring it up? Hit the chat. I'll help you out.

Related posts