VidLabDocsDashboard
ReferenceMarkdown

Generation object

What POST /v1/generations, GET /v1/generations/{id} and each row of GET /v1/generations return, inside data.

json
{
  "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"
}
FieldTypeWhat it is
idstringgen_ and 24 letters and digits.
objectstringAlways generation.
statusstringqueued, running, succeeded or failed. See Statuses.
modelstringThe model id.
variantstringThe priced option used, for example 720p or 720p+audio.
unitsnumberHow many units the price counts (seconds, images, characters ...).
price_usdnumberThe 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.
outputsarray{ url, mime } for each file. Empty until succeeded. Download them with /content.
errorobjectOnly when failed: { code, message, retryable }, and reason for a content_policy block. See Why a generation failed.
created_atstringISO 8601 time.
finished_atstringISO 8601 time, once final.
outputs_kept_untilstringOnly when succeeded: we keep the files until then, 30 days after the generation finished. Every read gives fresh links.
status_url, result_urlstringOnly on the submit answer: where to poll.