Remotion turns React components into videos. It is a great framework, and with its Claude Code plugin and agent skills it has become one of the most common ways to make videos with coding agents. But once the first video works, three questions follow: where do the videos render, how much does it cost per video, and do we need a company licence?

JSON2Video answers those questions differently. A video is a JSON document, the rendering runs on our cloud, and the price is per second of output. Claude Code (or any script, n8n or Make) writes the JSON; you get back an MP4 URL.

Short answer

  • Pick Remotion if you want full creative control in React, you have React developers, and you are happy to run the rendering yourself (locally, on AWS Lambda or on your own servers).
  • Pick JSON2Video if you want to generate many videos from data (sheets, CMS, product feeds, scripts), from any language or no-code tool, with voice-overs and subtitles built in and no rendering infrastructure to run.

Try it free — 600 credits (10 minutes of video) →


JSON2Video vs Remotion at a glance

JSON2Video Remotion
What it isCloud API: send JSON, get an MP4React framework: write components, render them yourself
How you describe a videoJSON (scenes and elements)React / TypeScript code
Where it rendersOur cloud, included in the priceYour machine, AWS Lambda, Cloud Run or your servers
Use from Claude CodeMCP server: Claude writes JSON, validates it and renders it in our cloudPlugin and agent skills: Claude writes React code, you render it
Use without coden8n and Make nodes, visual editorNo
Voice-overs and subtitlesBuilt in (Azure and ElevenLabs voices, auto subtitles)Bring your own TTS service; captions via @remotion/captions
Creative freedomTemplates, components, HTML elementsAnything React can draw
LicencePlain subscription or one-off packsFree for individuals and companies of up to 3 people; a Company License from 4 people
PricingPer second of output, rendering includedLicence + your own compute

Making videos with Claude Code: the two workflows

Most people who search for a Remotion alternative today are not leaving React. They asked Claude Code (or Cursor) to build a video, it worked, and now they want to make the next 50 videos. That is where the two tools behave very differently. (For every way Claude can make videos, not only with Remotion, see Making videos with Claude.)

With Remotion

  1. Install Remotion's Claude Code plugin (claude plugin marketplace add remotion-dev/claude-code-plugin, then claude plugin install remotion@remotion), or add its agent skills to a Remotion project with npx skills add remotion-dev/skills.
  2. Claude writes React compositions: components, useCurrentFrame(), interpolate(), sequences and timings in frames.
  3. You preview in Remotion Studio and render on your own machine (Remotion's render skill runs the local renderer), or you set up Remotion Lambda in your AWS account (IAM role, S3 bucket, deployed function) to render at scale. Remotion does not host the rendering for you.
  4. For many videos, you write the code that feeds data into the composition and calls the renderer.

The result is a codebase. It is flexible, and you own it, including its maintenance. Remotion's old MCP server only answered documentation questions and is deprecated, so rendering always goes through your machine or your Lambda.

With JSON2Video

  1. Install the CLI and connect it to Claude Code in one command:
    npm install -g @json2video/cli
    json2video auth --api-key YOUR_API_KEY
    json2video mcp install claude
  2. Ask Claude for the video in plain words. Claude writes a movie JSON, checks it with the validate_movie tool, and renders it with render_video.
  3. Claude polls check_status and gives you the MP4 URL. Nothing renders on your machine.
  4. To make more, Claude turns the fixed texts into {{variables}}. The same JSON then renders once per row of a spreadsheet, from a script, n8n or Make.

The result is a JSON template. A non-developer can change it in the visual editor, and it runs the same way from any tool.

This is the kind of JSON Claude writes for a vertical short with a voice-over and word-by-word subtitles. It is valid as is, and the three variables are what you change for each new video:

{
  "resolution": "instagram-story",
  "variables": {
    "headline": "3 tips to sleep better",
    "script": "Keep the same bedtime every day. Put your phone away one hour before sleeping. Keep your bedroom cool and dark.",
    "background": "https://cdn.json2video.com/assets/images/sample-house-bedroom.jpg"
  },
  "elements": [
    {
      "type": "subtitles",
      "language": "en",
      "settings": { "style": "boxed-word", "font-size": 90, "position": "bottom-center" }
    }
  ],
  "scenes": [
    {
      "elements": [
        { "type": "image", "src": "{{background}}", "zoom": 2 },
        { "type": "text", "text": "{{headline}}", "style": "003", "position": "top-left", "x": 60, "y": 120 },
        { "type": "voice", "text": "{{script}}", "voice": "en-US-AndrewMultilingualNeural" }
      ]
    }
  ]
}

Notice what is not there: no frame numbers and no durations. The scene lasts as long as the voice-over, and the subtitles are transcribed from it. In Remotion, you would compute the audio length and set durationInFrames yourself.

Agents also get machine-readable docs: llms.txt, the full docs as llms-full.txt, the movie JSON Schema and an OpenAPI spec. See the MCP server guide for Cursor and VS Code.


Is Remotion free? Licence and pricing explained

Remotion's source code is public, but it is not free for everyone. According to its licence (checked on 17 October 2026):

The licence covers the right to use the software, not the computers that render it. That cost comes on top.

Sources: remotion.pro/license, LICENSE.md, Remotion licence FAQ.


What rendering costs

Remotion recommends Lambda for most people. Its own cost example (2,048 MB, us-east-1) puts a 1-minute video at about $0.017–0.021 and a 10-minute HD video at about $0.10. That is Lambda compute only: S3 storage, data transfer and CloudWatch are billed separately by AWS. Lambda has no GPUs, and Remotion's Cloud Run option is in alpha and not actively developed.

JSON2Video charges one credit per second of rendered video, with the rendering, the managed voice-overs and the subtitles included. The free account has 600 credits (10 minutes of video, with a watermark). The Professional plan is $49.95 a month for 12,000 credits, which is 200 minutes of video. Failed renders are not charged.

Example volume JSON2Video Remotion
Trying it outFree: 10 minutes of video (watermarked)Free, rendering on your own machine
200 shorts of 60 s a month, team of up to 3$49.95 a month (Professional), voice-overs includedNo licence fee + about $4 of Lambda compute + AWS extras + your TTS service
200 shorts of 60 s a month, company of 4+$49.95 a month (Professional), voice-overs included$100 minimum (Automators) + about $4 of Lambda compute + AWS extras + your TTS service
500 shorts of 60 s a month, company of 4+$99.95 a month (Startup), voice-overs included$100 minimum (Automators) + about $9–11 of Lambda compute + AWS extras + your TTS service

Being honest about the numbers: for a team of up to three people that already writes React, Remotion is cheaper in cash, because the licence is free and Lambda compute is cheap. The comparison changes for companies of four or more, when you need voice-overs (an ElevenLabs or Azure account billed separately), or when nobody wants to own an AWS pipeline.

The bigger cost is usually people's time. With Remotion, somebody owns the rendering pipeline: the Lambda deployment, the S3 bucket, retries, logs and version upgrades. With JSON2Video, that part does not exist.


From a Remotion composition to JSON

Most data-driven Remotion compositions follow the same pattern: a background, a title, a voice-over and captions, with props filled from data. This is a simplified example of such a composition:

export const Short: React.FC<{headline: string; background: string; audioSrc: string}> = ({headline, background, audioSrc}) => {
  const frame = useCurrentFrame();
  const opacity = interpolate(frame, [0, 15], [0, 1]);
  return (
    <AbsoluteFill>
      <Img src={background} style={{width: '100%', height: '100%', objectFit: 'cover'}} />
      <h1 style={{opacity, position: 'absolute', top: 120, left: 60, color: 'white'}}>{headline}</h1>
      <Audio src={audioSrc} />
    </AbsoluteFill>
  );
};
// Plus: generate audioSrc with a TTS service, measure its length,
// set durationInFrames in the <Composition>, and add a captions component.

In JSON2Video, the same video is the JSON shown above. The mapping is direct:

Remotion JSON2Video
<Composition> propsvariables on the movie or the scene
<Sequence>A scene in scenes
<Img>, <Video>, <Audio>image, video, audio elements
Text with interpolate() animationstext element with an animated style
An external TTS call + audio lengthvoice element (the scene adapts to its length)
@remotion/captions + a captions componentsubtitles element (auto-transcribed)
Custom React / CSShtml element (HTML and Tailwind)

What does not translate: complex frame-by-frame logic, physics, 3D (Three.js) and fully custom motion design. If your videos depend on those, stay with Remotion.


When Remotion is the better choice

JSON2Video is the better fit when the job is many similar videos from data, when non-developers need to change templates, or when you would rather not run a rendering pipeline.


Get started

  1. Create a free account and copy your API key. No credit card needed.
  2. Connect Claude Code with json2video mcp install claude, or call the API directly:
    curl -X POST https://api.json2video.com/v2/movies \
      -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d @short.json
  3. Change the variables and render again. That is your template.

Moving from Remotion? We'll help for free

Send us a short description of your Remotion setup and we will translate one of your compositions into a JSON2Video template for you, free of charge.


Frequently asked questions

Can Claude Code make videos without Remotion?

Yes. With the JSON2Video MCP server connected (json2video mcp install claude), Claude Code writes the video as JSON, validates it, renders it in the cloud and returns the MP4 URL. No React project and no local rendering are needed.

Is Remotion free?

For individuals, non-profits and for-profit companies with up to 3 employees, yes, including commercial use. Companies with 4 or more people need a Company License: $25 a month per seat for creators, or $0.01 per render with a $100 monthly minimum for automation, and from $500 a month for enterprise. In every case you also pay for the computers that render the videos, such as AWS Lambda.

Does Remotion have an MCP server for Claude?

Remotion's MCP server only answered documentation questions and is deprecated. To use Remotion from Claude Code, you install its Claude Code plugin or agent skills; Claude then writes React code and the video renders on your machine or on your own Lambda. The JSON2Video MCP server renders in the cloud and returns the MP4 URL.

Do I need to know React to use JSON2Video?

No. Videos are JSON documents sent to a REST API. Any language that can make an HTTP request works, and so do n8n, Make and the visual editor.

Can JSON2Video do everything Remotion can?

No. Remotion can draw anything React can, frame by frame. JSON2Video is built for template-based videos: scenes, images, video clips, text animations, HTML elements, voice-overs and subtitles. It is simpler and faster for data-driven videos, and less flexible for bespoke motion design.

Do I have to run servers or AWS Lambda with JSON2Video?

No. Rendering runs on JSON2Video's cloud and is included in the price per second of video. You send the JSON and receive a URL to the MP4, or a webhook when it is ready.

Can I make videos from a Google Sheet or a CMS?

Yes. Put the changing texts and URLs in variables and render the same template once per row, from a script, from n8n or from Make.

What are the alternatives to Remotion?

Other code frameworks: Motion Canvas and Revideo (TypeScript), MoviePy (Python) and FFmpeg. Managed video APIs, where the rendering is done for you: JSON2Video, Creatomate and Shotstack. Choose a framework for full control, and an API to avoid running the rendering yourself.

Published on April 20th, 2026

Author
Joaquim Cardona
Joaquim Cardona Senior Internet business executive with more than 20 years of broad experience in Internet business, media sector, digital marketing, online video and mobile technologies.