Skip to main content
The raw Seedance API is a passthrough to the Seedance video generation surface, mounted on the Aurous Labs V1 API. Request and response bodies are shape-identical to the native Seedance video API — the same content[] items, the same task object — with the task identifiers Aurous-native (the create echo is {"id": "vid_…"}), so tutorial code and the official Ark SDK run unchanged. The only thing that changes is where the request goes and how it is billed:
  • Base URLhttps://api.aurous-labs.com/v1 instead of the provider’s host.
  • Key — your Aurous Labs API key (al_live_…) instead of a provider token.
  • Billing — in Aurous credits, metered on the render and settled at success. See Models & pricing.
Everything else — the model names (seedance-2.0, seedance-2.0-fast, seedance-2.0-mini), the parameters, the polling loop, the error bodies — is the Seedance contract you already know.
Looking for identity-consistent video from your own reference footage, managed characters, or a first/last-frame helper with server-side asset handling? That is the value-add POST /v1/videos surface, a different product. The raw API documented here forwards your body verbatim to Seedance and returns its response verbatim.

Authentication

Pass your key either way — both are accepted on every raw endpoint:
The Authorization: Bearer form is the Ark SDK default, so pointing the SDK at Aurous Labs needs no auth changes. Get a key from the dashboard.

Endpoints

Tasks are identified by a vid_… id returned on create. The raw surface speaks vid_… ids only.

60-second quickstart

Submit a text-to-video task, then poll until it succeeds.
The create response is HTTP 200 with the body {"id": "vid_…"} — provider parity, not a 201. Your credit hold for the task is reported on the Aurous-Credits-Held response header; the body is never touched.

Poll until it is done

Generation is asynchronous. Retrieve the task on an interval until status reaches a terminal state (succeeded, failed, expired, or cancelled):
A comfortable poll interval is ~10–15 seconds. Prefer fewer polls? Pass a callback_url on create and Aurous relays an event to it when the task finishes — but the relayed callback is unsigned and best-effort, so treat it as a prompt to fetch authoritative status with a GET, not as trusted data. See Differences → Callbacks.
The video_url (and last_frame_url, if you requested it) expires 24 hours after the video is generated — a provider constraint. Download and store anything you want to keep. The task record itself stays queryable on Aurous well past that (see Retrieve a task).

Next steps

  • Create a task — the full request reference: content items, modes, and every parameter.
  • Retrieve a task — the task object, the status enum, and how the final charge settles.
  • Models & pricing — the per-model rate card, the token formula, and the exact-price guarantee.
  • Differences — the honest delta list vs. the native Seedance API (limits, retention, callbacks, error envelope).