POST /v1/contents/generations/tasks submits a video generation task. The request body is shape-identical to the native Seedance video API — Aurous forwards it to the provider verbatim, including any parameters not listed here, so future provider fields keep working. A credit ceiling is held on your team balance and reported on the Aurous-Credits-Held response header.
- Scope:
write - Auth:
X-Api-Key: al_live_…orAuthorization: Bearer al_live_… - Content-Type:
application/json - Max body size: 64 MB (base64 data-URIs are accepted inline)
cURL
Response
HTTP 200 — provider parity (not201). The body is exactly the task id, and nothing else:
Poll the returned id at
GET /v1/contents/generations/tasks/{id} until it reaches a terminal state.
model
The model field accepts a Seedance model id or one of its aliases. Aliases are the friendly names; both resolve to the same model.
The full provider model ids (e.g.
dreamina-seedance-2-0-260128) are also accepted verbatim, so copy-pasted provider tutorial code runs unchanged. See Models & pricing for live rates and capabilities via GET /v1/models.
content[]
content is a non-empty array of items. Each item is one of four types, and image / video / audio items carry a role:
Generation modes
Beyond plain text-to-video (a singletext item), visual inputs select one of three mutually exclusive modes:
- First-frame — one
image_urlwithrole: first_frame. Animate forward from a starting frame. - First + last frame — a
first_frameplus alast_frameimage. Interpolate between two frames. - Multimodal reference — up to 9 reference images, 3 reference videos (each 2–15 s, ≤15 s total), and 3 reference audio clips (≤15 s total). Audio never rides alone — it must accompany another input.
Aurous does not re-validate per-model rules — durations, resolution
support, role combinations, and mode exclusivity are enforced by the provider,
which returns its
400 verbatim. Duplicating those rules here would only drift
from them. We read (never rewrite) resolution, duration, ratio, and whether
any video_url item is present, purely to price the credit hold.Input constraints
Reference videos must be passed as
https:// URLs — base64 inline is accepted for images and audio, but not for video. The provider enforces format, dimension, frame-rate, and duration rules on each file and returns a verbatim error if one is rejected; see Errors.
References with people
Reference images and videos may contain real people. When you pass a person or face reference, the task is accepted immediately — you get avid_… handle right away — and the reference is prepared automatically before generation begins. A task with such a reference may sit in queued a little longer while that preparation completes, then proceeds through running to succeeded like any other task. No extra fields or steps are required on your side; poll the task id as usual. If a reference ultimately can’t be used, the task settles failed with a plain reason.
For identity-consistent video that reuses the same person across many renders, the managed characters path on POST /v1/videos remains the richer option.
Parameters
All parameters below are optional; defaults are the Seedance defaults. Per-model support is noted where it differs.seed and camera_fixed are not supported by the Seedance 2.0 family. service_tier is fixed to the online tier for this family. Unknown parameters are forwarded to the provider untouched.
Errors
Non-2xx responses fall into three classes. Knowing which class you are in tells you whether to fix the request, retry, or contact support.1. Aurous pre-dispatch gates
Conditions Aurous checks before the request reaches the provider. These use Aurous snake_case codes inside the standard envelope{"error":{ "type", "code", "message", "param", "doc_url", "request_id" }}.
2. Provider request-faults (forwarded verbatim)
Problems with the request that only the provider can detect — e.g.InvalidParameter, MissingParameter, and output content checks (Output*SensitiveContentDetected, including their .PolicyViolation variants). These are returned with the provider’s exact status and body. This is the point of the raw surface: you get the provider’s own validation, unmodified.
Input references containing real people are the exception: rather than surfacing as an error, they are prepared automatically and the task continues (see References with people).
3. Account / infrastructure faults (remapped)
Faults on the Aurous side of the connection that you cannot fix and that would leak our account posture are remapped:
See the Errors catalog for the full envelope, the
request_id support workflow, and retry guidance.
