Generate videosLarge Language ModelsVisual Effects
OpenRouter Video API: Which Video Models and What They Cost
OpenRouter now routes video generation to Veo 3.1, Seedance 2.5, Wan 3.0, Kling and more through one asynchronous endpoint. This article lists the per-second prices, shows what ten clips really cost, and explains how to pick a model before you spend credits.
Paying for AI video used to mean five dashboards, five billing pages, and five SDKs. OpenRouter now routes video generation through one asynchronous endpoint, so a single bearer token reaches Google, ByteDance, Alibaba, Kling, MiniMax, Runway, xAI, and more. The catch is that every model prices its seconds differently, and a clip that costs three cents a second on one model costs sixty cents on another. This article lists the video models OpenRouter offers as of early October 2026, what each one charges, how the billing works, and how to keep a real project from draining your credits. Prices move often, so treat every figure as a snapshot and check the live models listing before you commit a budget.
How the API Works
OpenRouter handles video differently from text or image calls. A render can take several minutes, so the API never holds a connection open. You submit a job, receive an ID, check its status, and download the file once it is ready. That pattern is identical for every model, which is the whole appeal: swap one model string and the rest of your code keeps working.
Submit, Poll, Download
Four endpoints do all the work:
POST /api/v1/videos submits a job with a model and a prompt.
GET /api/v1/videos/{jobId} returns the current status.
GET /api/v1/videos/{jobId}/content downloads the finished file.
GET /api/v1/videos/models lists every video model with its resolutions, durations, and pricing.
The submit response includes an id, a polling_url, and a status of pending. The status then moves to in_progress and ends as a success state or as failed. When a job succeeds, the response adds unsigned_urls for the download plus a usage object with the final cost in USD and an is_byok flag. If polling feels wasteful, pass a callback_url and OpenRouter sends a webhook signed with HMAC-SHA256.
curl -X POST "https://openrouter.ai/api/v1/videos" \
-H "Authorization: Bearer $OPENROUTER_TOKEN" \
-d '{"model": "google/veo-3.1", "prompt": "A golden retriever playing fetch on a sunny beach"}'
💡 Worth knowing: OpenRouter states that video generation is not eligible for Zero Data Retention, because the asynchronous design stores each output until you download it. If your policy forbids retention, plan around that before you integrate.
Parameters That Change the Price
Besides model and prompt, you can set duration, resolution, aspect_ratio, and size. Add frame_images to animate a still image, or input_references for reference-based generation. You can also toggle audio, fix a seed, and pass provider-specific options. Resolutions run from 480p up to 4K and aspect ratios from 21:9 to 9:21, but each model accepts only a subset. Every one of these choices feeds the price, which is why billing deserves its own section.
How Billing Works
Per-Second Rates
Most models bill per second of output. The models endpoint exposes this through pricing_skus, with entries such as a base per-video-second rate and a separate rate for 1080p. Higher resolution raises the rate, an audio track raises it again, and duration multiplies the whole thing. Veo 3.1 shows the spread inside a single model: about $0.20 per second for 1080p without audio, up to $0.60 per second for 4K with audio. That is a threefold gap before you pick a different model at all.
Token Pricing and Failed Jobs
ByteDance's Seedance models appear in the models endpoint with token-based prices rather than seconds. OpenRouter's collection page converts them into a per-second starting rate, and that converted rate is the number used throughout this article.
Failures are less clear. OpenRouter lists a 502 upstream failure as not billed, but the documentation does not spell out the rule for other failed jobs, so keep a retry margin in your budget. Three other errors are worth handling in code:
402 means insufficient credits.
403 means you reached a spend limit.
429 means you are being rate limited.
Every Video Model and Its Price
Here are fifteen of the most used listings, ordered from cheapest to priciest at the low end of the range:
💡 The low end of a range is usually the cheapest resolution without audio. The high end is usually the top resolution with audio. Seedance rows show the converted starting rate, not a fixed price.
If you already know the job, these quick picks save time:
Predictable flat rate:Gen-4.5 at $0.12 per second.
A few more listings are worth a look. Wan 3 Prime runs $0.068 to $0.28 per second at up to 1080p. Kling v3 Video in its Pro tier costs $0.112 to $0.168. Hailuo 2.3 charges $0.0817 for 1080p clips of 6 or 10 seconds. Wan 2.7 sits at $0.10 and Wan 2.6 at $0.04 to $0.15. Runway Aleph 2.0, built for editing existing footage, starts at $0.28.
Treat the numbers above as a map, not a contract. A few listings differ by a cent or two between the collection page and the models endpoint, so query /api/v1/videos/models directly before you lock a budget.
Budget Models Under Ten Cents
Veo 3.1 Lite First
Veo 3.1 Lite is Google's cost-cut sibling of the flagship. It renders 720p and 1080p clips of 4, 6, or 8 seconds, takes a text prompt or a starting image, adds native audio, and accepts a seed. At $0.03 to $0.08 per second, a full 8 second clip lands between $0.24 and $0.64. Veo 3.1 Fast sits one rung up at $0.08 to $0.30 and adds a 4K option, which makes it the sensible middle step when Lite looks soft but the full model is overkill.
Seedance and Wan Budgets
The cheapest ByteDance option is Seedance 2.0 Mini, at about $0.034 per second for 480p and 720p clips of 4 to 15 seconds. A 15 second clip costs roughly $0.50. Seedance 2.0 Fast favors speed and lower cost over maximum quality, at about $0.040 per second.
For length, look at Wan 3.0. It accepts 2 to 30 seconds, from 480p to 1080p, with audio. At roughly $0.05 per second, a 30 second clip costs $1.50, which makes it the longest single clip in this price band. HeyGen Video starts at $0.01 per second and is the cheapest listing of all, though you should check which resolution that rate applies to before you plan around it.
Premium Models Worth the Money
Veo 3.1 at Full Price
Veo 3.1 supports 720p, 1080p, and 4K, clips of 4, 6, or 8 seconds, audio, first and last frame conditioning, and a seed. At 1080p with audio the rate is about $0.40 per second, so one 8 second clip costs $3.20. At 4K with audio it climbs to $0.60. Spend it on hero shots, not on drafts.
Seedance 2.5 for Long Scenes
OpenRouter positions Seedance 2.5 for long-form storytelling, reference-based generation, video editing, and video extension. It accepts 4 to 30 seconds at 480p and 720p. At about $0.103 per second, a full 30 second scene costs $3.08. If you need first and last frame control and consistent characters at higher resolutions, Seedance 2.0 reaches up to 4K from about $0.067 per second.
Kling, Runway, and HappyHorse
The mid-premium tier is crowded. Kling v3.0 Standard renders 720p clips of 3 to 15 seconds with audio at $0.084 to $0.126 per second. Gen-4.5 from Runway charges a flat $0.12 for 720p clips of 2 to 10 seconds, without audio. HappyHorse 1.1 offers 720p and 1080p at $0.099 to $0.128. Grok Imagine Video 1.5 accepts clips as short as 1 second, the shortest minimum in the table, which suits cheap motion tests.
What a Real Project Costs
Ten Clips on Three Budgets
Picture ten clips of 8 seconds each, which is 80 seconds of finished footage. Using the lowest and highest listed rates, the bill looks like this:
Notice the spread: the same 80 seconds costs about $2.40 or about $48, a twentyfold difference, depending only on the model and settings you choose. Even Seedance 2.0 Mini at its starting rate lands near $2.69 for the same footage.
Hidden Costs and Retries
The sticker price assumes every clip is a keeper, and none of them ever is. If you keep one take in three, multiply your budget by three: the $2.40 Veo 3.1 Lite project becomes $7.20. The cheapest way to raise your hit rate is a better prompt before you submit, not a pricier model after.
A language model is good at this job. Ask Claude Sonnet 5, Gemini 3.5 Flash, or GPT 5.6 Luna to rewrite your idea as a chronological shot description with a subject, a motion, a camera move, and a sound cue. Video models respond to that structure far better than to a loose one line request. Also download each output as soon as it finishes and store your own copy, rather than assuming the job URL will stay available.
Draft Cheap, Finish Premium
The best budget move is a two stage pipeline. Run six 8 second drafts on Seedance 2.0 Mini: 48 seconds at about $0.034 comes to roughly $1.61. Pick the best framing, then render only that shot on Veo 3.1 at 1080p with audio for $3.20. The whole shot costs about $4.81, against $19.20 for six premium attempts.
💡 Rule of thumb: never pay premium rates to find out whether a prompt works.
Use Veo 3.1 Lite on PicassoIA
If you want to test the Veo 3.1 Lite look before wiring up any API, Veo 3.1 Lite on PicassoIA runs in a browser with no code. The page lists 4, 6, and 8 second clips, 720p and 1080p, and native audio.
Write the Prompt
Open the model page and describe the scene in the order it happens: who or what is on screen, how it moves, where the camera goes, and what it sounds like. Because the model generates audio, name the sound: rain on glass, a distant train whistle, soft jazz. The prompt is the only required field.
Pick Duration and Resolution
Setting
Options
Default
Duration
4, 6, or 8 seconds
8
Resolution
720p or 1080p
720p
Aspect ratio
16:9 or 9:16
16:9
💡 The model page notes that duration must be 8 seconds when you choose 1080p, and that 4K is not supported on the Lite version.
Animate a Starting Image
Upload an image and the model uses it as the first frame. Add a second image as the last frame and Veo 3.1 Lite builds a smooth transition between them. Set a seed when you like a result and want close variations of it.
Prefer code? PicassoIA also offers a Replicate style predictions API at https://api.picassoia.com/v1. Jobs are asynchronous, so you create a prediction, poll it, and fetch the result, much like the OpenRouter flow above. The video models exposed there are picassoia/picassoia-video and picassoia/seedance-2.5-lite, and an account can run up to 5 predictions at once. Check the pricing page for the plan that includes API access before you build on it.
Your Next Clip Starts Here
Reading price tables only gets you so far. The fastest way to know which model fits your project is to render the same prompt on two of them and compare the frames. Open Seedance 2.5 Lite, which PicassoIA lists as unlimited for Wonder members at 480p and 720p, and run a 5 or 10 second draft. Then try Veo 3.1 Lite or PicassoIA Video on the same idea and see which motion you prefer.
Once you have a clip you like, the platform also offers video effects, upscaling, lip sync, and text to speech, so you can polish the result without leaving the platform. Browse every video, image, and language model at picassoia.com/en/all-models, pick one, and make your first clip today.