A text-to-video API turns a text prompt into a short video clip — programmatically, so you can script generation into pipelines instead of clicking through a consumer app. This guide covers the API shape common to modern video models, the live models on Kunavo today, per-clip pricing, and the async pattern you need in production.
How a text-to-video API works
The shape is the same across modern video models: send a prompt and parameters (duration, aspect_ratio, resolution), get back a hosted video URL. Kunavo exposes this through one OpenAI-style endpoint, /v1/video/generations, so you switch between video models by changing the model string — no new SDK or integration.
import requests
# One OpenAI-style endpoint for every text-to-video model.
resp = requests.post(
"https://api.kunavo.com/v1/video/generations",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "veo-3", # swap the model, same request
"prompt": "a cinematic dolly-in on a red origami crane unfolding",
"duration": 5,
"aspect_ratio": "16:9",
},
timeout=600, # generation takes minutes
)
print(resp.json()["data"][0]["url"])Text-to-video models on Kunavo
Three families are live today: Google Veo 3 (cinematic quality with native audio), ByteDance Seedance 2 (multi-shot storytelling and reference consistency) and Alibaba Wan 2.7 (budget cinematic, per-second billing). Sora, Kling and Hailuo are on the roadmap; because the endpoint is model-agnostic, adopting any of them is a one-word change to the model field.
| Model | Status | Pricing | Guide |
|---|---|---|---|
veo-3 (Google) | Live | $0.16–$1.92 / 8s clip | Veo 3 API |
seedance-2 (ByteDance) | Live | $0.093–$0.612 / second | Seedance API |
wan-2-7 (Alibaba) | Live | $0.096–$0.144 / second | Wan API |
| Sora / Sora 2 (OpenAI) | Roadmap | — | Sora API |
| Kling (Kuaishou) | Roadmap | — | Kling API |
| Hailuo (MiniMax) | Roadmap | — | Hailuo API |
Pricing
Veo 3 is billed per video (per 8-second clip at 720p shown here), about 40–60% under Google's list price. Higher resolutions cost more — the pricing page has the full tier table, and the cost calculator estimates token workloads.
| Model | From (720p / 8s) | Google list | You save |
|---|---|---|---|
| veo-3-lite | $0.16 | $0.40 | ~60% |
| veo-3 (Fast) | $0.32 | $0.80 | ~60% |
| veo-3-quality | $1.92 | $3.20 | ~40% |
Image-to-video
To animate a still, pass image_url (an https URL or an uploaded file) alongside the prompt; pass a first and last frame for controlled transitions. Full parameters are in the video docs.
The async task lifecycle
Generation takes minutes, so in production you don't hold the connection. Submit a task to /v1/videos, get a task id back immediately, then poll GET /v1/videos/{id} until it completes. Result URLs are permanent.
# Production: submit a task and poll — don't hold a long connection.
task = requests.post(
"https://api.kunavo.com/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}",
"Idempotency-Key": "my-task-uuid"},
json={"model": "veo-3", "prompt": "...", "duration": 5},
timeout=60,
).json()
# then poll GET /v1/videos/{task["id"]} until status == "completed"FAQ
What is a text-to-video API?
An API that generates a video clip from a text prompt. You POST a prompt and parameters to /v1/video/generations and receive a hosted video URL.
What is the best text-to-video API?
Google Veo 3 is the strongest generally available model today; it's live on Kunavo alongside ByteDance's Seedance 2 (multi-shot consistency) and Alibaba's Wan 2.7 (budget cinematic). Sora, Kling and Hailuo are on the roadmap behind the same endpoint.
Is there a free text-to-video API?
No meaningful free tier exists — video is compute-heavy, so you pay per clip. Kunavo is pay-as-you-go from a $5 top-up; Veo 3 starts at $0.16 per 8s 720p clip.
How long does generation take?
Minutes. Use the async /v1/videos task API and poll in production; details in the video docs.