# Remotion vs HyperFrames vs vawe

> Remotion writes video in React; HyperFrames and vawe use HTML. A sourced three-way comparison of authoring, time, licence, rendering and agents.

Canonical: https://vawe.dev/compare/remotion-vs-hyperframes
Last updated: 2026-11-03

Three tools make video from code. Remotion uses React components. HyperFrames and vawe use HTML. This page compares the three on authoring, how each handles time, licence, rendering targets and agent support. It also says where each one is stronger.

Every fact about Remotion and HyperFrames was read from that project's own docs or repository on 2026-11-03. The sources are listed at the end. vawe is the site's own project, so the page leans on what it can check in its own repo.

## Which one to choose

### Choose Remotion when

- Your team writes React and wants video in the same component model.
- You need an embeddable Player, a Studio editor, or rendering on AWS Lambda.
- Your company has three people or fewer, or you can buy a Company License. Non-profits are free.

### Choose HyperFrames when

- You want an Apache-2.0 HTML-to-video tool with a Studio and desktop apps.
- You like frame-by-frame seeking driven by GSAP, CSS or other seekable animations.
- You want render targets that include AWS Lambda.

### Choose vawe when

- You want an agent to write the film as one plain HTML page, with no timing attributes in the markup.
- You want the clock, timers and Math.random replaced for you instead of forbidden.
- You want a library of 130 video components, motion blur and a critique step by a second session.

## Side by side

| feature | Remotion | HyperFrames | vawe |
| --- | --- | --- | --- |
| What it is | A framework to make videos programmatically. Its site says: create videos and motion graphics with React. | An open-source framework that turns HTML into video. An agent builds the project; HyperFrames plays or renders it. | A framework that renders one HTML page to a film. |
| Authoring model | React components inside a Composition with id, component, durationInFrames, fps, width and height. | HTML files with data attributes for timing; animation by seekable libraries. | One HTML page. Timing from CSS keyframes, element.animate() or a window.seek(t) function. |
| Licence | The Remotion License: free for individuals and small companies, paid above that. GitHub reports no SPDX id. | Apache-2.0 | Apache-2.0 |
| Cost for a company of 4 or more | Company License: $0.01 per render with a $100 a month minimum (Automators), or $25 a month per seat (Creators). Free for individuals, non-profits and up to three people. | None. The README says: no per-render fees or commercial-use thresholds. | None. Apache-2.0. |
| How a frame gets its content | The component reads useCurrentFrame() and returns the frame. | The engine computes the time from the frame number and calls seekFrame(frame). GSAP timelines are paused and seeked, never played. | The renderer seeks the page to each frame time. CSS and Web Animations follow the seek, or window.seek(t) paints frame t. |
| Wall-clock and random calls in the page | Math.random() breaks at render; use random(seed). | Forbidden: Date.now(), requestAnimationFrame, system timers, unseeded Math.random. | Allowed. A virtual clock replaces Date, requestAnimationFrame, timers and Math.random with functions of the seek time. |
| Render targets | CLI (npx remotion render), Studio, server-side API, AWS Lambda, GitHub Actions. Cloud Run is in alpha and not actively developed. | Local CLI, Docker and AWS Lambda (README); HeyGen cloud and Google Cloud Run (its comparison guide). | Your own machine only. |
| Editor and preview | Remotion Studio to preview, edit and render; a Player to embed a video in an app. | A browser Studio (listed as available, evolving) and desktop apps. | No timeline editor. bin/vawe dev --studio gives a scrubbable preview that edits the page’s literals. |
| Agent support | Agent Skills (npx skills add remotion-dev/skills), Agent Plugins and WebMCP, listed on its site. | 8 published skills in its README, with /hyperframes as the entry point. | bin/vawe CLI, skills for brief, page, transitions, critique and reference, and a critique by a session that did not write the page. |

## How each one handles time

**Remotion.** A video is a function of the frame number. The component calls useCurrentFrame() and useVideoConfig() for fps and durationInFrames, then returns what that frame shows.

**HyperFrames.** The engine requests each exact frame. The frame time is floor(frame) / fps in integer math, and the animation library is told to seek to it. Because time is never read live, the docs forbid the calls that read it.

**vawe.** The renderer sets the page time for every frame. A virtual clock owns Date, requestAnimationFrame, timers and Math.random, so a page may call them and still render the same frames in any order.

## Where each one is stronger

### Remotion

- The Player and the Studio: you can embed a video in a React app or edit it in a visual editor.
- Documented distributed rendering on AWS Lambda, where many functions render parts of the video and one stitches them.
- Size of the project: about 70,000 GitHub stars on 2026-11-03.

### HyperFrames

- Apache-2.0 plus a Studio and desktop apps.
- More render targets in its own docs than vawe has.
- Size of the project: about 77,600 GitHub stars on 2026-11-03.

### vawe

- Ordinary web code keeps working, because time is replaced and not forbidden.
- A library of 130 video components with a snippet for each.
- Critique and judging by a session that did not write the page.

## Questions

### Which is better, Remotion or HyperFrames?

It depends on the team. Remotion fits a React team that needs a Player or Lambda rendering. HyperFrames and vawe fit a team that wants HTML. Remotion’s licence also asks a company of four or more to pay.

### Is HyperFrames a Remotion alternative?

Yes. HyperFrames publishes a comparison guide and a skill named /remotion-to-hyperframes. Both are listed in its README. The authoring model differs: React for Remotion, HTML for HyperFrames.

### Can an AI agent use all three?

Yes. Remotion lists Agent Skills, HyperFrames lists 8 skills, and vawe ships a CLI and skills. An agent can also write plain HTML for HyperFrames or vawe without a framework to learn.

### Do I need to avoid Date.now() and Math.random?

In HyperFrames, yes: its determinism page forbids them in a composition. In vawe, no: a virtual clock replaces them. Remotion’s docs say Math.random() breaks at render and offer random(seed).

### Which one renders in the cloud?

Remotion and HyperFrames both list AWS Lambda. HyperFrames' own guide also lists HeyGen cloud and Cloud Run. vawe renders on your machine only.

## Sources (read 2026-11-03)

- [Remotion site](https://www.remotion.dev/)
- [Remotion fundamentals](https://www.remotion.dev/docs/the-fundamentals)
- [Remotion render docs](https://www.remotion.dev/docs/render)
- [Remotion randomness docs](https://www.remotion.dev/docs/using-randomness)
- [Remotion Lambda docs](https://www.remotion.dev/docs/lambda)
- [Remotion Cloud Run docs](https://www.remotion.dev/docs/cloudrun)
- [Remotion Agent Skills docs](https://www.remotion.dev/docs/ai/skills)
- [Remotion LICENSE.md](https://raw.githubusercontent.com/remotion-dev/remotion/main/LICENSE.md)
- [Remotion licence and pricing](https://www.remotion.pro/license)
- [Remotion on GitHub (stars, licence field)](https://github.com/remotion-dev/remotion)
- [HyperFrames introduction](https://hyperframes.heygen.com/introduction)
- [HyperFrames determinism](https://hyperframes.heygen.com/concepts/determinism)
- [HyperFrames vs Remotion guide](https://hyperframes.heygen.com/guides/hyperframes-vs-remotion.md)
- [HyperFrames README](https://raw.githubusercontent.com/heygen-com/hyperframes/main/README.md)
- [HyperFrames on GitHub (stars)](https://github.com/heygen-com/hyperframes)

## Try vawe on one page.

Write a page, run one command, get an MP4.

## Related

- [HTML to MP4 with Claude Code](https://vawe.dev/docs/html-to-mp4-with-claude-code)
- [Star vawe on GitHub](https://github.com/vawe-hq/vawe)
- [vawe vs Remotion](https://vawe.dev/vs/remotion)
- [vawe vs HyperFrames](https://vawe.dev/vs/hyperframes)
- [vawe vs Revideo](https://vawe.dev/vs/revideo)
- [Claude Code with Remotion or plain HTML](https://vawe.dev/blog/claude-code-remotion-or-html)
- [Remotion alternatives, by category](https://vawe.dev/remotion-alternatives)
- [How vawe keeps renders deterministic](https://vawe.dev/determinism)
