Which AI Video API Host Has the Biggest Resale Markup?

"Resale markup" gets talked about as if it's a fixed property of a platform — as if OpenRouter, being a resale channel rather than a first-party host, simply charges "more" across the board. Our own cross-provider registry shows that's not how it works in practice. Comparing OpenRouter's rate against each model's own cheapest verified host, across five model families, the markup ranges from a full 325% on one model down to 0% — an exact tie with the cheapest host — on another. The size of the markup depends entirely on what OpenRouter itself is paying whichever host it's reselling for that specific model, not on some platform-wide margin policy.

The full comparison

Model Cheapest verified host OpenRouter rate Markup
Wan 3.0 (480p) $0.025/sec (Replicate) $0.10625/sec +325%
Wan 3.0 Prime (480p) $0.051/sec (Pika) $0.170/sec +233%
Kling v3.0 Std $0.084/sec (Novita/WaveSpeedAI) $0.140/sec +67%
Kling v3.0 Pro $0.112/sec (Novita/WaveSpeedAI) $0.1867/sec +67%
Seedance 2.5 (480p) $0.085/sec (MachGen) $0.1028/sec +21%
Veo 3.1 (720p) $0.20/sec (Pika/Replicate) $0.20/sec 0%
Veo 3.1 Fast (720p) $0.08/sec (Pika) $0.08/sec 0%
Veo 3.1 Lite (720p) $0.03/sec (Pika) $0.03/sec 0%
MiniMax H3 $0.04/sec (MachGen) not listed —

OpenRouter's video API markup by model, from 0% on Veo 3.1 to 325% on Wan 3.0

Four different outcomes show up in this one table: a 325% markup, a 233% markup, a consistent 67% markup across two Kling tiers, a modest 21% markup, and a flat 0% — OpenRouter matching the cheapest host exactly on all three Veo 3.1 tiers. There's no version of "OpenRouter marks video up by X%" that's true across this table. The honest statement is closer to "check the specific model," which is exactly what a static assumption about any resale platform tends to get wrong.

Why the same platform prices so differently by model

A resale channel like OpenRouter doesn't run its own GPU fleet for most of these models — it's reselling capacity from an underlying host (or several), and its rate reflects what it pays that host plus its own margin. On Veo 3.1, OpenRouter appears to be pricing directly off the cheapest hosts (Pika/Replicate) with no additional margin layered on at all — either it's getting the same wholesale rate those hosts charge, or it's chosen not to margin this specific model. On Wan 3.0, the picture is completely different: OpenRouter's $0.10625/sec is more than 4x Replicate's $0.025/sec floor, suggesting either a much thinner wholesale deal, a deliberate margin decision, or that OpenRouter isn't actually sourcing from the cheapest underlying host at all. Without visibility into OpenRouter's own supply contracts, this article can't say which explanation is correct for any specific row — what it can say, from the registry data, is that the outcome varies enormously by model.

The Kling pattern is the cleanest evidence of per-model pricing

Kling Std and Pro both show an identical 67% markup — a suspiciously exact match across two tiers of the same model, which is itself informative. When a markup lines up precisely across multiple tiers of one model but differs completely from another model's markup on the same platform, it's strong evidence the markup is being computed as a percentage of whatever OpenRouter pays its underlying host for that specific model, rather than a flat dollar or platform-wide policy. If you've verified a resale channel's markup on one tier of a model, you can reasonably predict it'll hold on other tiers of the same model — but that prediction doesn't transfer to a different model at all, as Wan 3.0's wildly different 325% shows.

What this costs at real volume

A team already standardized on OpenRouter across its video generation, running 2,000 five-second clips a month split evenly across Wan 3.0 and Kling Std:

  • Wan 3.0, OpenRouter: 1,000 × 5 × $0.10625 = $531.25
  • Kling Std, OpenRouter: 1,000 × 5 × $0.140 = $700
  • Total, OpenRouter: $1,231.25/month

Routing the same volume to each model's cheapest verified host instead:

  • Wan 3.0, Replicate: 1,000 × 5 × $0.025 = $125
  • Kling Std, Novita/WaveSpeedAI: 1,000 × 5 × $0.084 = $420
  • Total, cheapest hosts: $545/month

Leaving OpenRouter for both models cuts this bill by $686.25/month (56%) — and nearly all of that saving comes from the Wan 3.0 side specifically, since Kling's 67% markup, while real, is a much smaller dollar impact at this volume than Wan's 325%.

A second worked example: where OpenRouter isn't the problem

The same team also runs 500 eight-second Veo 3.1 clips a month through OpenRouter:

  • Veo 3.1, OpenRouter: 500 × 8 × $0.20 = $800/month
  • Veo 3.1, Pika or Replicate: 500 × 8 × $0.20 = $800/month

Identical. There's no saving to capture here by moving off OpenRouter for this specific model, because OpenRouter isn't marking it up at all. This is the actual point of the comparison: a blanket policy of "always avoid resale channels" would correctly save money on Wan 3.0, Wan 3.0 Prime, and Kling, but would accomplish nothing on Veo 3.1 — the model-by-model check is doing real work, not just confirming an assumption.

The practical takeaway

Don't generalize a resale markup you've measured on one model to a platform-wide rule. If you're running multiple video models through the same resale channel, check each one against its own cheapest verified host individually — the pattern in this table shows the markup can range from 0% to well over 300% within a single platform's own catalog, and only a per-model check catches that. VideoRouter's own model comparison pages keep each of these numbers live as they move, which is the more durable version of the check this article ran once.

Frequently asked questions

Does OpenRouter's 0% markup on Veo 3.1 mean it's always the best host to route through? For price specifically, it ties with the cheapest options (Pika, Replicate) — there's no cost penalty to using OpenRouter for Veo 3.1 the way there is for Wan 3.0. Whether it's the best choice beyond price (latency, existing billing relationship, catalog breadth) is a separate question this comparison doesn't answer.

Why doesn't MiniMax H3 have an OpenRouter row? OpenRouter doesn't currently list H3 in its catalog at all — not every model on every host's cheapest-alternative list is available through every resale channel, and this is one of the models where that gap shows up.

Is 325% the highest markup possible, or could another model be worse? This comparison covers five model families with verified OpenRouter listings; it's not exhaustive across VideoRouter's full catalog. Treat 325% as the highest confirmed figure among the models checked here, not an absolute ceiling.

Do these markups change over time? Yes — a resale channel's markup on any given model is a function of its own supply arrangement with the underlying host, which can change independently of the underlying host's own listed price. Re-check before assuming a markup measured today still holds in a few months.

Should this comparison change how I think about resale channels generally, not just OpenRouter? The underlying lesson generalizes: any resale channel's markup is model-specific, not platform-wide, so the same "check per model, not per platform" approach applies whether you're evaluating OpenRouter, a different aggregator, or any other reseller in your stack.

How to check this yourself for a model not covered here

import requests

model = "your-model-id"
job = requests.post(
    "https://videorouter.sh/api/v1/videos",
    headers={"Authorization": "Bearer llmr_sk_live_...", "Content-Type": "application/json"},
    json={"model": f"{model}/openrouter", "prompt": "test", "duration_secs": 1},
).json()

Compare the price VideoRouter reports for the /openrouter suffix against the model's own pricing page (linked from each model's model comparison table) to compute the same ratio used throughout this article for any model in the catalog.