POST /v1/video/generations
Submit a video generation job
Request
POST /api/v1/video/generations
Authorization: Bearer sk_xxx
Content-Type: application/jsonBody
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | ✅ | — | Description of the video |
model | string | — | seedance-2.0-fast | Model id |
duration_sec | number | — | model default | Duration in seconds |
aspect_ratio | string | — | '16:9' | 16:9 / 9:16 / 1:1 |
resolution | string | — | '1080p' | 720p / 1080p (Seedance only) |
image_inputs | string[] | — | — | Reference image URLs (first becomes first frame) |
seed | number | — | random | Reproducibility seed |
negative_prompt | string | — | — | What to avoid |
extra | object | — | — | Provider-specific params (pass-through) |
Example
curl -X POST https://genace.ai/api/v1/video/generations \
-H "authorization: Bearer sk_xxx" \
-H "content-type: application/json" \
-d '{
"prompt": "a corgi astronaut floating in space, cinematic",
"duration_sec": 5,
"aspect_ratio": "16:9",
"resolution": "1080p"
}'Response
202 Accepted
{
"job_id": "abc123",
"state": "queued",
"model": "seedance-2.0-fast",
"created_at": "2026-05-29T10:00:00Z",
"credits_held": 25
}401 Unauthorized
Missing or invalid API key.
402 Insufficient Credits
{
"error": {
"type": "insufficient_credits",
"code": "NOT_ENOUGH_CREDITS",
"message": "credits 不足:当前 5,需要 25"
}
}429 Rate Limited / Concurrency Limited
{
"error": {
"type": "rate_limited",
"code": "RATE_LIMIT_EXCEEDED",
"message": "请求过于频繁:每 60s 限 5 次"
}
}Next
After getting job_id, retrieve the result via:
- GET /v1/jobs/:id — single query or long-poll
- GET /v1/jobs/:id/stream — SSE progress stream
Genace Docs