Vidu operation directory
Reference
Choose an operation, then follow create and download.
Supported operations
Section titled “Supported operations”| Category | operation | What it does | Exact input body reference |
|---|---|---|---|
| Video | image-to-video | Animate one image. | Image to Video |
| Video | reference-to-video | Generate video from subject/style references. | Reference to Video |
| Video | start-end-to-video | Generate between start and end frames. | Start/End to Video |
| Video | text-to-video | Generate video from a prompt. | Text to Video |
| Image | reference-to-image | Text-to-image, reference generation, and image editing with 0-7 references. | Reference to Image |
| Audio | text-to-audio | Generate a sound effect or short audio clip. | Text to Audio |
| Audio | timing-to-audio | Generate timed audio segments. | Timing to Audio |
| Speech | text-to-speech | Synthesize speech with a Vidu voice. | Text to Speech |
| Speech | voice-clone | Clone a voice and synthesize a preview. | Voice Clone |
| Video edit | lip-sync | Synchronize video speech to text or audio. | Lip Sync |
| Motion | motion-sync-v1 | Transfer motion from a reference video. | Motion Sync |
| Motion | motion-sync-v2 | Use the current motion-control template. | Motion Sync plus OmnAPI’s injected motion_control_2 template |
| Video edit | extend-video | Extend an existing Vidu creation or public video. | Video Extension |
| Video edit | multi-frame-video | Generate transitions across multiple keyframes. | Multi-Frame |
| Video edit | upscale-video | Upscale a video to 1080p, 2K, 4K, or 8K. | Upscale Pro |
| Video edit | replace-video | Replace an object or region in a video. | Video Replacement |
| Character | digital-human | Generate a speaking character from an image and text/audio. | Digital Human |
| Prompt | prompt-recommendation | Recommend image-to-video prompts. | Prompt Recommendation |
| Template | template | Run a Vidu effect template. | Template |
| Template | template-story | Run a story template. | Template Story |
| Film | general-film-create | Create a general-purpose finished film. | One Click General Film — create |
| Film | general-film-edit | Edit a general-film job; input.id selects the parent. | One Click General Film — edit |
| Film | general-film-compose | Compose selected general-film jobs; input.id selects the parent. | One Click General Film — compose |
| Advertising | ad-film-create | Create a finished advertising film. | One Click Ad-Film — create |
| Advertising | ad-film-edit | Edit advertising footage, narration, or music. | One Click Ad-Film — edit |
| Advertising | ad-film-compose | Compose selected advertising jobs. | One Click Ad-Film — compose |
| Trends | trending-replicate | Recreate a trending video format. | One Click Trending Replicate |
Real-time Vidu S1 sessions are not included because they require a live RTC connection rather than the asynchronous REST task lifecycle.
Complete input field index
Section titled “Complete input field index”The operation sections below list the Vidu body fields currently documented by
OmnAPI. Names are case-sensitive. “One of” means at least one member of that
group must be supplied. Vidu’s callback_url is deliberately absent because
OmnAPI rejects it; use config.webhookUrl. Follow the linked operation
reference in the operation table above for model-dependent ranges, media formats,
dimensions, and file-size limits.
input is intentionally an open pass-through object in the OmnAPI contract.
OmnAPI validates the wrapper, pricing inputs, public-URL-only rule, and callback
restriction; operation-level request validation is completed by Vidu. Fields
outside this index may be forwarded, but they are not part of OmnAPI’s stable
documented contract. This distinction matters to generated SDKs: do not assume
the OpenAPI schema statically validates every nested Vidu field.
Open the operation you intend to call. Field names are also searchable in this page.
image-to-video
Required: model: string, images: string[1]
Optional: prompt, voice_id, is_rec, bgm, audio, audio_type, duration, seed, resolution, movement_amplitude, payload, off_peak
reference-to-video
Required: model, subjects[], prompt
Optional: auto_subjects, audio, audio_type, duration, seed, aspect_ratio, resolution, movement_amplitude, payload, off_peak; each subject requires name and images[], with optional voice_id
start-end-to-video
Required: model, images: string[2]
Optional: prompt, is_rec, duration, seed, resolution, movement_amplitude, bgm, audio, payload, off_peak
text-to-video
Required: model, prompt
Optional: style, duration, seed, aspect_ratio, resolution, movement_amplitude, bgm, audio, payload, off_peak
reference-to-image
Required: model, prompt
Optional: images (0–7 for viduq2, 1–7 for viduq1), seed, aspect_ratio, resolution, payload
text-to-audio
Required: model, prompt
Optional: duration, seed
timing-to-audio
Required: model, timing_prompts[]
Optional: duration, seed; each timing item uses from, to, and prompt
text-to-speech
Required: text, voice_setting_voice_id
Optional: voice_setting_speed, voice_setting_volume, voice_setting_pitch, voice_setting_emotion, payload
voice-clone
Required: audio_url, voice_id, text
Optional: prompt_audio_url, prompt_text, payload
lip-sync
Required: video_url, one of audio_url or text
Optional: speed, voice_id, ref_photo_url, volume
motion-sync-v1
Required: image_url, video_url
Optional: payload
motion-sync-v2
Required: images, video_urls
Optional: template (motion_control_2 by default; motion_control_2.5 is accepted), payload
extend-video
Required: model, one of video_creation_id or video_url
Optional: images, prompt, duration, resolution, payload
multi-frame-video
Required: model, start_image, image_settings[]
Optional: resolution, payload; every image_settings item requires key_image and may include prompt and duration
upscale-video
Required: one of video_url or video_creation_id
Optional: upscale_resolution, payload
replace-video
Required: video_url, object, image
Optional: prompt, start_from, payload; also requires pricingContext.providerCreditCap
digital-human
Required: model, image, plus the speech/prompt fields required by the selected mode
Optional: prompt, audio_url, text, voice_id, resolution, payload; also requires pricingContext.providerCreditCap
prompt-recommendation
Required: images, type[] (template, img2video, or both)
Optional: resolution, count (1–10)
template
Required: template, images[]
Optional: prompt, seed, aspect_ratio, area, beast, bgm, payload; also requires pricingContext.providerCreditCap
template-story
Required: story, images[]
Optional: payload; also requires pricingContext.providerCreditCap
general-film-create
Required: images[], duration (10–180)
Optional: prompt, aspect_ratio, payload
general-film-edit
Required: id, job_id, prompt
Optional: None
general-film-compose
Required: id, job_ids
Optional: None
ad-film-create
Required: images[]
Optional: prompt, duration, aspect_ratio, language
ad-film-edit
Required: ad_one_click_task_id, type, prompt
Optional: storyboard_video_index (required when type is generate_video), payload
ad-film-compose
Required: ad_one_click_task_id, video_task_ids[], bgm_task_id, narration_task_id
Optional: payload
trending-replicate
Required: video_url, images[]
Optional: prompt, aspect_ratio, resolution, remove_audio