Makernice

An OpenRouter alternative for video and image generation

For teams generating video or images through OpenRouter: compare video prices model by model, see how fees and failed jobs are handled, and call the same models through one media-only API.

Competitor prices checked October 22, 2026 from OpenRouter's public pricing; they change often.

Prices as of October 22, 2026 (price list v5).

Looking for an OpenRouter alternative for video generation? OpenRouter is an LLM router with async video and image endpoints; it passes through provider prices and charges a fee on credit purchases. Makernice is media-only: 12 video and 4 image models, a public per-second price list and a quote locked for 12 minutes before every run. Prices go both ways.

How OpenRouter's video and image APIs work

From OpenRouter's docs (checked October 22, 2026):

Which models overlap?

Video (from OpenRouter's /api/v1/videos/models, 30 models, read October 22, 2026): Wan 3.0, Wan 3.0 Prime, Happy Horse 1.1, Kling 3.0 Pro and Standard, MiniMax H3 (2K only) and H3 Max, Seedance 2.5, Seedance 2.0 and Seedance 2.0 Fast. OpenRouter also lists video models Makernice doesn't offer.

Images: OpenRouter lists Seedream 5.0 Pro, Qwen Image 3 and Qwen Image 3 Pro. Makernice serves Seedream 5.0 Pro, Seedream 5.0, Qwen3 Image and Qwen3 Pro Image, priced per image. OpenRouter's Qwen Image 3 (qwen/qwen-image-3) is Alibaba's qwen-image-3.0, the model Makernice serves as Qwen3 Image; Qwen Image 3 Pro (qwen/qwen-image-3-pro) is Alibaba's qwen-image-3.0-pro, served on Makernice as Qwen3 Pro Image. Prices for both are in the image table below. Makernice image prices: Image generation pricing.

Per-second prices, model by model

USD per second of output. Makernice: price list v5 (as of October 22, 2026). OpenRouter: GET /api/v1/videos/models, October 22, 2026. Competitor prices checked October 22, 2026 from OpenRouter's public pricing; they change often.

Per-second video prices. OpenRouter column checked October 22, 2026. Derived rows labelled.
Model · resolutionMakernice $/sOpenRouter $/sNote
Wan 3.0 · 480p / 720p / 1080p$0.0394 / $0.0789 / $0.15780.05 / 0.10 / 0.20
Wan 3.0 Prime · 480p / 720p / 1080p$0.0617 / $0.1234 / $0.24680.068 / 0.14 / 0.28
Happy Horse 1.1 · 720p / 1080p$0.168 / $0.2160.0988 / 0.1278OpenRouter lower
Kling 3.0 Pro · with audio$0.1612 (1080p tier)0.168OpenRouter prices Kling 3.0 Pro the same at every resolution it lists (480p to 1080p); Makernice Pro is the 1080p tier. OpenRouter without audio: $0.112
Kling 3.0 Standard · with audio$0.1209 (720p tier)0.126OpenRouter prices Kling 3.0 Standard the same at every resolution it lists (480p to 1080p); Makernice Standard is the 720p tier. OpenRouter without audio: $0.084. Makernice Kling always includes audio
MiniMax H3 · 2K$0.1560.13OpenRouter lower (OpenRouter lists 2K only)
MiniMax H3 Max · 480p / 768p$0.0452 / $0.06850.05 / 0.08
Seedance 2.5 · 720p$0.2592≈0.2311 (derived)OpenRouter lower. OpenRouter lists 480p/720p only; Makernice adds 1080p and 4K
Seedance 2.0 · 720p / 1080p$0.1704 / $0.4252≈0.1512 / ≈0.3742 (derived)OpenRouter lower. OpenRouter also lists 480p and 4K for Seedance 2.0
Seedance 2.0 Fast · 720p$0.1027≈0.0907 (derived)OpenRouter lower

"Derived" rows: OpenRouter prices Seedance per token. We converted at 16:9 with tokens per second = width × height × 24 / 1024 (720p: 21,600 tokens/s; 1080p: 48,600 tokens/s) using OpenRouter's per-token rates ($0.0000107 for Seedance 2.5; $0.000007 for Seedance 2.0, $0.0000077 at 1080p; $0.0000042 for 2.0 Fast). Your actual cost on OpenRouter depends on aspect ratio and inputs. Makernice prices: per second of requested duration, same in every mode, 4-decimal truncation; live at GET https://api.makernice.com/v1/pricing.

Fee footnote: OpenRouter adds a 5.5% fee ($0.80 minimum) when you buy credits by card on the Standard plan (openrouter.ai/docs/faq, checked October 22, 2026); per-request prices on this page exclude it. Makernice charges no top-up fee; sales tax/VAT may apply at checkout depending on your location. With the 5.5% fee added, the rows marked "OpenRouter lower" (video and image) stay lower; for example Seedance 2.5 at 720p is ≈$0.2438/s on OpenRouter against $0.2592/s on Makernice.

Images (USD per image; checked 2026-10-22)

Image prices checked October 22, 2026.
Model · mode · resolutionMakernice $/imageOpenRouter $/imageNote
Qwen3 Image (Alibaba qwen-image-3.0) · text-to-image · 1K$0.02360.03Makernice lower. OpenRouter's page gives the 1K price only; Makernice charges $0.0236 at 2K too
Qwen3 Image (Alibaba qwen-image-3.0) · image-to-image · 1K$0.04110.033 (0.03 output + 0.003 per input image, one input)OpenRouter lower
Qwen3 Pro Image (Alibaba qwen-image-3.0-pro) · text-to-image · 1K / 2K$0.0328 / $0.06570.04 / 0.075Makernice lower
Qwen3 Pro Image (Alibaba qwen-image-3.0-pro) · image-to-image · 1K / 2K$0.0531 / $0.0960.043 / 0.078 (output + 0.003 per input image, one input)OpenRouter lower

Same Alibaba models on both; we haven't compared outputs. OpenRouter: qwen-image-3 and qwen-image-3-pro (provider "Alibaba Cloud Int."), checked October 22, 2026; OpenRouter adds $0.003 for each input image (up to 3). Makernice: price list v5, per image, the same for any number of input images.

Per second, Makernice is lower on Wan 3.0, Wan 3.0 Prime, MiniMax H3 Max and, slightly, Kling 3.0 with audio. OpenRouter is lower on Seedance 2.5 and 2.0 at the resolutions it lists, Seedance 2.0 Fast, Happy Horse 1.1 and MiniMax H3 at 2K. For images, Makernice is lower on Qwen3 Image and Qwen3 Pro Image text-to-image, and OpenRouter is lower on image-to-image for both. If most of your spend is Seedance at 720p, OpenRouter costs less per second today, even after its 5.5% credit fee. Run your mix through the cost calculator and hold it against your OpenRouter bill.

Fees and billing: credit-purchase fee vs prepaid wallet, quotes, failed jobs

Billing compared. OpenRouter column from its docs, checked October 22, 2026.
MakerniceOpenRouter (from its docs, checked October 22, 2026)
How you payPrepaid USD balance; top-ups $15–$1,000 by card, Apple Pay, Google Pay or crypto; balance never expires; no subscription, no free tierCredits; provider prices passed through with no markup
Fees on topNo top-up fee from Makernice; sales tax/VAT may apply at checkout depending on your location.5.5% when buying credits (Standard), 8% (Business); separate crypto fee; BYOK free to $25k/month, then 5%
Price before the runA quote for every generation, locked for 12 minutes; full list public at GET /v1/pricing (no key)Per-model pricing_skus from GET /api/v1/videos/models; job cost reported in usage.cost on completion
Failed video jobNot charged: a job that fails or times out during generation is released in full, with no chargeNot stated in OpenRouter's video docs (checked Oct 22, 2026)
CancelOnly queued jobs can be canceled; the held amount is released in full. Once generation starts, a job can't be canceled (409 not_cancelable)Docs list a cancelled status; billing for it not stated (checked Oct 22, 2026)
Finished output blocked by output moderationCharged. No file delivered; support can review itNot stated in OpenRouter's video docs (checked Oct 22, 2026)
RefundsUnused balance is, in principle, not refundable, but never expires. In special cases such as a duplicate charge or a mistaken top-up, contact us and we will consider a refund at our discretion. Failed runs need no refund: the hold is released and they're never chargedUnused credits refundable within 24 h; platform fees non-refundable; crypto never refundable
Image requests with no usable outputFailed runs aren't charged (same rule as video; a finished image blocked by output moderation is charged)Covered by "zero completion insurance"

Full Makernice rules with examples: No charge for failed generations. Unit prices: Pricing.

Failed, timed-out and input-moderation-rejected runs aren't charged. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review.

When to stay on OpenRouter

Calling the same model on Makernice

Request mapping
OpenRouter video requestMakernice
POST /api/v1/videos, then pollPOST /v1/generations/quote → POST /v1/generations (with quote_id and Idempotency-Key) → poll GET /v1/generations/{id}
Model idmodel (e.g. wan-3.0, kling-3.0-pro, seedance-2.5) plus mode: t2v, i2v, flf, r2v
frame_images (first / last frame)image_url (i2v and flf) and last_image_url (flf)
input_referencesreference_images in r2v (Wan ≤10, Seedance 2.5 ≤16, Seedance 2.0 ≤9, Happy Horse 1.1 ≤9, H3 ≤5, H3 Max ≤4)
generate_audioWan 3.0 / Prime only: generate_audio (default true). Seedance: always on; sending it returns 400. Kling: always included; leave it out
callback_urlcallback_url on create, or an account webhook (Webhooks)
usage.cost after completionamount in the quote, before anything runs (micro-USD string)
import os, time, uuid, requests

API = "https://api.makernice.com/v1"
H = {"Authorization": f"Bearer {os.environ['MAKERNICE_API_KEY']}"}

job = {"model": "wan-3.0", "mode": "flf",
       "prompt": "The flower opens in time-lapse, morning light.",
       "image_url": "https://example.com/bud.jpg", "last_image_url": "https://example.com/bloom.jpg",
       "duration": 6, "resolution": "720p", "generate_audio": False}

quote = requests.post(f"{API}/generations/quote", json=job, headers=H).json()
print(f"${int(quote['amount']) / 1e6:.2f}")          # $0.47 at v5, locked for 12 minutes
gen = requests.post(f"{API}/generations", json={"quote_id": quote["id"], "input": job},
                    headers={**H, "Idempotency-Key": str(uuid.uuid4())}).json()

while gen["status"] not in ("succeeded", "failed", "canceled"):
    time.sleep(5)
    gen = requests.get(f"{API}/generations/{gen['id']}", headers=H).json()

Guide: Image-to-video and first/last frame.

About Makernice

Makernice is an AI video and image generation API: one API key and one prepaid balance for 16 models from ByteDance, Kuaishou, MiniMax and Alibaba. Every run starts with a quote that locks the price for 12 minutes, through Makernice's own async REST API (quote, create, poll, cancel).

Frequently asked questions

Is there an OpenRouter for AI video generation?

OpenRouter itself has an async video API. Makernice is a media-only alternative: 12 video and 4 image models on one key, with a quote before each run.

Does OpenRouter mark up video prices?

OpenRouter says it passes through provider prices without markup and charges a fee when you buy credits (5.5% on Standard, checked October 22, 2026).

Is Makernice OpenAI-SDK compatible like OpenRouter?

No. Makernice is its own async REST API: you quote, create, poll and, while a job is queued, cancel. It doesn't work with the OpenAI SDK, so plan to rewrite the calls; every request is shown in the docs.

Which is cheaper for Seedance or Wan?

It depends on the model. On October 22, 2026, Wan 3.0, Wan 3.0 Prime, MiniMax H3 Max and Kling 3.0 with audio cost less per second on Makernice, while Seedance 2.5 at 720p, Seedance 2.0 at 720p and 1080p, Seedance 2.0 Fast, Happy Horse 1.1 and MiniMax H3 at 2K cost less on OpenRouter, even after its 5.5% credit fee. For images, Qwen3 Image and Qwen3 Pro Image text-to-image cost less on Makernice, and image-to-image with one input image costs less on OpenRouter. See the dated tables.

What happens if a video generation fails on Makernice?

The held amount is released and you pay nothing. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review.

Related

Product and company names on this page are trademarks of their respective owners. Makernice is not affiliated with, endorsed by or sponsored by them.

Price your media workload on Makernice.

Prepaid in US dollars by card (including Apple Pay and Google Pay) or crypto, $15 to $1,000 per top-up; the balance never expires. Failed runs aren't charged. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review. No top-up fee from Makernice; sales tax/VAT may apply at checkout depending on your location.