editframe/cloud

Scale to thousands of renders.
No render pipeline to build.

Submit a composition. Get an MP4 in about a minute. We handle the encoding infrastructure, no video engineering required.

Any length video

~1 min

Parallel rendering

No ops

No backend

No devops, no lambdas

Parallel jobs

1,000+

Submit in bulk

On completion

Webhook

Fire and forget

Free to develop locally. Only pay when you ship. See pricing →

How it works

Trigger from your app or your terminal.

SDK — from your server

Trigger renders from your backend

Bundle your composition and submit it in a few lines of JS. Your webhook gets the MP4 URL when it's done. No polling, no waiting around.

import * as api from '@editframe/api'
import { bundleRender } from
  '@editframe/api/bundleRender'

const tar = await bundleRender({
  root: './my-composition',
  renderData: { userId: 'abc' }
})
await api.createRender(client, {
  fps: 30,
  webhookUrl: 'https://your.app/webhook'
})

CLI — from your terminal

One command from anywhere

Point the CLI at your composition file. Logs stream in real time. Your MP4 is waiting at a signed URL when done.

editframe cloud-render ./composition.html

✓ Submitted   rnd_abc123
✓ Processing...
✓ Complete in 58s
  editframe.com/api/v1/renders/rnd_abc123.mp4

Webhooks

No polling.
Just a POST when it's ready.

Editframe POSTs to your endpoint the moment the video is ready, with the MP4 URL in the payload. HMAC-signed so you know it's from us. Retries automatically if your server hiccups.

  • HMAC-SHA256 signature on every request
  • Automatic retries on failure
  • Test locally before you deploy: editframe webhook test
app.post('/webhook', (req, res) => {
  const valid = verifySignature(
    req.headers['x-editframe-signature'],
    req.body,
    WEBHOOK_SECRET
  )
  if (!valid) return res.sendStatus(401)

              const { url } = req.body.render
  // editframe.com/api/v1/renders/rnd_abc123.mp4
  saveVideoUrl(url)
  res.sendStatus(200)
})

Common questions

Things developers ask before shipping.

Does my composition need to change to run in the cloud?

No. The same HTML file you develop locally submits to cloud rendering unchanged. One config change, or one CLI command.

We need to render thousands of videos a day. Can it handle that?

Submit them all at once. Jobs run in parallel, no queue to manage, no concurrency ceiling. Talk to us for high-volume pricing.

We're going to production. What does reliability look like?

HMAC-signed webhooks, automatic retries on failure, and a test command to verify your endpoint before you go live.

What does it cost while we're still building?

Nothing. Render locally in the browser or via CLI at no cost. Cloud rendering is $0.02 per output minute, billed only when you ship.

Stop managing render infrastructure.
Start shipping video.

Free to develop locally. No infrastructure to provision. First render in minutes.