Remotion or Sume Timeline: React code or a JSON document?
Remotion defines video as React code; Sume Timeline 1.0 assembles Sume-hosted clips from a JSON document. Where each fits, with limits read on 2026-10-10.

Pick Remotion when the video is a program: animated text, data-driven scenes, custom motion graphics. Pick Sume Timeline 1.0 when the video is an assembly: Sume-hosted clips laid on one audio track with transitions. They are not interchangeable, because Remotion lets you write any frame in React and Sume Timeline only arranges footage you already have.
Remotion's home page (read 2026-10-10) describes it as a way to "make videos programmatically" with React, where "code is always the source of truth". Sume's side comes from Timeline 1.0 and Timeline compose. Where Remotion is the better tool, this post says so.
What each one takes as input
With Remotion you write React components that structure, parameterize and animate the video, then render it on your own machine, a server, or a cloud function. The input to Sume Timeline 1.0 is a declarative JSON document: one audio spine plus an ordered video[] list. The server compiles ffmpeg from it, and callers never send filtergraphs, codecs or shell fragments.
| Question | Remotion | Sume Timeline 1.0 |
|---|---|---|
| How is a video defined? | React components | JSON: audio plus video[] slots |
| Custom animation or text effects? | Yes, you write them in code | No. Transitions are fade, wipeleft, wiperight, slideup, slidedown, dissolve |
| Where do clips come from? | Anything your code can load | Only this workspace's media.sume.com artifacts or assets |
| Two sources on screen at once? | Yes, layout is your code | Render a still-plus-video shot with Timeline compose first, then put the MP4 in video[] |
| Arbitrary ffmpeg or codec control? | Your own pipeline | Refused: filtergraph, ffmpeg_args, codec, crf return 400 |
Where Sume Timeline is simpler
Timeline 1.0 is one HTTP call for the common job of putting clips under a voice-over. The required fields are audio.duration_seconds (1 to 1800) and a video[] list of 1 to 200 slots, and every request needs an Idempotency-Key. There is no React project, no bundler and no render host to keep alive.
You can check a document before paying: POST /v1/timeline-1.0/plan compiles it and returns duration_seconds, segment_count and estimated_cost_usd_micros without creating a job. The public render rate is $0.10 per ceil output minute, and the docs say to confirm the live rate in GET /v1/catalog.
- Output defaults to 1080x1920 MP4;
output.widthandoutput.heightare even integers from 256 to 2160. - Soft problems such as a short source being padded or looped come back as
warnings[], not failures. - Poll
GET /v1/jobs/:id/status, then readGET /v1/jobs/:id/resultforvideo_url.
Where Remotion wins
If the video needs a chart that animates from your database, a lower third that follows a brand system, or a scene that reacts to data, Sume Timeline cannot do it. It has no text or shape layer, and it will not accept a clip from outside the workspace. Remotion also keeps the whole video in version control, which a JSON document you generate per request does not give you by default.
The trade is operations. A Remotion render needs somewhere to run, and its license has its own terms, covered in the Remotion Lambda post and the license break-even post.
A sensible split
Many teams do not choose one. Generate clips and a voice track with Sume, assemble them with Timeline, and keep Remotion for the intro, the animated lower thirds, or the data scenes that need code. Remotion's output is a file you can import to Sume with POST /v1/media-imports, and from there it is just another clip for the video[] list. Start with the unbilled plan call, look at billable_minutes, and decide from the numbers.
Sources
Related posts
More in Comparisons
- Runway's API lists 19 video ids: which ones have a Sume id?
Of 19 video ids on Runway's pricing page, 9 map to a Sume id by name, 2 are unconfirmed, and 8 have no Sume equivalent. Full mapping table with the Sume ids.
- Runway Gen-4.5 at $0.12 a second: nearest Sume rows by capability
Runway's API lists Gen-4.5 at $0.12 per second; Sume has no Gen-4.5 row. These Sume rows take text and image input, with 8-second prices to compare.
- Runway model routers vs sume/auto: what you can steer
Runway's routers pick a model by cost, latency or quality. Sume's sume/auto takes no preference, limits clips to 3-10 s and never names the family.
- Seedance 2.5 on Runway and on Sume: same 30 s, different pricing unit
Runway lists Seedance 2.5 up to 30 seconds from $0.20 per second. Sume bills tokens: about $2.69, $5.78 or $14.22 for 10 s at 480p, 720p, 1080p.
Written by Sume