Skip to Content
API CallVideo GenerationVidu/Image to Video

Vidu/Img2Video

Image-to-video model

Asynchronous Task Submission

Endpoint

https://api.umodelverse.ai/v1/tasks/submit

Input

ParameterTypeRequiredDescription
modelstringYesModel name, options: viduq2-pro, viduq2-turbo
- viduq2-pro: New model, better quality, rich in details
- viduq2-turbo: New model, better quality, fast generation
input.first_frame_urlstringYesFirst frame image, supports image URL or Base64 encoding
input.promptstringNoText prompt for guiding video generation, up to 2000 characters.
parameters.vidu_typestringYesVidu API type, here is img2video
parameters.durationintNoVideo duration
viduq2-pro default is 5, options: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
viduq2-turbo default is 5, options: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
parameters.seedintNoRandom seed, default 0 means using a random number
parameters.resolutionstringNoResolution, viduq2: 540p/720p/1080p, viduq1: 1080p, vidu2.0/1.5: 360p/720p/1080p, default value depends on the model
parameters.movement_amplitudestringNoMovement amplitude, options: auto, small, medium, large, default auto
parameters.bgmboolNoWhether to add background music, default false

Notes:

  • Images support png, jpeg, jpg, webp formats
  • Image ratio should be less than 1:4 or 4:1
  • Image size should not exceed 50 MB
  • Example Base64 encoding format: data:image/png;base64,{base64_encode}

Request Example

⚠️ If you are using Windows, it is recommended to use Postman or other API call tools.

curl --location --globoff 'https://api.umodelverse.ai/v1/tasks/submit' \ --header 'Authorization: <YOUR_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "model": "viduq2-pro", "input": { "first_frame_url": "https://umodelverse-inference.cn-wlcb.ufileos.com/ucloud-maxcot.jpg", "prompt": "make it dance." }, "parameters": { "vidu_type": "img2video", "duration": 5, "resolution": "1080p", "movement_amplitude": "auto", "bgm": true } }'

Output

ParameterTypeDescription
output.task_idstringUnique identifier of the asynchronous task
request_idstringUnique identifier of the request

Response Example

{ "output": { "task_id": "task_id" }, "request_id": "request_id" }

Check Task Status

Endpoint

https://api.umodelverse.ai/v1/tasks/status?task_id=<task_id>

Request Example

curl --location 'https://api.umodelverse.ai/v1/tasks/status?task_id=<task_id>' \ --header 'Authorization: <YOUR_API_KEY>'

Output

ParameterTypeDescription
output.task_idstringUnique identifier of the asynchronous task
output.task_statusstringTask status: Pending, Running, Success, Failure
output.urlsarrayList of video result URLs
output.submit_timeintegerTask submission timestamp
output.finish_timeintegerTask completion timestamp
output.error_messagestringError message returned upon failure
usage.durationintegerVideo duration (seconds)
request_idstringUnique identifier of the request

Response Example

{ "output": { "task_id": "task_id", "task_status": "Success", "urls": ["https://xxxxx/xxxx.mp4"], "submit_time": 1756959000, "finish_time": 1756959050 }, "usage": { "duration": 5 }, "request_id": "" }