← Blog

Remotion vs Shotstack

Remotion renders React components to video on your own servers; Shotstack renders a JSON timeline in its cloud. How each works, pricing, and when to pick each.

Short answer: use Remotion if you want to write the video as React code, animate UI and type frame by frame, and render on infrastructure you control. Use Shotstack if you want to send a JSON timeline of clips to an API and get a finished file back, with no renderer to run. Remotion is a framework; Shotstack is a service.

Facts below were checked on remotion.dev, remotion.pro and shotstack.io in October 2026.

At a glance

RemotionShotstack
What it isReact framework for videoCloud video editing API
You writeReact components, useCurrentFrame()A JSON edit: timeline, tracks, clips, output
PreviewRemotion Studio, <Player>Studio, a visual timeline editor
RenderingYour machine, Node, Lambda, Cloud Run, Vercel SandboxShotstack's cloud
TemplatesReact components with propsSaved edits with merge fields like {{NAME}}
Embeddable editor@remotion/player (playback, props)Studio SDK (source-available, PolyForm Shield)
Output hostingYoursShotstack CDN, or 24-hour temporary files
PricingFree for individuals and up to 3 employees; Company License above thatPer rendered minute, pay as you go or monthly

How Remotion works

Remotion gives you a frame number and a blank canvas, and you render anything React can draw for that frame. A composition is a component plus a width, height, fps and duration. Change what you render frame by frame and you have an animation.

Rendering happens on your side. renderFrames() in @remotion/renderer captures each frame with Puppeteer, and the encoding step is backed by FFmpeg, which has been baked into @remotion/renderer since v4. You can run that from the CLI, from Node, in GitHub Actions, or in the cloud with Remotion Lambda, which splits a video into chunks, renders them in parallel across Lambda functions and concatenates the result. Remotion recommends Lambda for most cloud rendering. More on the model in how to make videos with React.

How Shotstack works

Shotstack describes itself as a video editor that runs in the cloud and is driven by software. An edit is JSON: a timeline of tracks, each holding clips with an asset (rich text, video, image, audio and others), a start and a length, plus an output block for format and size. Its Hello World looks like this, trimmed:

{
  "timeline": {
    "tracks": [
      {
        "clips": [
          {
            "asset": { "type": "rich-text", "text": "HELLO WORLD" },
            "start": 0,
            "length": 5,
            "transition": { "in": "fade", "out": "fade" }
          }
        ]
      }
    ]
  },
  "output": { "format": "mp4", "size": { "width": 1024, "height": 576 } }
}

You POST that to the render endpoint with an x-api-key header, get back a render id, then poll for status (queued, fetching, rendering, saving, done, failed and a few more) or register a webhook. Finished videos go to Shotstack's hosting and CDN by default; if you opt out, the file sits at a temporary URL for 24 hours.

The same edit opens in Studio, Shotstack's visual timeline, and saves as a template with merge fields. There are SDKs for Node.js, Python, PHP and Ruby, apps for Make, Zapier and n8n, an MCP server for AI agents, and the Studio SDK, a white-label editor you embed in your own product. Shotstack's pricing page says that editor is source-available under a PolyForm Shield License and uses FFmpeg for exports.

The difference that decides it

In Remotion you write the pixels. Every frame is a React render, so anything the browser can draw — a real <input> with a caret, a chart, a code block, your actual component library — is available, and motion is interpolate() and spring() on the frame number.

In Shotstack you arrange media. The edit places assets on tracks with transitions and effects, and Shotstack's engine composites them. That is the right abstraction for cutting footage, slideshows, captions and personalised variants. It is a step away from the DOM, so animating a UI built in React means rebuilding it in the edit format or recording it first.

Pricing

Shotstack charges for minutes of video you render, counted by the second and rounded down, so a 30-second video uses half a minute. From its pricing page:

PlanPriceMinutesMax resolution
Pay as you go$10 once501080p
Starter$39 a month250 a month1080p
Pro$99 a month750 a month4K
Scale$199 a month2,000 a month4K
Volume$499 a month10,000 a month4K

New accounts get 10 credits, valid for 30 days. Plan minutes roll over for three months; pay-as-you-go minutes last 12 months. When you run out, rendering pauses until you top up. AI generation (images, video clips, voice, music) is charged separately per model, in credits.

Remotion is free for individuals, for-profit organisations with up to three employees, and non-profits, including commercial use. Larger for-profit teams need a Company License. On remotion.pro that is $0.01 per render with a $100 a month minimum for automation ("Remotion for Automators"), or $25 a month per seat for people making videos by hand ("Remotion for Creators"). An Enterprise License starts at $500 a month. You also pay for the compute that renders the video — your own server, Lambda or another host — which Remotion's licence does not include.

The two models reward different shapes of usage. Shotstack bundles rendering, hosting and the engine into one per-minute price. Remotion separates the licence from the compute, which you run and pay for yourself.

Rendering

RemotionShotstack
WhereAnywhere Node and a headless browser runShotstack's cloud
ParallelismLambda splits into chunks; Node uses --concurrencyRenders in parallel in the cloud
NotificationYour own code; Lambda progress via getRenderProgress()Polling or webhook
SandboxLocal Studio, freeStaging environment and API key
OutputFiles you own and hostShotstack CDN or your storage

Remotion's own performance notes are worth reading before you choose cloud hardware: GPU-heavy effects such as box-shadow, filter: blur(), gradients and WebGL are slow on cloud instances without a GPU, and VP8/VP9 encoding is much slower than H.264.

When Remotion wins

  • The video is made of interface. A product demo is buttons, inputs, cards, code and screenshots. Those are React and CSS already.
  • It belongs in your repo. The video is TypeScript: reviewed in pull requests, rendered in CI, edited by Claude Code or Cursor.
  • You want components, not a canvas. Install scenes instead of building them — for example snapcn, whose components copy into your project with npx shadcn@latest add @snapcn/<name>. A screen recording in a laptop frame is a product shot in two installs.
  • You are small. Up to three employees, the framework is free and you pay only for compute.

When Shotstack wins

  • The job is editing media, not drawing UI. Highlight reels, listing videos, slideshows and captioned clips assembled from footage you already have.
  • You do not want to run a renderer. No Chromium, no Lambda, no storage to manage: POST JSON, receive a URL.
  • Non-developers edit the template. Studio gives them a visual timeline on the same JSON your code renders.
  • You need an editor inside your product. The Studio SDK is a white-label editor; Remotion's Player plays compositions but is not a timeline editor.

For a product video

Pick Remotion. A launch or demo video is mostly your interface, and Remotion draws it with the same code you ship. Start from a product demo video in React. For other comparisons, see Remotion vs Creatomate, Remotion vs FFmpeg and Remotion vs After Effects.

Sources

FAQ

What is the difference between Remotion and Shotstack?

Remotion is a React framework. A video is a component, each frame is that component rendered at a frame number, and you render it yourself with the CLI, Node or AWS Lambda. Shotstack is a hosted video editing API. You POST a JSON edit describing clips on a timeline, Shotstack renders it in its cloud and returns a file.

How much does Shotstack cost?

Shotstack charges for minutes of rendered video. Pay as you go is $10 for 50 minutes; monthly plans run from Starter at $39 for 250 minutes to Volume at $499 for 10,000 minutes, and new accounts get 10 free credits valid for 30 days.

How much does Remotion cost?

Remotion is free for individuals, for-profit companies with up to three employees and non-profits. Larger companies need a Company License, priced per render for automation ($0.01 per render, $100 a month minimum) and per seat for manual creation ($25 a month per seat). You also pay for whatever infrastructure renders the video.

Which is better for a product demo video?

Remotion, usually. A product demo is UI, text and screen recordings, which Remotion draws with the same React and CSS as your app. Shotstack fits better when the job is assembling existing footage, images and audio into many variants without running render infrastructure.