Video Model Routing Layer

One OpenAI-compatible API.
Every video-generation model.

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.

1% fee
flat, all-inclusive
22 models
across 10 video providers

The architecture

Not one vendor's model. A routing layer.

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

Cost Quality Speed Reliability
OpenAI Sora Google Veo RunwayML Kling MiniMax Luma Dream Machine + Fal, Replicate, Poe, DeepInfra, SiliconFlow

Inside the layer: routing & fallback

Six reasons teams route video through us.

1

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.

2

You're never locked to one vendor's model

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.

3

Provider fallback, not a single point of failure

If one vendor's queue backs up or errors out, requests can move to another supported model instead of your render pipeline stalling.

4

Text-to-video, image-to-video, reference-to-video

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.

5

Async job/poll, already built

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.

6

Flat 1% platform fee

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

One endpoint in. Every video model, max uptime.

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

  • 1 Async job/poll built in, per provider
  • 2 Automatic provider fallback
  • 3 Flat 1% fee, every model

Any video model, one key

Sora 2 Veo 3.1 Kling v2.6 MiniMax Hailuo 02 Luma Ray 2 + 22 models total

The full layer

Six things happening. On every video job.

Everything below runs on every request, under a single flat 1% fee.

💰

Cost-aware routing

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.

🔁

Provider fallback

If a provider errors out or its queue backs up, we can route to another supported model instead of your app just failing.

⚙️

Async jobs, built in

Create with POST /v1/videos, poll with GET /v1/videos/{id}. Billed once at creation; polling for status is free.

🖼️

Image & reference-to-video

Animate a single starting frame, or guide generation from multiple images, video, and audio references — same endpoint, different model.

🔑

One key, every provider

OpenAI, Google, RunwayML, Kling, MiniMax, Luma, Fal, Replicate, Poe, DeepInfra, SiliconFlow — a single API key reaches all of them.

🧩

Chat, image & audio too

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

Already calling Sora or Veo directly? Point one base URL at every model.

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.

  • OpenAI-compatible — same client, no new SDK to learn
  • Works with any provider key, or bring your own
  • 1% fee on every request, whichever model you route to
route.py
# 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

Plug in once. Route every video model.

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.