DOCUMENTATION

Build with video.

A compact async API for generating, tracking, and downloading production video. Download OpenAPI 3.1.

AVAILABLE MODEL

Seedance 2.5

See every required argument, mode constraint, reference limit, price, and complete request example in the model reference.

View model reference

Authentication

Create a key from your dashboard and send it as a bearer token. Keys are shown only once. Keep them on your server and never put one in browser code.

Authorization: Bearer sk_live_...

Create a video

Submit a request to POST /v1/videos. The endpoint reserves the displayed cost and responds immediately with a generation ID.

curl https://api.genapi.cloud/v1/videos \
  -H "Authorization: Bearer $GENAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-video-001" \
  -d '{
    "model": "seedance-2.5",
    "mode": "text-to-video",
    "prompt": "A wide cinematic shot of a sailboat crossing a silver sea",
    "duration_seconds": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "audio": true
  }'
{
  "id": "8e2f4a7e-...",
  "object": "video.generation",
  "model": "seedance-2.5",
  "status": "pending",
  "cost_usd": 1.824
}
Always send a unique Idempotency-Key for create requests. Retrying with the same key returns the original generation and never charges twice.

Check status

Poll the generation until its status is completed or failed. Each poll checks the upstream task directly; a failed status triggers the credit refund.

curl https://api.genapi.cloud/v1/videos/$VIDEO_ID \
  -H "Authorization: Bearer $GENAPI_KEY"

Status moves through pendingrunningcompleted. We recommend exponential backoff starting at 2 seconds.

Download the result

Completed responses include an authenticated relative output URL. Send the same bearer key when downloading. Byte ranges are supported for playback and resuming downloads.

curl https://api.genapi.cloud/v1/videos/$VIDEO_ID/content \
  -H "Authorization: Bearer $GENAPI_KEY" \
  -o output.mp4

Inputs & modes

This page covers the API lifecycle. For the authoritative, field-by-field request contract, use the Seedance 2.5 model reference.

Text to video

Use mode: text-to-video with a prompt and output settings.

Image to video

Use mode: image-to-video, adaptive aspect ratio, and one or two HTTPS URLs in image_urls. Two images pin the first and final frame.

Reference to video

Use mode: reference-to-video with up to 30 image URLs, 10 audio URLs, and 10 account-owned completed IDs in source_video_ids. All references combined may total 50; source videos may total 30 seconds.

Output controls

Duration is 4–30 seconds. Resolution is 480p, 720p, or 1080p. Text and reference modes support 21:9, 16:9, 9:16, 1:1, 4:3, and 3:4; image mode uses adaptive framing. Output is 24 fps with optional synchronized audio.

Errors

Errors use a stable envelope and never expose internal provider details.

{
  "error": {
    "code": "insufficient_credits",
    "message": "Add credits before submitting this generation.",
    "request_id": "..."
  }
}

Use the request ID when contacting support. Retry 429 and 503 responses with exponential backoff. Do not automatically retry other 4xx responses.