Render video from your app.
Build a composition in HTML, CSS or React and render it to MP4 in the browser, from the CLI or in the cloud. Produce one video or large batches of outputs through the same workflow.
- Assets and data
- Your composition
- MP4 video
Build the video with your existing tools
Elements gives HTML, CSS and React a video timeline. Combine footage, text, graphics, audio and data in a composition you can preview and change.
Keep layout and timing in code. Supply different assets or records to create clips, annotated videos, ads or personalized content without rebuilding the design.
One composition. Many outputs.
Run render jobs independently in parallel. Generate batches of clips, annotated videos, ads or personalized content without provisioning or managing rendering workers.
Applications, agents and automated workflows can submit work through the cloud API. Track each render from creation to completion; Editframe manages the compute behind it.
Jobs run within your organization's concurrent-render limit. Throughput and completion time depend on the workload and available capacity.
- One composition
- Independent jobs
- Separate MP4s
Choose where the render runs
The same composition runs in the browser, on a developer machine or through the cloud. Choose the execution path that fits your product.
| Detail | Browser | CLI | Cloud |
|---|---|---|---|
| Best for | MP4 export inside your app | Local development and scripted renders | Server-side generation and parallel batches |
| Runs in | The user's browser | Headless Chrome on your machine | Editframe-managed workers |
| Requires | WebCodecs and a supported encoder | macOS or Linux x86-64 | HTTPS requests from your server |
| Output | MP4 bytes in your page | An MP4 on your computer | Status updates and an authenticated MP4 download |
| Account | None | None | Editframe account, by request |
Generate video from your server
Send HTML or a bundled composition with the assets and data for each video. Editframe renders the output; your system tracks the job and delivers the result.
Your server uses an authenticated MP4 download, then makes the output available through your application's storage or media route.
createRender.js
import { Client, createRender } from "@editframe/api";
import { readFile } from "node:fs/promises";
const client = new Client(process.env.EDITFRAME_API_KEY);
const compositionHTML = await readFile("./composition.html", "utf8");
const render = await createRender(client, {
html: compositionHTML,
metadata: { recordId: "record-001" },
});
// Track render.id or subscribe to webhooks
console.log(render.id, render.status);Scale rendering without scaling your team
Cloud rendering provides independent execution, job tracking and managed workers for batches of video output. Use it for automated clips, data-driven videos, application exports and generated content.
Talk to us about the volume and concurrency your application needs. Each render follows the same API limits, whether submitted individually or as part of a batch.
Render limits- Your records
- Shared composition
- One MP4 per record
- Up to 1 hour and 432,000 frames per render
- Up to 8,192 pixels per side and 120 fps
- Inline HTML up to 512 KiB, or an uploaded bundle
Build the video. Let Editframe handle the rendering.
Start with a composition you can render locally with no account, or talk to us about cloud access and large-volume output.