Skip to main content
POST
Video edit: create an edit task from a video + reference images + instruction
The Playground on the right lets you debug directly: put Bearer sk-your-api-key in Authorization, fill in model / input.media / parameters, and send the request. A successful submission returns a task_id; see below for polling and download.
This page is the creation endpoint for wan2.7-videoedit (video edit): give a video + 1-5 reference images + a natural-language edit instruction to edit video elements, such as swapping outfits or backgrounds. Note the model name has no hyphen (videoedit). For the full async flow, see the Wan Overview.
  • input.media must contain both a video (the video being edited) and at least one reference_image (the reference asset, ≤5).
  • The model name is wan2.7-videoedit (no hyphen), different from HappyHorse’s happyhorse-1.0-video-edit (with hyphens), so don’t mix them up.
  • Creation requests go to /wan/api/v1/... with X-DashScope-Async: enable; do not use /v1/videos.

Code examples

Parameter and media quick reference

media[] values

The video edit output duration follows the input video, not the duration parameter, so this capability usually does not pass duration.

Response format

Check status and download

Once you have the task_id, follow these three steps to poll status and download the mp4:
  • Poll GET /v1/tasks/{task_id} (with Authorization; the query does not need the X-DashScope-Async header), every 5-10 seconds (not < 3 seconds), until status becomes completed.
  • Status values: submitted (queued) / in_progress (generating; progress often sitting at 30% is normal) / completed (success) / failed (check error).
  • Download: GET the result_url from the response directly, without the Authorization header (it is an OSS signed direct link — sending Auth returns 403); result_url expires in 24 hours by default, so save it promptly.
The above is the quick check/download path for “already have a task_id”. For the full polling loop (with timeout fallback) and Python client, see Wan Overview · Async call flow.

Authorizations

Authorization
string
header
required

The API Key obtained from the APIYI console

Headers

X-DashScope-Async
enum<string>
default:enable
required

Async processing switch; must be set to enable

Available options:
enable

Body

application/json
model
enum<string>
default:wan2.7-videoedit
required

Model ID, fixed wan2.7-videoedit (no hyphen)

Available options:
wan2.7-videoedit
input
object
required
parameters
object

Response

Task submitted; returns task_id and PENDING status

output
object
request_id
string

Unique request identifier

Example:

"..."