Create a video task (ARK alias)
Same handler as POST /v1/videos/generations, but the response
body matches the official Volcengine Ark seedance shape: id
is the upstream task id, no extra upstream_id wrapper.
Lets clients already wired up to the official Ark SDK switch to
XRToken by changing only base_url and api_key. The official SDK
prefix is /api/v3; XRToken also accepts /api/v3, /v3, /api/v1,
and /v1. Auth, billing, model routing, and channel selection are
shared with the OpenAI path. Seedance 2.5 draft mode uses this path too: the create response id is the draft task ID to pass as draft_task.id.
Authorization
BearerAuth API key authentication (OpenAI format). Pass in the Authorization header:
Authorization: Bearer tr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X post "https://api.xrtoken.ai/v1/contents/generations/tasks" \ -H "Content-Type: application/json" \ -d '{ "model": "volcengine/doubao-seedance-2-0-260128", "content": [ { "type": "text" } ] }'{
"id": "string",
"model": "string",
"status": "queued",
"created_at": "2019-08-24T14:15:22Z"
}{
"error": "model field is required",
"type": "invalid_request_error"
}{
"error": "invalid or missing API key",
"type": "auth_error"
}{
"error": "insufficient balance -- please top up or upgrade your plan",
"type": "billing_error"
}{
"error": "rate limit exceeded",
"type": "rate_limit_error"
}{
"error": "upstream provider error",
"type": "server_error"
}