AI video generation API: one key, every model
44 video models behind one AI video generation API key: Veo, Kling, Seedance, Wan, Runway, Hailuo and the uncensored builds, priced per second or per clip and read live. Paid by card or in USDT, USDC, BTC, ETH, SOL, no KYC, nothing added on the top-up.
Every video model on the key
"From" is the lowest base setting; per-second is that price over the clip length where the model bills per clip. The developer list price sits beside ours where one is on record. The media models page has every tier.
| Model | Developer | From | Per second | Developer list |
|---|---|---|---|---|
| Veo 3.1 Liteveo-3.1-lite | $0.24per generation, resolution 720p | $0.03 | $0.4040% under | |
| Grok Imagine Videogrok-imagine-video | xAI | $0.2093per generation, duration 6 | $0.0349 | $0.3030% under |
| Veo 3.1 Fastveo-3.1-fast | $0.48per generation, resolution 720p | $0.06 | $0.8040% under | |
| Seedance 2 Miniseedance-2-mini | ByteDance | $0.0625per second, resolution 480p | $0.0625 | $0.0625 |
| Kling O3 Standardkling-o3-standard | Kling | $0.0625per second, sound false | $0.0625 | $0.08425% under |
| Seedance 1.0 Proseedance-1.0-pro | ByteDance | $0.3706per generation, resolution 720p, duration 5 | $0.0741 | $0.617639% under |
| Kling O3 Prokling-o3-pro | Kling | $0.0813per second, sound false | $0.0813 | $0.11227% under |
| Runway Gen-4.5runway-gen-4.5 | Runway | $0.4688per generation, duration 5 | $0.0938 | $0.6021% under |
| Kling 3.0 Turbo Standardkling-3.0-turbo-standard | Kling | $0.1063per second | $0.1063 | $0.1125% under |
| Kling 3.0 Turbo Prokling-3.0-turbo-pro | Kling | $0.1375per second | $0.1375 | $0.141% under |
| Happy Horse 1.1happy-horse-1.1 | Alibaba | $0.1375per second, resolution 720p | $0.1375 | $0.1375 |
| Veo 3.1veo-3.1-quality | $1.92per generation, resolution 720p | $0.24 | $3.2040% under | |
| Kling 3.0 4Kkling-3.0-4k | Kling | $0.3125per second | $0.3125 | $0.4225% under |
| Kling O3 4Kkling-o3-4k | Kling | $0.3125per second | $0.3125 | $0.4225% under |
| Seedance 1.5 Proseedance-1.5-pro | ByteDance | $0.0563per generation, resolution 480p, duration 4, generate audio false | $0.0141 | — |
| Hailuo 2.3hailuo-2.3 | MiniMax | $0.2188per generation, resolution 768p, duration 6 | $0.0365 | — |
| Kling 2.1 Standardkling-2.1-standard | Kling | $0.1875per generation, duration 5 | $0.0375 | — |
| Wan 2.5 Text to Videowan-2.5-text-to-video | Alibaba | $0.1875per generation, aspect ratio 832*480, duration 5 | $0.0375 | — |
| Wan 2.5 Image to Videowan-2.5-image-to-video | Alibaba | $0.1875per generation, resolution 480p, duration 5 | $0.0375 | — |
| Kling Avatar 2.0 Standardkling-avatar-2.0-standard | Kling | $0.0438per second | $0.0438 | — |
| Kling 2.6 Motion Controlkling-2.6-motion-control | Kling | $0.05per second, resolution 720p | $0.05 | — |
| Kling 2.5 Turbo Prokling-2.5-turbo-pro | Kling | $0.2625per generation, duration 5 | $0.0525 | — |
| Kling 2.1 Prokling-2.1-pro | Kling | $0.3438per generation, duration 5 | $0.0688 | — |
| Wan 2.2 Text to Videowan-2.2-text-to-video | Alibaba | $0.0725per second | $0.0725 | — |
| Wan 2.2 Image to Videowan-2.2-image-to-video | Alibaba | $0.0725per second | $0.0725 | — |
| Wan 2.7 Text to Videowan-2.7-text-to-video | Alibaba | $0.075per second, resolution 720p | $0.075 | — |
| Wan 2.7 Image to Videowan-2.7-image-to-video | Alibaba | $0.075per second, resolution 720p | $0.075 | — |
| Kling 3.0 Motion Controlkling-3.0-motion-control | Kling | $0.0756per second, resolution 720p | $0.0756 | — |
| LTX-2.3 Image-to-Video Uncensoredltx-2.3-i2v-uncensored uncensored | Lightricks | $0.08per second, resolution 480p | $0.08 | — |
| Kling 2.6kling-2.6 | Kling | $0.4063per generation, duration 5, sound false | $0.0813 | — |
| Seedance 2 Fastseedance-2-fast | ByteDance | $0.0875per second, resolution 480p | $0.0875 | — |
| Kling Avatar 2.0 Prokling-avatar-2.0-pro | Kling | $0.0875per second | $0.0875 | — |
| Wan 2.6 Text to Videowan-2.6-text-to-video | Alibaba | $0.50per generation, resolution 720p, duration 5 | $0.10 | — |
| Wan 2.6 Image to Videowan-2.6-image-to-video | Alibaba | $0.50per generation, resolution 720p, duration 5 | $0.10 | — |
| Seedance 2seedance-2 | ByteDance | $0.125per second, resolution 480p | $0.125 | — |
| Kling 3.0 Standardkling-3.0-standard | Kling | $0.1688per second, sound false | $0.1688 | — |
| Wan 3.0 Text to Videowan-3.0-text-to-video | Alibaba | $0.20per second, resolution 480p | $0.20 | — |
| Wan 3.0 Image to Videowan-3.0-image-to-video | Alibaba | $0.20per second, resolution 480p | $0.20 | — |
| Wan 3.0 Video Uncensoredwan-3.0-video-uncensored uncensored | Alibaba | $0.20per second, resolution 480p | $0.20 | — |
| Wan 3.0 Image-to-Video Uncensoredwan-3.0-i2v-uncensored uncensored | Alibaba | $0.20per second, resolution 480p | $0.20 | — |
| Kling 3.0 Prokling-3.0-pro | Kling | $0.2438per second, sound false | $0.2438 | — |
| Wan 3.0 Prime Text to Videowan-3.0-prime-text-to-video | Alibaba | $0.272per second, resolution 480p | $0.272 | — |
| Wan 3.0 Prime Image to Videowan-3.0-prime-image-to-video | Alibaba | $0.272per second, resolution 480p | $0.272 | — |
| Seedance 2.5seedance-2.5 | ByteDance | $0.56per second, resolution 480p | $0.56 | — |
USD, read from the catalog at render. Sound, 4K and longer durations are separate tiers on the models that offer them; the charge is fixed when the request is accepted and refunded in full if the generation fails.
Submit, poll, download
Every video model answers the same endpoint. The model id and the input fields change; the loop does not. Google's Gemini API and Runway's developer API each need their own account, key and billing; here one key does the lot.
1. Submit a clip
curl https://api.relayswitch.io/v1/generations \ -H "Authorization: Bearer YOUR_RELAYSWITCH_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "veo-3.1-fast", "input": { "prompt": "A paper boat drifting across a pond at sunrise", "resolution": "720p", "aspect_ratio": "16:9" } }'The answer is 202 with a generation id, status queued and the charge, set before the clip renders. The media guide shows the full body.
2. Poll until it succeeds
curl https://api.relayswitch.io/v1/generations/gen_4f1c9a… \ -H "Authorization: Bearer YOUR_RELAYSWITCH_KEY"Status moves queued, running, succeeded or failed. On succeeded, outputs[0].url is the MP4, served with your key for 30 days. On failed, charge.refunded is true.
A batch of shots in twenty lines
requests is the whole client. The function below submits, waits and returns the file URL; the loop renders one clip per line of a prompt file.
import os, time, requests BASE = "https://api.relayswitch.io/v1"HEADERS = {"Authorization": f"Bearer {os.environ['RELAYSWITCH_KEY']}"} def make_clip(model: str, prompt: str, **settings) -> str: gen = requests.post(f"{BASE}/generations", headers=HEADERS, json={"model": model, "input": {"prompt": prompt, **settings}}, timeout=30).json() while gen["status"] not in ("succeeded", "failed"): time.sleep(5) gen = requests.get(f"{BASE}/generations/{gen['id']}", headers=HEADERS, timeout=30).json() if gen["status"] == "failed": raise RuntimeError("failed; refunded=" + str(gen["charge"]["refunded"])) return gen["outputs"][0]["url"] # served for 30 days under the generation id for i, line in enumerate(open("shots.txt")): url = make_clip("seedance-2", line.strip(), resolution="720p", duration=5) open(f"shot-{i:02d}.mp4", "wb").write(requests.get(url, headers=HEADERS, timeout=120).content)To move the same script to Veo, pass resolution="720p" and drop duration (Veo clips have one length); for Kling 3.0 pass duration and sound; for Runway Gen-4.5 pass duration and aspect_ratio. Each model's fields and allowed values are in GET https://api.relayswitch.io/v1/catalog/media, with the price of each combination, so a script can read the price before it submits.
A key in three steps, no KYC
- 01Open an accountAn email address is the whole sign-up. No Google, Runway or Kling account, no identity documents, no phone number.
- 02Top upFrom $10 by card, Apple Pay, PayPal or in USDT, USDC, BTC, ETH, SOL. The balance is USD, does not expire, and nothing is added on the top-up.
- 03Create a key and submitCreate a key in the console, POST to https://api.relayswitch.io/v1/generations with any model id in the table. The charge is taken from the balance when the request is accepted.
What is stored: the email address, each top-up with its amount, the keys you create, and one generation record per request (id, model, settings, charge, the file for 30 days). Not stored: a name, an ID, a phone number, or a card for crypto top-ups. The privacy page lists it in full.
"AI video generation API free" turns up trial credits and demo wrappers. Google's Gemini API video page and Runway's developer docs both bill per clip or per credit from a paid account. A $10 top-up here is the floor; the per-second column says how far it goes.
AI video by API: questions
Cost, automation and what is kept.
Every video model, one prepaid key
From $10 by card or in USDT, USDC, BTC, ETH, SOL. Failed generations refunded. No KYC.