One API instead of nine vendor SDKs
Sora, Veo, RunwayML, Kling, MiniMax, Luma, Fal, Replicate, Poe, DeepInfra, SiliconFlow — no separate integration, auth, or job/poll shape to build per provider.
Video Model Routing Layer
We sit between your app and every video provider — Sora, Veo, RunwayML, Kling, MiniMax, Luma, and more — routing each request to the model that's actually best for it, on cost, quality, and speed.
One flat 1% platform fee — same price no matter which model or provider you route to.
The architecture
Your app talks to one endpoint. Deciding which video model actually handles the request — and what happens if that provider is down — is our job.
Your application
VideoRouter
Video Model Routing Layer
Inside the layer: routing & fallback
Sora, Veo, RunwayML, Kling, MiniMax, Luma, Fal, Replicate, Poe, DeepInfra, SiliconFlow — no separate integration, auth, or job/poll shape to build per provider.
Pick the model per request — a cheap DeepInfra or SiliconFlow model for a draft, Sora or Veo for a hero shot — without rewriting your integration.
If one vendor's queue backs up or errors out, requests can move to another supported model instead of your render pipeline stalling.
One endpoint, three generation modes — animate a starting frame, or guide generation from multiple images, video, and audio clips at once. Which mode you get depends only on which model you pass.
POST /v1/videos creates the job, GET /v1/videos/{id} polls it — no queue infrastructure to stand up yourself, and polling for status is free.
On top of the real provider cost — every model, every provider, billed once at job creation from the requested duration.
Inside the layer: execution & reliability
Your request lands on our routing layer, which tracks each provider's job/poll behavior and can fail over across supported models — so your pipeline stays online, and you pay a flat 1% fee no matter which model you pick.
Your app
OpenAI SDK
POST /v1/videos
VideoRouter
Routing engine
Any video model, one key
The full layer
Everything below runs on every request, under a single flat 1% fee.
Choose the model per request — a $0.02/s DeepInfra clip for a preview, a $0.40/s Veo render for the final cut — without switching integrations.
If a provider errors out or its queue backs up, we can route to another supported model instead of your app just failing.
Create with POST /v1/videos, poll with GET /v1/videos/{id}. Billed once at creation; polling for status is free.
Animate a single starting frame, or guide generation from multiple images, video, and audio references — same endpoint, different model.
OpenAI, Google, RunwayML, Kling, MiniMax, Luma, Fal, Replicate, Poe, DeepInfra, SiliconFlow — a single API key reaches all of them.
Video generation is what we lead with — the same platform and API key also route chat, image, and audio models, if your app needs those too.
Quickstart
Point your base URL at VideoRouter and create a job against any of 22 video models — same async create/poll shape, one API key, a flat 1% fee.
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.videorouter.sh/v1",
api_key="vr_sk_...",
)
# create a video generation job
job = client.post("/videos", cast_to=dict, body={
"model": "kling-v2-6",
"prompt": "a paper airplane gliding over a neon city at night",
"seconds": 8,
})
# poll until done
status = client.get(f"/videos/{job['id']}", cast_to=dict)
print(status["status"]) # pending -> in_progress -> completed
# → 1% platform fee, automatic provider fallback included
Create a developer account, grab an API key, and point your OpenAI SDK at us — cost, quality, speed, and reliability across every video-generation provider, under a flat 1% fee.
OpenAI-compatible · one API key · 1% fee.