Get started
Quickstart
From zero to a finished video in about five minutes.
1. Get an API key
In the Vivideo app, open Settings → More → API Keys (app.vivideo.ai/account/api-keys) and create a key. Copy it now — the full key is shown only once. Set it as an environment variable:
export VIVIDEO_API_KEY="vv_live_..."2. Verify your account
Confirm the key works and check your plan and credit balance:
curl https://api.vivideo.ai/v1/me \
-H "Authorization: Bearer $VIVIDEO_API_KEY"3. Create a video
Video generation is asynchronous — you get an id back immediately. Send an Idempotency-Key so a retry never creates a duplicate:
curl https://api.vivideo.ai/v1/videos \
-H "Authorization: Bearer $VIVIDEO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-first-video-001" \
-d '{
"mode": "manual",
"model": "veo31_fast",
"prompt": "A golden retriever surfing a wave at sunset, cinematic",
"duration_seconds": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}'{
"id": "9c1a7e2b40f14b7f9d3f2a6c8e5d4b21",
"object": "video",
"mode": "manual",
"model": "veo31_fast",
"status": "processing",
"credits_charged": 16,
"poll_interval_seconds": 5
}4. Wait for it, then download
Poll GET /v1/videos/{id} until status is completed — then video_url is your MP4. Respect poll_interval_seconds (usually 5s):
curl https://api.vivideo.ai/v1/videos/VIDEO_ID \
-H "Authorization: Bearer $VIVIDEO_API_KEY"
# → { "id": "...", "status": "completed", "video_url": "https://...mp4" }✓
Prefer not to poll? Register a webhook and get a signed
video.completed event the moment it's done.Next steps
- Create videos — auto vs manual mode, all the options.
- Models — the full catalog with per-model pricing.
- Authentication — keys, security, management.
- Errors & rate limits — handle failures cleanly.
Machine-readable: interactive reference · openapi.yaml · llms-api.txt. Base URL
https://api.vivideo.ai.