Create Task
POST
/ent/v2/avatar-video/generationsQuery Creations
GET
/ent/v2/tasks/{task_id}/creationsVidu S Digital Human
Creates an offline avatar video generation task and returns the task ID and status. You can poll the result via the "Query Task" endpoint.
The timeline parameter is a serialized JSON string with the following structure:
{
"actions": [
{ "text": "Make a heart gesture", "time_range": [2, 10] }
]
}text: Action description texttime_range: Action start and end time (in seconds). Must contain 2 uint32 values, representing the start and end time in orderAuthorizationstring*Replace {your api key} with your token
Token {your api key}modelstringModel. Options: vidu-s1. Default: vidu-s1
imagestring*Character image. Supports URL / base64 (with MIME) / ssuploadid
https://scene.vidu.zone/media-asset/084945-xpk47RWYcBgJ27nJ.pngaudiostringSpeech audio. Supports URL / base64 / ssuploadid. At least one of audio or text must be provided (if both are provided, audio takes priority)
Required:Conditional
https://scene.vidu.zone/media-asset/085244-FrJjNf5tKjiZHQkf.mp3textstringSpoken text. At least one of audio or text must be provided (if both are provided, audio takes priority); UTF-8, ≤10000 characters; when text is provided, the system synthesizes it into speech
Required:Conditional
voicestringVoice. Uses the default voice if not provided; only takes effect in text mode (when audio is not provided)
timelinestringAction timeline. Serialized ActionContent JSON (see format below); if not provided, the system automatically generates it based on the audio
{"actions":[{"text":"The female host smiles at the camera, naturally holding a mint-green skincare product at chest height with her left hand, gently nodding her head in greeting, mouth naturally opening to speak, with a warm and gentle gaze","time_range":[0,4]}]}resolutionstringResolution. Options: 540p, 720p. Default: 540p
callback_urlstringCallback URL for task completion. Reuses the existing callback mechanism
payloadstringPass-through parameter, returned as-is
moderationstringModeration policy. Reuses the existing Moderation enum
watermarkbooleanWhether to add a watermark. Reuses the existing watermark logic
wm_positionstringWatermark position. Reuses the existing WatermarkParam
wm_urlstringCustom watermark image URL
meta_datastringPass-through metadata
Returns the status, credits consumed, duration, error information, and list of generated outputs by task ID.
Authorizationstring*Replace {your api key} with your token
Token {your api key}task_idinteger*The task ID returned when the task was created
curl --request POST \
--url 'https://api.vidu.com/ent/v2/avatar-video/generations' \
--header 'Authorization: Token {your api key}' \
--header 'Content-Type: application/json' \
--data '{
"model": "string",
"image": "https://scene.vidu.zone/media-asset/084945-xpk47RWYcBgJ27nJ.png",
"audio": "https://scene.vidu.zone/media-asset/085244-FrJjNf5tKjiZHQkf.mp3",
"text": "string",
"voice": "string",
"timeline": {
"actions": [
{
"text": "The female host smiles at the camera, naturally holding a mint-green skincare product at chest height with her left hand, gently nodding her head in greeting, mouth naturally opening to speak, with a warm and gentle gaze",
"time_range": [
0,
4
]
}
]
},
"resolution": "string",
"callback_url": "string",
"payload": "string",
"moderation": "string",
"watermark": true,
"wm_position": "string",
"wm_url": "string",
"meta_data": "string"
}'{
"task_id": 123456789,
"state": "created",
"model": "vidu-s1",
"resolution": "540p",
"credits": 30,
"created_at": "2026-08-03T03:00:00Z"
}curl --request GET \
--url 'https://api.vidu.cn/ent/v2/tasks/0/creations' \
--header 'Authorization: Token {your api key}'{
"id": "123456789",
"state": "success",
"err_code": "",
"credits": 4,
"duration": 8,
"payload": "",
"creations": [
{
"id": "your_creations_id",
"url": "your_generated_results_url",
"cover_url": "your_generated_results_cover_url",
"watermarked_url": "your_generated_results_watermarked_url"
}
]
}application/jsonResponse fields
task_idintegerTask ID, used to query task status
statestringTask status. Reuses the existing State enum
modelstringModel identifier
resolutionstringResolution
creditsintegerapplication/jsonResponse fields
idstringTask ID
statestringProcessing status
Possible values:created Created successfullyqueueing Task queuedprocessing Task processingsuccess Task succeededfailed Task failed
err_codestringError code, see the error code table for details
creditsintegerNumber of credits consumed by this task, unit: credits
durationintegerGenerated video duration in seconds
payloadstringPassthrough parameter provided when this task was invoked
creationsarrayCreation results
idstringCreation ID, used to identify different creations
urlstringCreation URL, valid for 24 hours
cover_urlstringCreation cover image, valid for 24 hours
watermarked_urlstringWatermarked creation URL, valid for 24 hours
Estimated credits consumed
payloadstringPass-through parameter, returned as-is
created_atstringTask creation time