STATUS: ALL SYSTEMS OPERATIONAL— 6 GPU regions, queueing normally
00:00:00:00
Infrastructure for video AI

Ship video intelligence,
not video infrastructure.

One API for generation, transcription, dubbing, and upscaling. Keyframe runs the GPUs, manages the queue, and retries the failures — your product just calls /v1/jobs.

14 model families50+ dub languages180ms median queue time
POST /v1/jobs
curl https://api.keyframe.dev/v1/jobs \
  -H "Authorization: Bearer $KEYFRAME_KEY" \
  -d model="keyframe-gen-2" \
  -d input.prompt="drone shot, foggy pine forest, dawn" \
  -d output.captions=true \
  -d output.dub="es,ja"
job_id: jb_8f2ac1QUEUED
00:00:00:00 — TIMELINE START

Powering video pipelines at

Northwind MediaAtlas StudioOutpostFieldnoteVantage Labs

The pipeline

One pipeline, every stage of video.

Footage moves through four stages on the way in. Use all of them, or call any stage directly from your own pipeline.

STAGE 01

Ingest

Upload a file, paste a URL, or stream raw frames straight into the API.

STAGE 02

Understand

Keyframe transcribes audio, detects scenes, and tags objects automatically.

STAGE 03

Transform

Generate, dub, upscale, or re-cut the footage with any model in the catalog.

STAGE 04

Deliver

Get a signed URL, a webhook event, or a live stream of finished frames.

The platform

Every model your video needs, one interface.

Swap models without rewriting your integration. Every endpoint shares the same job, webhook, and billing format.

Generation

Generate clips from a text or image prompt on the latest video diffusion models.

Transcription & captions

Word-accurate transcripts and burned-in captions across more than fifty languages.

Dubbing & voice

Translate and re-voice a video while keeping the original performance's timing.

Upscaling & restoration

Recover detail in old or low-resolution footage, up to native 4K.

Scene detection

Automatically cut footage into scenes, shots, and navigable chapters.

Webhooks & streaming

Get notified the moment a job changes state, or stream frames as they render.

00:14:02:08 — THE TERMINAL

Built for engineers

Built for the terminal, not the dashboard.

Idempotency keys, typed SDKs, and webhooks that retry themselves. The dashboard is there when you want it — most teams never open it.

  • SDKs for Python, Node, and Go, generated from the same spec
  • Every job is idempotent by request key, safe to retry
  • Signed webhooks with automatic redelivery on failure
View API reference
curl https://api.keyframe.dev/v1/jobs \
  -H "Authorization: Bearer $KEYFRAME_KEY" \
  -d model="keyframe-gen-2" \
  -d input.prompt="city street, rain, neon signs"
from keyframe import Client

client = Client(api_key="...")
job = client.jobs.create(
    model="keyframe-gen-2",
    input={"prompt": "city street, rain, neon signs"},
    output={"resolution": "1080p", "captions": True},
)
import Keyframe from "keyframe";
const kf = new Keyframe(process.env.KEYFRAME_KEY);

const job = await kf.jobs.create({
  model: "keyframe-gen-2",
  input: { prompt: "city street, rain, neon signs" },
});
{
  "event": "job.rendered",
  "job_id": "jb_8f2ac1",
  "duration_ms": 412300,
  "output": { "url": "https://cdn.keyframe.dev/jb_8f2ac1.mp4" }
}

Performance

Built to run at production load.

180ms
Median time to first frame
99.95%
Platform uptime, trailing 90 days
14
Model families available today
6
GPU regions, chosen automatically

Pricing

Pay for minutes processed, not GPUs reserved.

No infrastructure to provision. Every plan includes the full model catalog.

Developer
$0/mo

For testing pipelines and side projects.

  • 60 minutes processed / month
  • $0.04 per minute after that
  • Full API and SDK access
  • Community support
Get API key
Enterprise
Custom

For platforms with sustained, large-scale render volume.

  • Dedicated GPU capacity
  • Custom and fine-tuned models
  • SSO and audit logs
  • Dedicated Slack channel
Talk to sales

Get started

Start rendering in minutes.

Bring your own footage or prompt — Keyframe handles the GPUs, the queue, and the retries.

No credit card for the first 1,000 minutes processed.