Skip to main content
POST
/
services
/
aigc
/
video-generation
/
video-synthesis
curl --request POST \
  --url https://api.aisa.one/apis/v1/services/aigc/video-generation/video-synthesis \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-DashScope-Async: <x-dashscope-async>' \
  --data '
{
  "model": "wan2.6-t2v",
  "input": {
    "prompt": "cinematic close-up, slow push-in, shallow depth of field"
  },
  "parameters": {
    "resolution": "720P",
    "duration": 5
  }
}
'
{
  "output": {
    "task_id": "b3be072e-cc82-4033-8fb7-0b089846544f",
    "task_status": "PENDING"
  },
  "request_id": "8a931b13-c44f-9230-a76b-83487d840060"
}
Submit an asynchronous video generation task. Returns a task_id to poll via GET /apis/v1/services/aigc/tasks/{task_id}.

Supported models

Four Wan variants share this endpoint:
ModelKindImage input fieldOutput SR
wan2.6-t2vtext-to-videon/a1080
wan2.6-i2vimage-to-videoinput.img_url720
wan2.7-t2vtext-to-videon/a720
wan2.7-i2vimage-to-videoinput.media ⚠️720
Schema trap on wan2.7-i2v. It takes the reference image in input.media (an array of URL strings), not input.img_url like wan2.6-i2v. Submissions without media succeed at HTTP 200 with a task_id, then fail downstream with code: "InvalidParameter" / message: "Field required: input.media". The task is not billed — but you wasted a round trip.

Minimal bodies

{
  "model": "wan2.6-t2v",
  "input": {
    "prompt": "cinematic close-up, slow push-in, shallow depth of field"
  },
  "parameters": { "resolution": "720P", "duration": 5 }
}

Required pieces

  • Header: X-DashScope-Async: enable
  • Body: model + input.prompt always. Image field only for -i2v models (see table).

What the response looks like

{
  "output": {
    "task_id": "b3be072e-cc82-4033-8fb7-0b089846544f",
    "task_status": "PENDING"
  },
  "request_id": "8a931b13-c44f-9230-a76b-83487d840060"
}
Save the task_id and poll /services/aigc/tasks/{task_id} every 3–5 s. See Async Operations for the full polling pattern (including failure handling).

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-DashScope-Async
enum<string>
required

Must be enable to run asynchronously (the only mode currently supported).

Available options:
enable

Body

application/json
model
enum<string>
required

Video generation model. Use -t2v suffix for text-to-video, -i2v for image-to-video. Note the i2v schema difference: wan2.6-i2v takes a reference image via input.img_url (string), while wan2.7-i2v takes it via input.media (array).

Available options:
wan2.6-t2v,
wan2.6-i2v,
wan2.7-t2v,
wan2.7-i2v
Example:

"wan2.6-t2v"

input
object
required

Required body container. prompt is always required; image inputs depend on the model (see field descriptions).

parameters
object

Response

Task created — poll /services/aigc/tasks/{task_id} for progress.

output
object
request_id
string