Render HTML
into vertical video

Send a self-contained HTML template, get back a pixel-perfect mp4 reel. One API call — deterministic frame-by-frame Chromium renders muxed with ffmpeg. Built for Reels, Shorts, TikTok, and programmatic video.

$ curl https://api.html2reel.com/v1/reels \
  -H "X-API-Key: h2r_..." \
  -d '{"html": "<...>", "duration_seconds": 15, "width": 1080, "height": 1920, "fps": 30}'

{
  "job_id": "abc-123",
  "status": "queued"
}

What you get

Deterministic frame-by-frame render

Web Animations and timelines seeked per frame in headless Chromium — same input, byte-identical output. No realtime capture, no dropped frames.

mp4 out, h264 + AAC

ffmpeg muxes the frames with optional audio into a clean mp4. Plays out-of-the-box on Reels, Shorts, TikTok, iOS, Android.

Any aspect ratio

1080×1920 vertical, 1920×1080 horizontal, 1080×1080 square — declared per request alongside fps and duration.

Background audio with auto fade-out

Drop an audio_url alongside the html and the muxer pads, fades, and trims it cleanly to the reel's length. No abrupt cuts.

Sync poll or webhook

Poll the job and honour Retry-After, or pass a callback URL — works for one-off renders and high-volume batches alike.

R2-backed output

Rendered mp4s land on Cloudflare R2 and serve from a fast URL — no blobs sitting in your job rows.

See it in action

Same API, three flavors. Pick your stack.

# Submit a reel render
curl -X POST https://api.html2reel.com/v1/reels \
  -H "X-API-Key: h2r_..." \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<!doctype html><html>...</html>",
    "duration_seconds": 15,
    "width": 1080,
    "height": 1920,
    "fps": 30,
    "audio_url": "https://cdn.example.com/track.mp3"
  }'

# Response
{"job_id":"abc-123","status":"queued"}

# Poll until done — "url" is the rendered mp4
curl https://api.html2reel.com/v1/reels/abc-123 \
  -H "X-API-Key: h2r_..."

html2reel is part of the 2LLM Suite — focused APIs that take messy inputs and produce clean, usable outputs. Also try scrape2llm and files2llm and html2media and stream2llm and research2llm and social2llm for the rest.

Render your first reel in under a minute.

Get your API key →