What Remotion is
Remotion is a framework for making videos with React. Its homepage puts it in three words: “Make videos programmatically.” Instead of placing keyframes on a timeline, you write components. Remotion hands each render a frame number, and whatever the component draws for that frame is the picture (Remotion: the core idea).
A video is a composition: a component plus four numbers, its width, height, length in frames and frames per second. The first frame is 0 and the last is the length minus one. You preview compositions in Remotion Studio, in the browser, and render them to a file from the command line or from Node.js.
The pieces you use in every video
- useCurrentFrame() returns the frame being drawn. Everything that moves is a function of it.
- <Sequence> and <Series> place scenes on the timeline. Inside a sequence the frame count starts again at 0, so each scene can be written as if it opens the video (Sequence, Series).
- interpolate() maps the frame to a value: opacity from 0 to 1 over 20 frames, a position, a price. Clamping stops the value at the end of its range, and an easing curve shapes the motion in between (interpolate()).
- spring() is a physics-based animation that overshoots and settles, the kind of motion interfaces use (spring()).
- @remotion/transitions provides transitions between scenes (transitions).
- Props carry the data: text, prices, colors, language. Default props let you design without data, and input props replace them when you render (parameterized videos).
Because frames are drawn with React and web technology, anything a browser can draw can go in a frame: CSS, SVG, canvas, web fonts, and the components of a product that is already built in React.
The example: Superame’s 28.8-second commercial
Superame (superame.lol) is a public project ranking where position is bought in whole dollars: the highest verified total holds #1. Dardo designed and built the product (Superame case study), and we made its commercial, the example in this article.
It runs 28.8 seconds, in Spanish, on a white background, and it is built from Superame’s own interface: project cards, the bid panel with its “Superar” (outbid) button, and the ranking list. We added it to dardo.studio on 14 September 2026, and a muted 1280 × 720 cut plays in the Superame tile of our portfolio.
The file says how it was made. Remotion writes “Made with Remotion” and its version into the comment field of the files it renders (Remotion: video metadata), and this one reads “Made with Remotion 4.0.520”.
Scene by scene
We timed the scenes from frames extracted from the file, two per second and ten per second around the bid, so each boundary is accurate to about half a second.
| Time | On screen | Interface it uses |
|---|---|---|
| 0:00–0:05 | “Lo lanzaste.” (You launched it.) A card for “Tu proyecto” marked Publicado (published); a friend’s comment, “Está brutal.” (It’s amazing.), appears below it. | Project card, comment |
| 0:05–0:06 | The card tilts away and its status gives way to a price: $650. | Project card |
| 0:06–0:10 | “¿Y el resto?” (And everyone else?) The card is lost among many other project cards, each with a price. | Listing cards |
| 0:10–0:12 | The view straightens on the card: #4, $650. | Listing card |
| 0:12–0:16 | The bid panel opens at “Tu oferta $650” (your bid). The link field fills in, the bid counts up to $781, the cursor presses “Superar” and the button turns green: “Listo” (done). | Bid panel |
| 0:16–0:19 | The ranking list. The project passes #3 and #2 and takes #1 at $781, above $742, $698 and $655. | Ranking list |
| 0:19–0:22 | “Sí. El tuyo.” (Yes. Yours.) The #1 card turns into a gradient card. | #1 card |
| 0:22–0:25 | “Que te vean.” (Let them see you.) | Type only |
| 0:25–0:28.8 | The superame.lol wordmark types itself in, with the line “hazte ver.” (get seen.) | Wordmark |
The other cards in the video are stand-in listings.
The file as delivered
| Property | Value |
|---|---|
| Length | 28.8 seconds, 1,728 frames |
| Frame size | 1920 × 1080 (16:9) |
| Frame rate | 60 fps |
| Video | H.264, High profile, about 3.3 Mbps |
| Audio | AAC-LC, stereo, 48 kHz |
| File | 12.9 MB MP4 with fast start (the index sits at the front, so playback starts before the download ends) |
| Metadata comment | Made with Remotion 4.0.520 |
Source: ffprobe on the published file (superame-your-project-v33.mp4), read on 29 October 2026.
Why this commercial suits code
Three things about this video make code a good fit. They are also the questions to ask about your own launch video.
It is made of interface
Every scene is a card, a panel, a list or a line of type, which is what the product itself is made of. When a product is built in React, Remotion can render its real components with its own fonts and colors instead of redrawn screenshots. When it isn’t, interface is still boxes, type and numbers, which HTML and CSS draw precisely. A video of faces, hands or illustrated characters has no components to reuse.
Its numbers have to agree
The bid counts up from $650 to $781, and two scenes later the same $781 sits on the #1 card, above the $742 that held the top spot. The ad follows the product’s rule: the highest total holds #1. In code, one value can feed every scene, so a new price changes every scene on the next render, and the order of the list can be computed instead of placed by hand.
The counter passes through $651, $655, $673, $702, $741, $770 and $780 before it settles: fast in the middle, slow at both ends. In Remotion, that kind of count-up is an interpolate() call on the frame number with an easing curve, rounded to whole dollars.
It may need versions
Superame runs in Spanish, Portuguese and English, and the commercial exists in Spanish, as one 16:9 file. With the text, prices and project name as props, an English or Portuguese cut is another set of props and another render, plus a check that the longer lines still fit. A 4:5 or 9:16 version works the same way, except that its layout has to be designed for the new frame (see the formats below).
How each beat maps to Remotion
We aren’t publishing the project’s source, so this table is not a copy of our files. It lists the documented Remotion tool for each kind of beat in the commercial.
| Beat in the commercial | Remotion tool |
|---|---|
| Scenes in a fixed order | <Series> or <Sequence> with a start frame and a length |
| Lines of type fading and sliding in | interpolate() on the frame, clamped, with easing |
| The bid counting from $650 to $781 | interpolate() with an easing curve, rounded to whole dollars |
| Cards that overshoot and settle | spring() |
| Transitions between scenes | <TransitionSeries> from @remotion/transitions |
| Project name, prices, language | Default props, replaced by input props at render time |
Code or After Effects?
After Effects and other motion-design tools aren’t an older way to do the same job; they are better at different work. They also handle versions: an After Effects author can expose text, colors and numbers in a Motion Graphics template that editors change in Premiere Pro. After Effects can drive animation from JSON, CSV and TSV files, and data-driven templates take spreadsheet data in Premiere (After Effects data-driven animation, data-driven templates in Premiere). The difference is what the video is made of and where it lives.
| Situation | Code (Remotion) | After Effects or another motion tool |
|---|---|---|
| The video shows your software’s interface | Renders real components with real data | Rebuilds the interface from screenshots or design files |
| Numbers and lists that must match across scenes | One value feeds every scene; the order can be computed | Kept in step by hand, or by expressions reading a data file |
| Many versions: languages, prices, sizes | Props, and a render loop over a dataset | Motion Graphics templates with editable text, colors and numbers |
| Character animation, illustration, hand-keyed timing | Possible, but every curve is code | Built for it |
| Filmed footage, compositing, effects | Can play and layer video files, but it is not a compositor | Built for it |
| Changes after delivery | A developer, or anyone using the props controls in Remotion Studio | A motion designer, or an editor using a template |
| Review and history | Plain text files: diffs, pull requests, automated renders | Project files opened in the application |
Our rule of thumb: if the frames are mostly interface, type and numbers, write them; if they are mostly people, drawings or texture, animate them by hand. The two also combine. Remotion can render ProRes 4444 with an alpha channel, which Premiere Pro, Final Cut Pro and DaVinci Resolve open, so an interface sequence made in code can go into a video edited by hand (Remotion: transparent videos).
Rendering: one machine or the cloud
The command line renders a composition to a file. Without options it encodes H.264, the codec with the widest browser support in Remotion’s encoding guide. The --crf flag trades file size for quality, --props passes data from a JSON file, and --scale renders larger or smaller than the composition (CLI render options).
npx remotion render src/index.ts LaunchVideo out/launch-en.mp4 --props=./props/en.jsonFor many versions, Remotion’s Node.js APIs loop over a dataset: select the composition for each entry, then render it with that entry as its input props (render a dataset).
Remotion Lambda renders on AWS by splitting the video into small parts that many Lambda functions render in parallel, then joining them and uploading the result to S3. Remotion calls it the fastest and most scalable way to render its videos; the documented limits include about 80 minutes of Full HD video per render and no AV1. Remotion Cloud Run, the Google Cloud equivalent, is in alpha and, in Remotion’s words, “not actively being developed”, so we wouldn’t start a new pipeline on it.
For a single launch video of about 30 seconds, rendering on one machine with the CLI is the documented starting point. Cloud rendering earns its setup when you render many versions, or render on demand.
Sound, captions and formats
Audio
Audio files go in the project’s public folder and play through the <Audio> component. More tags mix more tracks, volume can follow the frame through interpolate() (a one-second fade-in is the documented example), and trimBefore picks a section of a file (importing audio, controlling volume). The Superame file carries a stereo AAC track at 48 kHz.
Captions
@remotion/captions works with transcriptions from Whisper.cpp on a server, Whisper in the browser, or the OpenAI and ElevenLabs APIs (transcribing audio). Captions can be burned into the picture or exported as an .srt file next to the render (exporting subtitles).
Sound off
Facebook lets each person choose whether feed videos start with sound (Facebook Help), and Meta’s Facebook Feed video spec lists captions as “optional, but recommended” (Meta ads guide). LinkedIn lists captions as optional (LinkedIn video ad specs). A launch video has to make sense muted. Superame’s does: its message is carried by on-screen text, “Lo lanzaste.”, “¿Y el resto?”, “Sí. El tuyo.”, “Que te vean.”, and the same cut plays muted in our portfolio.
Formats
| Where | What the platform’s own page says | What it means for a 16:9, 60 fps file |
|---|---|---|
| YouTube | 16:9 is the standard on computers; vertical and square uploads also play. Recommended upload: MP4 with fast start, H.264, AAC-LC at 48 kHz, and 12 Mbps for 1080p at 48 to 60 fps. | Superame’s web file is about 3.3 Mbps, sized for a web page. For a YouTube upload, render a higher-bitrate master from the same project. |
| Facebook Feed ads | 4:5 at 1440 × 1800 px; captions and sound “optional, but recommended”. | A 4:5 layout of its own, not a crop of the 16:9 one. |
| LinkedIn video ads | 4:5, 9:16, 16:9 and 1:1; 30 fps recommended; captions optional. | The 16:9 file fits. A 30 fps version is a composition setting, if animations are timed with the fps value rather than fixed frame counts. |
Remotion’s own example registers the same component twice, at 1920 × 1080 and at 1080 × 1920 (the core idea). That makes a vertical version easy to render, not to design: Superame’s cards are wide, so a 4:5 or 9:16 cut would need its own layout.
Who needs a Remotion license
Remotion’s source is public, but it isn’t free for every company. Its license has two tiers:
- Free License: individuals, for-profit organizations with up to 3 employees, non-profits, and anyone evaluating Remotion who isn’t using it commercially yet. Commercial use is allowed.
- Company License: everyone else, which in practice means companies of 4 or more people.
| Plan | Price on remotion.pro (29 October 2026) | Meant for |
|---|---|---|
| Remotion for Creators | USD 25 a month per seat | People who write Remotion code, by hand or with coding agents, to make videos |
| Remotion for Automators | USD 0.01 per render, USD 100 a month minimum | Automated pipelines, video apps, and cloud rendering on Lambda or Cloud Run |
| Enterprise | From USD 500 a month | Custom terms, a private support channel, consulting |
Prices from remotion.pro.
If a studio makes your video
Remotion’s license FAQ answers this directly. If you receive only the finished file, such as an MP4, your company isn’t a user of Remotion and your headcount doesn’t count: the studio needs a Company License if it has 4 or more people, and the Free License covers it otherwise. If you own or operate the Remotion project, for example to render new versions yourself, both companies’ headcounts are added together, and the license is bought by whoever owns the project’s intellectual property; the studio can administer it for you.
The license file also says the terms change with Remotion 5.0. The pull request with the new text lists two changes: contractors count toward team size, and the company license is bound to Remotion’s terms and conditions. This is a summary, not legal advice; read the license and the FAQ for your own case.
What to have ready before you brief a launch video
- The interface you want to show, as it ships: screens, components, the design system.
- The story in five to eight beats, with the line of text each beat carries.
- The numbers that have to agree across scenes, and the product rule they follow.
- Every version you will need (languages, aspect ratios, lengths), decided before the first render, not after.
- The sound plan: music license, voice, captions.
- Where the video will run, and each platform’s spec.
- Who owns the project after delivery, which decides who needs the Remotion license.
What this example doesn’t show
We are publishing the finished file, not the project behind it. This article doesn’t describe its source code or how its compositions are organized, how long it took, what its audio track contains, what it cost or how many people saw it, and it claims no results from it. The scene times come from frames we extracted, accurate to about half a second. The commercial exists in Spanish and in 16:9; the other versions discussed above are what code makes possible, not files that exist.
How Dardo can help
We design and build products, and the videos that launch them: product launch videos made in code from your real interface, and product design for the interface itself. The Superame case study shows the product behind this commercial. If the video is part of a wider launch, our rebrand launch checklist covers the website and brand rollout around it, and SaaS website best practices covers the product pages a SaaS site needs. Tell us about your launch.
Common questions
What is Remotion used for?
Making videos with React: product and launch videos, social clips, data-driven and personalized videos, and video features inside apps. Each frame is a React render for a frame number, and Remotion renders the frames to MP4 or other formats.
Is Remotion free for commercial use?
Yes for individuals, for-profit organizations with up to 3 employees, non-profits, and anyone still evaluating it, including commercial work. Companies of 4 or more people need a Company License; on 29 October 2026, Remotion for Creators cost USD 25 a month per seat.
Do I need a Remotion license if an agency makes my video?
Not if you only receive the finished file. Remotion's license FAQ says your headcount doesn't count in that case; the agency needs a license if it has 4 or more people. If you own or run the Remotion project yourself, both headcounts are combined and the owner of the project buys the license.
Is Remotion better than After Effects?
It is better at different work. Remotion suits videos made of interface, type and numbers, and videos needed in many versions. After Effects suits character animation, illustration, filmed footage and effects. They combine: Remotion can render transparent ProRes for a video edited by hand.
How do you render a Remotion video?
With the CLI: npx remotion render, followed by the entry point, the composition ID and the output file. It encodes H.264 by default. Node.js APIs render from scripts, and Remotion Lambda renders on AWS by splitting the video across many functions.
Can one Remotion project make vertical and square versions?
Yes. Register the same component as another composition with a different width and height. Rendering it takes one more composition; the layout still has to be designed for the new frame, because a layout made for 16:9 doesn't fit 9:16 unchanged.
Can Remotion add captions?
Yes. @remotion/captions works with transcriptions from Whisper.cpp, Whisper in the browser, or the OpenAI and ElevenLabs APIs, and captions can be burned into the video or exported as an .srt file.
Can someone who doesn't code edit a Remotion video?
Partly. Remotion Studio shows controls for a composition's default props, so text, numbers and colors set up as props can be changed and previewed without touching code. Changes to timing and layout still go through the code.
Sources & further reading
Sources behind this page, with further detail from the original publishers.
- Remotion: the core idea (compositions, frames)remotion.dev
- Remotion: <Sequence>remotion.dev
- Remotion: <Series>remotion.dev
- Remotion: interpolate()remotion.dev
- Remotion: spring()remotion.dev
- Remotion: @remotion/transitionsremotion.dev
- Remotion: parameterized videos (props)remotion.dev
- Remotion: render videos from a datasetremotion.dev
- Remotion: npx remotion renderremotion.dev
- Remotion: encoding guideremotion.dev
- Remotion: setting video metadataremotion.dev
- Remotion: transparent videosremotion.dev
- Remotion Lambdaremotion.dev
- Remotion Cloud Runremotion.dev
- Remotion: importing audioremotion.dev
- Remotion: controlling volumeremotion.dev
- Remotion: transcribing audio for captionsremotion.dev
- Remotion: exporting subtitlesremotion.dev
- Remotion license (LICENSE.md)github.com
- Remotion license FAQremotion.dev
- Remotion pricing (remotion.pro)remotion.pro
- Remotion 5.0 license changes (pull request #3750)github.com
- Adobe: data-driven animation in After Effectshelpx.adobe.com
- Adobe: create Motion Graphics templates in After Effectshelpx.adobe.com
- Adobe: data-driven Motion Graphics templates in Premierehelpx.adobe.com
- YouTube: recommended upload encoding settingssupport.google.com
- Meta ads guide: Facebook Feed video specsfacebook.com
- Facebook Help: automatic sound for videos in Feedfacebook.com
- LinkedIn: video ad specsbusiness.linkedin.com
- Superame commercial, the published file (Dardo)dardo.studio
