Skip to main content
GET /v1/contents/generations/tasks/{id} returns the full task object. Poll it until status reaches a terminal state. The response body is shape-identical to the native Seedance task object — the same fields, with task ids as Aurous-native vid_… identifiers and two fields normalized back to what you sent (see Normalization).
  • Scope: read
  • Auth: X-Api-Key: al_live_… or Authorization: Bearer al_live_…
cURL

Response

Fields

Status

Poll until status is one of the four terminal values. A comfortable interval is ~10–15 seconds; a queued task may sit for a while (up to your execution_expires_after), so back off rather than hammering. A task whose content includes a person reference can spend a little extra time in queued while that reference is prepared — no different to poll for.

Billing

Billing on the raw surface is hold-then-settle, and rides on headers — the body is never modified.
  1. On create, a credit ceiling is held and reported on Aurous-Credits-Held.
  2. At success, the charge settles on usage.completion_tokens — the actual metered tokens the provider reports. The settled amount appears on the Aurous-Credits-Charged header of a terminal retrieve, and as a line item in GET /v1/usage.
  3. You are charged only on success. failed, expired, and (queued) cancelled tasks charge 0 and release the hold in full.
When you pass an explicit duration, a fixed ratio, and no reference video, the held ceiling equals the final charge exactly — there is nothing to reconcile. For a video-input task the hold assumes the maximum 15 s of reference footage (we never fetch your clip to measure it), so the held ceiling is an upper bound and the settled charge is typically lower. See Models & pricing for the full math.

Normalization

Two fields are restored to what you sent, so the response reflects your own inputs:
  • model — returned as the canonical model id/alias you targeted.
  • safety_identifier — returned as your original value (it is namespaced per team upstream for abuse attribution, then restored on the way out).
Everything else in the task object is the provider’s, verbatim.

Read-through and retention

  • Non-terminal tasks are read live from the provider on each retrieve, so you always see the current status.
  • Terminal tasks are served from Aurous’s stored copy.
Retention delta. Aurous keeps your task records queryable past the provider’s 7-day history purge — a superset of the native API. The video_url and last_frame_url are Aurous streaming URLs (the bytes are proxied through Aurous), and they still expire ~24 hours after the video was generated, so the record remains readable but its media links go stale. Download what you want to keep.

Errors

A vid_… id that belongs to a non-raw generation is not addressable here and returns 404 — the raw surface and the /v1/videos surface never cross-resolve ids.