Solutions
POST https://api.vidu.com/ent/v2/one-click/mv
Field
Value
Description
Content-Type
application/json
Data Exchange Format
Authorization
Token \{your api key\}
Replace \{your api key\} with your token
Field
Required to pass
Type
Description
images
is
Array[String]
Model images or style images when users generate MVNote 1: Supports passing in Base64-encoded images or image URLs (ensure they are accessible);Note 2: Supports inputting 1 to 7 images;Note 3: Images support formats such as png, jpeg, jpg, and webp;Note 4: The aspect ratio of images needs to be less than 1:4 or 4:1;Note 5: The size of images should not exceed 50 MB;Note 6: Please note that the byte length after base64 decoding needs to be less than 10M, and the encoding must include an appropriate content type string, for example:data:image/png;base64,\{base64_encode\}
audio_url
is
String
Audio for generating MV is requiredNote 1: Supports passing in Base64 encoding or audio URL (ensure it is accessible);Note 2: Supports inputting 1 audio;Note 3: Supports mp3, wav, aac, m4a formats;Note 4: Outputs the synthesized audio in one go, with the uploaded audio being at least 10 seconds and at most 180 seconds;Note 5: Only the shot list will be output. The uploaded audio should be at least 10 seconds and at most 300 seconds;Note 6: The ByteDance length after base64 decoding needs to be less than 20M, and the encoding must include an appropriate content type string, for example:data:image/png;base64,\{base64_encode\}
lip_sync
Optional
bool
true:Need lip syncfalse:No lip-syncing requiredDefault falseAfter activation, 4 credits will be added per second.Note 1: Non-human subjects are not supported;Note 2: Non-frontal segments in the video are not supported;
prompt
Optional
string
User PromptGenerate a text description for the MV video.Note 1: The character length cannot exceed 3000 characters.
aspect_ratio
Optional
string
Output aspect ratio, default 16:9Optional values: 1:1, 16:9, 9:16, 4:3, 3:4
resolution
Optional
String
Clarity, default 720pAvailable values: 540p, 720p, 1080p
add_subtitle
Optional
Bool
Whether subtitles are needed, default is falsetrue: Subtitles are requiredfalse: No subtitles needed
subtitle_color
Optional
string
Default #FFFFFF, whiteHEX format text color
srt_url
Optional
String
Subtitle file URL
language
Optional
String
Audio language type, default is automaticallyenum: en , zh
callback_url
Optional
String
CallbackWhen creating a task, you need to actively set the callback_url with a POST request. When the video generation task changes its status, Vidu will send a callback request to this URL, containing the latest status of the task. The structure of the callback request content will be the same as the return body of the Get Generation API.The "status" in the callback response includes the following states:- processing: Task is being processed.- success: Task is completed (if sending fails, it will retry the callback three times).- failed: Task failed (if sending fails, it will retry the callback three times).Vidu uses a callback signature algorithm for verification, check out the details here: Callback Signature
Field
Type
Description
id
string
Task ID generated by the vidu for this task
{
  "id": "your_id_here"
}
GET https://api.vidu.com/ent/v2/one-click/mv/{id}
Field
Value
Description
Content-Type
application/json
Data Exchange Format
Authorization
Token \{your api key\}
Replace \{your api key\} with your token
Parameter Name
Type
Required
Parameter Description
id
String
is
Clip ID or Subtask ID
Field
Subfield
Type
Description
id
String
Task ID
state
String
Processing Status
Optional values:
created - Creation successful
processing - Task in progress
success - Task succeeded
failed - Task failed
err_code
String
Error code, see the error code table for details
err_msg
String
Error-related information
created_at
String
Creation Time
signed_url
String
URL of the generated video (available if the video is less than 3 minutes)
job_records
Array
Shot List + Composite Video
type
String
Optional values:
generate_video Video Storyboard
compose Compose All Storyboards
index
Int
Shot Index
jobs
Array
Single shot modification history
id
String
type
String
generate_video/compose
state
String
Processing Status
Optional values:
created - Creation successful
processing - Task in progress
success - Task succeeded
failed - Task failed
signed_url
URL of the storyboard or composite product
{
    "id": "901243326567555072",
    "type": "mv",
    "creator_id": "869085108764676096",
    "state": "success",
    "input": "",
    "job_records": [
        {
            "type": "generate_video",
            "jobs": [
                {
                    "id": "901245331704909824",
                    "type": "generate_video",
                    "input": "",
                    "output": "",
                    "state": "success",
                    "created_at": "2025-12-24T02:59:06.937309Z",
                    "updated_at": "2025-12-24T02:59:35.473978Z",
                    "err_code": "",
                    "err_msg": "",
                    "signed_url": "signed_url",
                    "mv_generate_video_input": {
                        "duration": 3,
                        "prompt": "2.5d建模风格,明亮活泼的色调,极光在北极圈上空舞动,粒子光效闪烁,镜头缓慢推进,营造神秘又欢快的氛围。",
                        "lyric_text": "前奏",
                        "signed_images": []
                    },
                    "index": 0
                }
            ],
            "index": 0
        },
        {
            "type": "compose",
            "jobs": [
                {
                    "id": "901245503243554816",
                    "type": "compose",
                    "input": "",
                    "output": "",
                    "state": "success",
                    "created_at": "2025-12-24T02:59:47.431993Z",
                    "updated_at": "2025-12-24T03:00:13.727780Z",
                    "err_code": "",
                    "err_msg": "",
                    "signed_url": "signed_url",
                    "index": 0
                }
            ],
            "index": 0
        }
    ],
    "created_at": "2025-12-24T02:51:34.070650Z",
    "updated_at": "2025-12-24T03:00:13.734086Z",
    "err_code": "",
    "err_msg": "",
    "signed_url": "signed_url"
}
POST https://api.vidu.com/ent/v2/one-click/mv/{id}/edit
Field
Value
Description
Content-Type
application/json
Data Exchange Format
Authorization
Token \{your api key\}
Replace \{your api key\} with your token
Field
Required to pass
Type
Description
id
is
String
Task ID, placed in the path
job_id
is
String
ID of the shot to be edited
prompt
is
String
User Prompt
Generate a text description for the MV video.
Note 1: The character length cannot exceed 3000 characters.
callback_url
Optional
String
Callback
When creating a task, you need to actively set the callback_url with a POST request. When the video generation task changes its status, Vidu will send a callback request to this URL, containing the latest status of the task. The structure of the callback request content will be the same as the return body of the Get Generation API.
The "status" in the callback response includes the following states:
- processing: Task is being processed.
- success: Task is completed (if sending fails, it will retry the callback three times).
- failed: Task failed (if sending fails, it will retry the callback three times).
Vidu uses a callback signature algorithm for verification, check out the details here: ~Callback Signature~
Field
Type
Description
id
string
Task ID generated by the vidu for this task
{
  "id": "your_job_id_here"
}
POST https://api.vidu.com/ent/v2/one-click/mv/{id}/compose
Field
Value
Description
Content-Type
application/json
Data Exchange Format
Authorization
Token \{your api key\}
Replace \{your api key\} with your token
Field
Required to pass
Type
Description
id
is
String
Task ID, placed in the path
job_ids
is
String
List of shots to be synthesized
callback_url
Optional
String
Callback
When creating a task, you need to actively set the callback_url with a POST request. When the video generation task changes its status, Vidu will send a callback request to this URL, containing the latest status of the task. The structure of the callback request content will be the same as the return body of the Get Generation API.
The "status" in the callback response includes the following states:
- processing: Task is being processed.
- success: Task is completed (if sending fails, it will retry the callback three times).
- failed: Task failed (if sending fails, it will retry the callback three times).
Vidu uses a callback signature algorithm for verification, check out the details here: ~Callback Signature~
Field
Type
Description
id
string
Task ID generated by the vidu for this task
{
  "id": "your_job_id_here"
}