ReferenceMarkdown
Generation object
What POST /v1/generations, GET /v1/generations/{id} and each row of GET /v1/generations return, inside data.
{
"id": "gen_4Fq9xT2mLr7Kd1sV8bN3pZ0c",
"object": "generation",
"status": "succeeded",
"model": "seedance-2.5",
"variant": "720p",
"units": 5,
"price_usd": 1.05,
"outputs": [{ "url": "https://...", "mime": "video/mp4" }],
"created_at": "2026-11-01T18:04:11.000Z",
"finished_at": "2026-11-01T18:06:02.000Z",
"outputs_kept_until": "2026-12-01T18:06:02.000Z"
}| Field | Type | What it is |
|---|---|---|
id | string | gen_ and 24 letters and digits. |
object | string | Always generation. |
status | string | queued, running, succeeded or failed. See Statuses. |
model | string | The model id. |
variant | string | The priced option used, for example 720p or 720p+audio. |
units | number | How many units the price counts (seconds, images, characters ...). |
price_usd | number | The price: reserved while it runs, charged only on success. A failed generation is charged nothing, and price_usd still shows what it would have cost. |
outputs | array | { url, mime } for each file. Empty until succeeded. Download them with /content. |
error | object | Only when failed: { code, message, retryable }, and reason for a content_policy block. See Why a generation failed. |
created_at | string | ISO 8601 time. |
finished_at | string | ISO 8601 time, once final. |
outputs_kept_until | string | Only when succeeded: we keep the files until then, 30 days after the generation finished. Every read gives fresh links. |
status_url, result_url | string | Only on the submit answer: where to poll. |