Preflight MV create
/api/v1/mv/preflightAuthentication · x-api-key
Validate MV create resources and return a reusable create-time estimate without creating a task or charging credits. The returned preflightId may be supplied to POST /api/v1/mv with the same media and generation body to reuse the validated snapshot. Create-time quoteId and maxCredits may be added or changed without invalidating media validation; final credits are determined immediately before task creation and maxCredits caps the authorized charge.
Request
Must match at least one alternative.
-
Request ·
body · anyOf 1AlternativeobjectUnknown fields are not accepted.
17 fields
-
Request ·
body · anyOf 1.modeRequired"fast"Operation or product mode discriminator for this schema variant.
-
Request ·
body · anyOf 1.sourceRequiredobjectPublic source media or product reference.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.source · anyOf 1AlternativeobjectUnknown fields are not accepted.
4 fields
-
Request ·
body · anyOf 1.source · anyOf 1.clipIdRequiredstringSource clip identifier.
Minimum characters: 1.
-
Request ·
body · anyOf 1.source · anyOf 1.typeRequired"suno"Source or product type discriminator.
-
Request ·
body · anyOf 1.source · anyOf 1.lyricsOptionalstringLyrics or lyric context supplied to the operation.
Maximum characters: 5000.
-
Request ·
body · anyOf 1.source · anyOf 1.rangeOptionalobjectOptional source-media range.
2 fields
-
Request ·
body · anyOf 1.source · anyOf 1.range.endSecOptionalnumberScene or source-range end time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 1.source · anyOf 1.range.endSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
Request ·
body · anyOf 1.source · anyOf 1.range.startSecOptionalnumberScene or source-range start time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 1.source · anyOf 1.range.startSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
-
-
Request ·
body · anyOf 1.source · anyOf 2AlternativeobjectUnknown fields are not accepted.
7 fields
-
Request ·
body · anyOf 1.source · anyOf 2.audioUrlRequiredstringPublic HTTP(S) audio URL.
Format: uri.
-
Request ·
body · anyOf 1.source · anyOf 2.typeRequired"audio"Source or product type discriminator.
-
Request ·
body · anyOf 1.source · anyOf 2.durationSecOptionalnumberOptional original-source duration hint. The server downloads and probes the public audio URL with server-side media validation, validates this hint, and transparently segments Fast output up to 600 seconds.
Exclusive lower bound: 0.
-
Request ·
body · anyOf 1.source · anyOf 2.lyricsOptionalstringLyrics or lyric context supplied to the operation.
Maximum characters: 5000.
-
Request ·
body · anyOf 1.source · anyOf 2.musicStyleOptionalstringOptional song genre, mood or musical style used to guide automatic visual planning.
Maximum characters: 500.
-
Request ·
body · anyOf 1.source · anyOf 2.rangeOptionalobjectOptional source-media range.
2 fields
-
Request ·
body · anyOf 1.source · anyOf 2.range.endSecOptionalnumberScene or source-range end time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 1.source · anyOf 2.range.endSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
Request ·
body · anyOf 1.source · anyOf 2.range.startSecOptionalnumberScene or source-range start time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 1.source · anyOf 2.range.startSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
-
Request ·
body · anyOf 1.source · anyOf 2.titleOptionalstringOptional song title used as creative context; does not force a visual style or performance mode.
Maximum characters: 200.
-
-
-
Request ·
body · anyOf 1.aspectRatioOptional"16:9" | "9:16" | "1:1" | "4:3" | "3:4"Requested output aspect ratio.
Must match at least one alternative.
5 fields / alternatives
-
Request ·
body · anyOf 1.aspectRatio · anyOf 1Alternative"16:9" -
Request ·
body · anyOf 1.aspectRatio · anyOf 2Alternative"9:16" -
Request ·
body · anyOf 1.aspectRatio · anyOf 3Alternative"1:1" -
Request ·
body · anyOf 1.aspectRatio · anyOf 4Alternative"4:3" -
Request ·
body · anyOf 1.aspectRatio · anyOf 5Alternative"3:4"
-
-
Request ·
body · anyOf 1.characterImageOptionalstringPublic character reference image URL.
Minimum characters: 1.
-
Request ·
body · anyOf 1.configOptionalobjectStandard task configuration: priority, tags, metadata, and webhookUrl.
4 fields
-
Request ·
body · anyOf 1.config.metadataOptionalobjectFree-form caller metadata, echoed back on read. Stored as opaque JSON; the server never mutates it.
-
Request ·
body · anyOf 1.config.priorityOptionalnumberTask priority 1-10 (higher = sooner). Default 5.
Minimum: 1. Maximum: 10. Default: 5.
-
Request ·
body · anyOf 1.config.webhookUrlOptionalstringURL to receive task.* lifecycle events via the central webhook service.
Format: uri.
-
-
Request ·
body · anyOf 1.generationOptionalobjectProduct-specific generation controls.
Unknown fields are not accepted.
16 fields
-
Request ·
body · anyOf 1.generation.creativeModeOptional"auto" | "lyrics_story" | "prompt_story" | "mood_visual" | "performance" | "sing_dance" | "sing_play"Creative intent used by Fast MV prompt and reference planning.
Must match at least one alternative.
7 fields / alternatives
-
Request ·
body · anyOf 1.generation.creativeMode · anyOf 1Alternative"auto" -
Request ·
body · anyOf 1.generation.creativeMode · anyOf 2Alternative"lyrics_story" -
Request ·
body · anyOf 1.generation.creativeMode · anyOf 3Alternative"prompt_story" -
Request ·
body · anyOf 1.generation.creativeMode · anyOf 4Alternative"mood_visual" -
Request ·
body · anyOf 1.generation.creativeMode · anyOf 5Alternative"performance" -
Request ·
body · anyOf 1.generation.creativeMode · anyOf 6Alternative"sing_dance" -
Request ·
body · anyOf 1.generation.creativeMode · anyOf 7Alternative"sing_play"
-
-
Request ·
body · anyOf 1.generation.engineVersionOptional"vidu-v1" | "vidu-v2" | "omn-v1"Explicit MV generation option. Check capabilities and preflight before selecting omn-v1; unsupported combinations fail before credit debit.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 1.generation.engineVersion · anyOf 1Alternative"vidu-v1" -
Request ·
body · anyOf 1.generation.engineVersion · anyOf 2Alternative"vidu-v2" -
Request ·
body · anyOf 1.generation.engineVersion · anyOf 3Alternative"omn-v1"
-
-
Request ·
body · anyOf 1.generation.lipReferenceImagesOptionalarray<string>Ordered singer portrait URLs for sing/sing_perform; optional on Omn V1 (a performer is generated when omitted), required on Vidu V2 unless characterImage is supplied. The first item maps to the first singer.
Minimum items: 1. Maximum items: 2.
1 field
-
Request ·
body · anyOf 1.generation.lipReferenceImages[]Each itemstringMinimum characters: 1.
-
-
Request ·
body · anyOf 1.generation.managedVersionOptional"oneclick-v1" | "premium-v2"Managed Fast MV engine version. Existing clients default to oneclick-v1; premium-v2 must be selected explicitly.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.generation.managedVersion · anyOf 1Alternative"oneclick-v1" -
Request ·
body · anyOf 1.generation.managedVersion · anyOf 2Alternative"premium-v2"
-
-
Request ·
body · anyOf 1.generation.motionPresetOptional"stable_performance" | "cinematic_light" | "dynamic_dance" | "lip_sync_closeup"Fast MV motion prompt policy.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 1.generation.motionPreset · anyOf 1Alternative"stable_performance" -
Request ·
body · anyOf 1.generation.motionPreset · anyOf 2Alternative"cinematic_light" -
Request ·
body · anyOf 1.generation.motionPreset · anyOf 3Alternative"dynamic_dance" -
Request ·
body · anyOf 1.generation.motionPreset · anyOf 4Alternative"lip_sync_closeup"
-
-
Request ·
body · anyOf 1.generation.motionReferenceVideoOptionalstringOmn V1 Premium V2 dance only: public HTTPS URL of a motion reference video whose moves drive dance shots (render tiers draft/standard). Requires motionRightsConfirmed=true. The URL must declare its size (at most 128 MB) and, when it declares a content type, a video/* or application/octet-stream one; otherwise 400 VALIDATION_ERROR on this field. The video should be 2–660 seconds long with a short side of at least 240 px and a long side of at most 4096 px; its audio is not used (each dance shot uses a silent clip aligned to its song window, looping a shorter video). Motion transfer applies only to 16:9 and 9:16 MVs, and a 16:9 or 9:16 request is rejected with 422 MV_ENGINE_UNSUPPORTED (reason specialist_mode_unsupported) before any charge when motion transfer is unavailable; other aspect ratios, and videos that turn out to be unusable (unreachable, not decodable, or outside these bounds), dance without motion transfer at the same price.
Minimum characters: 1.
-
Request ·
body · anyOf 1.generation.motionRightsConfirmedOptionaltrueRequired with motionReferenceVideo: you confirm you hold the rights to use the motion footage.
-
Request ·
body · anyOf 1.generation.performanceModeOptional"sing" | "sing_perform" | "perform" | "dance"Premium V2 performance mode: singing, singing with performance, instrumental performance, or dance.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 1.generation.performanceMode · anyOf 1Alternative"sing" -
Request ·
body · anyOf 1.generation.performanceMode · anyOf 2Alternative"sing_perform" -
Request ·
body · anyOf 1.generation.performanceMode · anyOf 3Alternative"perform" -
Request ·
body · anyOf 1.generation.performanceMode · anyOf 4Alternative"dance"
-
-
Request ·
body · anyOf 1.generation.promptModeOptional"auto" | "verbatim" | "creative_brief"Whether Fast MV preserves or compiles the caller prompt.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 1.generation.promptMode · anyOf 1Alternative"auto" -
Request ·
body · anyOf 1.generation.promptMode · anyOf 2Alternative"verbatim" -
Request ·
body · anyOf 1.generation.promptMode · anyOf 3Alternative"creative_brief"
-
-
Request ·
body · anyOf 1.generation.qualityOptional"standard" | "high"Requested public quality tier.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.generation.quality · anyOf 1Alternative"standard" -
Request ·
body · anyOf 1.generation.quality · anyOf 2Alternative"high"
-
-
Request ·
body · anyOf 1.generation.referenceStrategyOptional"direct" | "synthesize"Fast MV policy for direct or synthesized references.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.generation.referenceStrategy · anyOf 1Alternative"direct" -
Request ·
body · anyOf 1.generation.referenceStrategy · anyOf 2Alternative"synthesize"
-
-
Request ·
body · anyOf 1.generation.renderTierOptional"draft" | "standard" | "hd" | "ultra"Omn V1 only. draft delivers 540p; standard 720p; hd 1080p; ultra 720p, 1080p or 1440p. When omitted: resolution=1440p or quality="high" selects ultra, standard quality selects draft at 540p and standard at 720p and hd at 1080p. Native shot rendering offers these tiers for both managed versions subject to capability and preflight checks. Dance motion transfer supports draft or standard only.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 1.generation.renderTier · anyOf 1Alternative"draft" -
Request ·
body · anyOf 1.generation.renderTier · anyOf 2Alternative"standard" -
Request ·
body · anyOf 1.generation.renderTier · anyOf 3Alternative"hd" -
Request ·
body · anyOf 1.generation.renderTier · anyOf 4Alternative"ultra"
-
-
Request ·
body · anyOf 1.generation.scheduleOptional"standard" | "economy"Omn V1 only. economy renders shots only in the off-peak window at the same video price as standard scheduling, with a longer delivery window: shots start between 00:00 and 07:40 Beijing time (no new shot in the window's last 20 minutes, so none runs into peak pricing). MVView.generation.scheduleWindow reports the window the waiting shots are bought in; its offPeakEndsAt is the 08:00 window end.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.generation.schedule · anyOf 1Alternative"standard" -
Request ·
body · anyOf 1.generation.schedule · anyOf 2Alternative"economy"
-
-
Request ·
body · anyOf 1.generation.styleOptionalstringRequested creative style direction.
Maximum characters: 200.
-
Request ·
body · anyOf 1.generation.subtitleModeOptional"vidu" | "custom"Fast MV subtitle rendering mode.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.generation.subtitleMode · anyOf 1Alternative"vidu" -
Request ·
body · anyOf 1.generation.subtitleMode · anyOf 2Alternative"custom"
-
-
Request ·
body · anyOf 1.generation.visualBoardOptionalobjectFast MV Visual Board configuration.
Unknown fields are not accepted.
2 fields
-
Request ·
body · anyOf 1.generation.visualBoard.imageProviderOptional"gpt-image-2" | "p-image" | "viduq2"Public image-generation option code.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 1.generation.visualBoard.imageProvider · anyOf 1Alternative"gpt-image-2"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.imageProvider · anyOf 1See schema"gpt-image-2"Expand this value in the interactive reference.
-
-
Request ·
body · anyOf 1.generation.visualBoard.imageProvider · anyOf 2Alternative"p-image"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.imageProvider · anyOf 2See schema"p-image"Expand this value in the interactive reference.
-
-
Request ·
body · anyOf 1.generation.visualBoard.imageProvider · anyOf 3Alternative"viduq2"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.imageProvider · anyOf 3See schema"viduq2"Expand this value in the interactive reference.
-
-
-
Request ·
body · anyOf 1.generation.visualBoard.presetOptional"auto" | "speed" | "detail" | "off"Visual Board speed/detail policy.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 1Alternative"auto"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 1See schema"auto"Expand this value in the interactive reference.
-
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 2Alternative"speed"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 2See schema"speed"Expand this value in the interactive reference.
-
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 3Alternative"detail"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 3See schema"detail"Expand this value in the interactive reference.
-
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 4Alternative"off"1 field
-
Request ·
body · anyOf 1.generation.visualBoard.preset · anyOf 4See schema"off"Expand this value in the interactive reference.
-
-
-
-
-
Request ·
body · anyOf 1.languageOptional"auto" | "en" | "zh"Requested or known language code/name.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 1.language · anyOf 1Alternative"auto" -
Request ·
body · anyOf 1.language · anyOf 2Alternative"en" -
Request ·
body · anyOf 1.language · anyOf 3Alternative"zh"
-
-
Request ·
body · anyOf 1.lipSyncOptionalbooleanWhether the MV should use the supported lip-sync workflow.
-
Request ·
body · anyOf 1.maxCreditsOptionalnumberMaximum OmnAPI credits authorized for this paid request.
Minimum: 1.
-
Request ·
body · anyOf 1.promptOptionalstringPrimary creative or operation instruction.
Maximum characters: 3000.
-
Request ·
body · anyOf 1.referenceImagesOptionalarray<string>Public reference image URLs.
Maximum items: 7.
1 field
-
Request ·
body · anyOf 1.referenceImages[]Each itemstringMinimum characters: 1.
-
-
Request ·
body · anyOf 1.resolutionOptional"540p" | "720p" | "1080p" | "1440p"Delivery resolution. Default 540p. 1440p is available only with generation.engineVersion="omn-v1"; other engines return MV_RESOLUTION_INVALID.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 1.resolution · anyOf 1Alternative"540p" -
Request ·
body · anyOf 1.resolution · anyOf 2Alternative"720p" -
Request ·
body · anyOf 1.resolution · anyOf 3Alternative"1080p" -
Request ·
body · anyOf 1.resolution · anyOf 4Alternative"1440p"
-
-
Request ·
body · anyOf 1.srtUrlOptionalstringPublic URL of caller-supplied SRT subtitles.
Minimum characters: 1.
-
Request ·
body · anyOf 1.subtitleOptionalobjectMV subtitle generation and fallback policy.
Unknown fields are not accepted.
6 fields
-
Request ·
body · anyOf 1.subtitle.fallbackOptional"fail" | "continue_without_subtitles"Behavior when the preferred subtitle path cannot complete.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.subtitle.fallback · anyOf 1Alternative"fail" -
Request ·
body · anyOf 1.subtitle.fallback · anyOf 2Alternative"continue_without_subtitles"
-
-
Request ·
body · anyOf 1.subtitle.languageOptional"auto" | "en" | "zh"Requested or known language code/name.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 1.subtitle.language · anyOf 1Alternative"auto" -
Request ·
body · anyOf 1.subtitle.language · anyOf 2Alternative"en" -
Request ·
body · anyOf 1.subtitle.language · anyOf 3Alternative"zh"
-
-
Request ·
body · anyOf 1.subtitle.maxCostUsdPerMinOptionalnumberMaximum accepted public subtitle price in USD per minute.
Minimum: 0.001. Maximum: 1.
-
Request ·
body · anyOf 1.subtitle.modeOptional"auto" | "provided" | "off"Operation or product mode discriminator for this schema variant.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 1.subtitle.mode · anyOf 1Alternative"auto" -
Request ·
body · anyOf 1.subtitle.mode · anyOf 2Alternative"provided" -
Request ·
body · anyOf 1.subtitle.mode · anyOf 3Alternative"off"
-
-
Request ·
body · anyOf 1.subtitle.qualityOptional"standard" | "premium"Requested public quality tier.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 1.subtitle.quality · anyOf 1Alternative"standard" -
Request ·
body · anyOf 1.subtitle.quality · anyOf 2Alternative"premium"
-
-
Request ·
body · anyOf 1.subtitle.requiredOptionalbooleanWhether the selected subtitle policy must succeed.
-
-
Request ·
body · anyOf 1.subtitleColorOptionalstringRequested subtitle foreground color.
Maximum characters: 20.
-
Request ·
body · anyOf 1.subtitlesOptionalbooleanWhether subtitles are enabled for the MV.
-
Request ·
body · anyOf 1.titleOptionalstringOptional customer-facing title.
Maximum characters: 200.
-
-
Request ·
body · anyOf 2AlternativeobjectUnknown fields are not accepted.
17 fields
-
Request ·
body · anyOf 2.modeRequired"studio"Operation or product mode discriminator for this schema variant.
-
Request ·
body · anyOf 2.sourceRequiredobjectPublic source media or product reference.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 2.source · anyOf 1AlternativeobjectUnknown fields are not accepted.
4 fields
-
Request ·
body · anyOf 2.source · anyOf 1.clipIdRequiredstringSource clip identifier.
Minimum characters: 1.
-
Request ·
body · anyOf 2.source · anyOf 1.typeRequired"suno"Source or product type discriminator.
-
Request ·
body · anyOf 2.source · anyOf 1.lyricsOptionalstringLyrics or lyric context supplied to the operation.
Maximum characters: 5000.
-
Request ·
body · anyOf 2.source · anyOf 1.rangeOptionalobjectOptional source-media range.
2 fields
-
Request ·
body · anyOf 2.source · anyOf 1.range.endSecOptionalnumberScene or source-range end time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 2.source · anyOf 1.range.endSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
Request ·
body · anyOf 2.source · anyOf 1.range.startSecOptionalnumberScene or source-range start time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 2.source · anyOf 1.range.startSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
-
-
Request ·
body · anyOf 2.source · anyOf 2AlternativeobjectUnknown fields are not accepted.
7 fields
-
Request ·
body · anyOf 2.source · anyOf 2.audioUrlRequiredstringPublic HTTP(S) audio URL.
Format: uri.
-
Request ·
body · anyOf 2.source · anyOf 2.typeRequired"audio"Source or product type discriminator.
-
Request ·
body · anyOf 2.source · anyOf 2.durationSecOptionalnumberOptional original-source duration hint. The server downloads and probes the public audio URL with server-side media validation, validates this hint, and transparently segments Fast output up to 600 seconds.
Exclusive lower bound: 0.
-
Request ·
body · anyOf 2.source · anyOf 2.lyricsOptionalstringLyrics or lyric context supplied to the operation.
Maximum characters: 5000.
-
Request ·
body · anyOf 2.source · anyOf 2.musicStyleOptionalstringOptional song genre, mood or musical style used to guide automatic visual planning.
Maximum characters: 500.
-
Request ·
body · anyOf 2.source · anyOf 2.rangeOptionalobjectOptional source-media range.
2 fields
-
Request ·
body · anyOf 2.source · anyOf 2.range.endSecOptionalnumberScene or source-range end time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 2.source · anyOf 2.range.endSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
Request ·
body · anyOf 2.source · anyOf 2.range.startSecOptionalnumberScene or source-range start time in seconds.
Minimum: 0.
1 field
-
Request ·
body · anyOf 2.source · anyOf 2.range.startSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
-
Request ·
body · anyOf 2.source · anyOf 2.titleOptionalstringOptional song title used as creative context; does not force a visual style or performance mode.
Maximum characters: 200.
-
-
-
Request ·
body · anyOf 2.aspectRatioOptional"16:9" | "9:16" | "1:1" | "4:3" | "3:4"Requested output aspect ratio.
Must match at least one alternative.
5 fields / alternatives
-
Request ·
body · anyOf 2.aspectRatio · anyOf 1Alternative"16:9" -
Request ·
body · anyOf 2.aspectRatio · anyOf 2Alternative"9:16" -
Request ·
body · anyOf 2.aspectRatio · anyOf 3Alternative"1:1" -
Request ·
body · anyOf 2.aspectRatio · anyOf 4Alternative"4:3" -
Request ·
body · anyOf 2.aspectRatio · anyOf 5Alternative"3:4"
-
-
Request ·
body · anyOf 2.characterImageOptionalstringPublic character reference image URL.
Minimum characters: 1.
-
Request ·
body · anyOf 2.configOptionalobjectStandard task configuration: priority, tags, metadata, and webhookUrl.
4 fields
-
Request ·
body · anyOf 2.config.metadataOptionalobjectFree-form caller metadata, echoed back on read. Stored as opaque JSON; the server never mutates it.
-
Request ·
body · anyOf 2.config.priorityOptionalnumberTask priority 1-10 (higher = sooner). Default 5.
Minimum: 1. Maximum: 10. Default: 5.
-
Request ·
body · anyOf 2.config.webhookUrlOptionalstringURL to receive task.* lifecycle events via the central webhook service.
Format: uri.
-
-
Request ·
body · anyOf 2.generationOptionalobjectProduct-specific generation controls.
Unknown fields are not accepted.
3 fields
-
Request ·
body · anyOf 2.generation.imageProviderOptional"p-image" | "gpt-image-2" | "viduq2"Public image-generation option code.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 2.generation.imageProvider · anyOf 1Alternative"p-image" -
Request ·
body · anyOf 2.generation.imageProvider · anyOf 2Alternative"gpt-image-2" -
Request ·
body · anyOf 2.generation.imageProvider · anyOf 3Alternative"viduq2"
-
-
Request ·
body · anyOf 2.generation.videoModelOptionalstringPublic scene-video model code.
Maximum characters: 100.
-
Request ·
body · anyOf 2.generation.videoProviderOptional"p-video" | "hailuo" | "minimax-h3" | "vidu"Public scene-video option code.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 2.generation.videoProvider · anyOf 1Alternative"p-video" -
Request ·
body · anyOf 2.generation.videoProvider · anyOf 2Alternative"hailuo" -
Request ·
body · anyOf 2.generation.videoProvider · anyOf 3Alternative"minimax-h3" -
Request ·
body · anyOf 2.generation.videoProvider · anyOf 4Alternative"vidu"
-
-
-
Request ·
body · anyOf 2.languageOptional"auto" | "en" | "zh"Requested or known language code/name.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 2.language · anyOf 1Alternative"auto" -
Request ·
body · anyOf 2.language · anyOf 2Alternative"en" -
Request ·
body · anyOf 2.language · anyOf 3Alternative"zh"
-
-
Request ·
body · anyOf 2.lipSyncOptionalbooleanWhether the MV should use the supported lip-sync workflow.
-
Request ·
body · anyOf 2.maxCreditsOptionalnumberMaximum OmnAPI credits authorized for this paid request.
Minimum: 1.
-
Request ·
body · anyOf 2.promptOptionalstringPrimary creative or operation instruction.
Maximum characters: 3000.
-
Request ·
body · anyOf 2.referenceImagesOptionalarray<string>Public reference image URLs.
Maximum items: 7.
1 field
-
Request ·
body · anyOf 2.referenceImages[]Each itemstringMinimum characters: 1.
-
-
Request ·
body · anyOf 2.resolutionOptional"540p" | "720p" | "1080p" | "1440p"Delivery resolution. Default 540p. 1440p is available only with generation.engineVersion="omn-v1"; other engines return MV_RESOLUTION_INVALID.
Must match at least one alternative.
4 fields / alternatives
-
Request ·
body · anyOf 2.resolution · anyOf 1Alternative"540p" -
Request ·
body · anyOf 2.resolution · anyOf 2Alternative"720p" -
Request ·
body · anyOf 2.resolution · anyOf 3Alternative"1080p" -
Request ·
body · anyOf 2.resolution · anyOf 4Alternative"1440p"
-
-
Request ·
body · anyOf 2.srtUrlOptionalstringPublic URL of caller-supplied SRT subtitles.
Minimum characters: 1.
-
Request ·
body · anyOf 2.subtitleOptionalobjectMV subtitle generation and fallback policy.
Unknown fields are not accepted.
6 fields
-
Request ·
body · anyOf 2.subtitle.fallbackOptional"fail" | "continue_without_subtitles"Behavior when the preferred subtitle path cannot complete.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 2.subtitle.fallback · anyOf 1Alternative"fail" -
Request ·
body · anyOf 2.subtitle.fallback · anyOf 2Alternative"continue_without_subtitles"
-
-
Request ·
body · anyOf 2.subtitle.languageOptional"auto" | "en" | "zh"Requested or known language code/name.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 2.subtitle.language · anyOf 1Alternative"auto" -
Request ·
body · anyOf 2.subtitle.language · anyOf 2Alternative"en" -
Request ·
body · anyOf 2.subtitle.language · anyOf 3Alternative"zh"
-
-
Request ·
body · anyOf 2.subtitle.maxCostUsdPerMinOptionalnumberMaximum accepted public subtitle price in USD per minute.
Minimum: 0.001. Maximum: 1.
-
Request ·
body · anyOf 2.subtitle.modeOptional"auto" | "provided" | "off"Operation or product mode discriminator for this schema variant.
Must match at least one alternative.
3 fields / alternatives
-
Request ·
body · anyOf 2.subtitle.mode · anyOf 1Alternative"auto" -
Request ·
body · anyOf 2.subtitle.mode · anyOf 2Alternative"provided" -
Request ·
body · anyOf 2.subtitle.mode · anyOf 3Alternative"off"
-
-
Request ·
body · anyOf 2.subtitle.qualityOptional"standard" | "premium"Requested public quality tier.
Must match at least one alternative.
2 fields / alternatives
-
Request ·
body · anyOf 2.subtitle.quality · anyOf 1Alternative"standard" -
Request ·
body · anyOf 2.subtitle.quality · anyOf 2Alternative"premium"
-
-
Request ·
body · anyOf 2.subtitle.requiredOptionalbooleanWhether the selected subtitle policy must succeed.
-
-
Request ·
body · anyOf 2.subtitleColorOptionalstringRequested subtitle foreground color.
Maximum characters: 20.
-
Request ·
body · anyOf 2.subtitlesOptionalbooleanWhether subtitles are enabled for the MV.
-
Request ·
body · anyOf 2.titleOptionalstringOptional customer-facing title.
Maximum characters: 200.
-
Responses
200 OK
application/json
Unknown fields are not accepted.
-
Response 200 ·
checksRequiredobjectUnknown fields are not accepted.
5 fields
-
Response 200 ·
checks.referenceImagesRequiredarray<object>1 field
-
Response 200 ·
checks.referenceImages[]Each itemobject8 fields
-
Response 200 ·
checks.referenceImages[].kindRequiredstring -
Response 200 ·
checks.referenceImages[].statusRequired"ok" -
Response 200 ·
checks.referenceImages[].clipIdOptionalstring -
Response 200 ·
checks.referenceImages[].durationSecOptionalnumber -
Response 200 ·
checks.referenceImages[].processingModeOptionalstring -
Response 200 ·
checks.referenceImages[].rangeOptionalobject2 fields
-
Response 200 ·
checks.referenceImages[].range.endSecOptionalnumberMinimum: 0.
1 field
-
Response 200 ·
checks.referenceImages[].range.endSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
Response 200 ·
checks.referenceImages[].range.startSecOptionalnumberMinimum: 0.
1 field
-
Response 200 ·
checks.referenceImages[].range.startSecSee schemanumberExpand this value in the interactive reference.
Minimum: 0.
-
-
-
Response 200 ·
checks.referenceImages[].sourceDurationSecOptionalnumber -
Response 200 ·
checks.referenceImages[].urlOptionalstring
-
-
-
Response 200 ·
checks.sourceRequiredobject8 fields
-
Response 200 ·
checks.source.kindRequiredstring -
Response 200 ·
checks.source.statusRequired"ok" -
Response 200 ·
checks.source.clipIdOptionalstring -
Response 200 ·
checks.source.durationSecOptionalnumber -
Response 200 ·
checks.source.processingModeOptionalstring -
Response 200 ·
checks.source.rangeOptionalobject2 fields
-
Response 200 ·
checks.source.range.endSecOptionalnumberMinimum: 0.
-
Response 200 ·
checks.source.range.startSecOptionalnumberMinimum: 0.
-
-
Response 200 ·
checks.source.sourceDurationSecOptionalnumber -
Response 200 ·
checks.source.urlOptionalstring
-
-
Response 200 ·
checks.characterImageOptionalobject8 fields
-
Response 200 ·
checks.characterImage.kindRequiredstring -
Response 200 ·
checks.characterImage.statusRequired"ok" -
Response 200 ·
checks.characterImage.clipIdOptionalstring -
Response 200 ·
checks.characterImage.durationSecOptionalnumber -
Response 200 ·
checks.characterImage.processingModeOptionalstring -
Response 200 ·
checks.characterImage.rangeOptionalobject2 fields
-
Response 200 ·
checks.characterImage.range.endSecOptionalnumberMinimum: 0.
-
Response 200 ·
checks.characterImage.range.startSecOptionalnumberMinimum: 0.
-
-
Response 200 ·
checks.characterImage.sourceDurationSecOptionalnumber -
Response 200 ·
checks.characterImage.urlOptionalstring
-
-
Response 200 ·
checks.srtUrlOptionalobject8 fields
-
Response 200 ·
checks.srtUrl.kindRequiredstring -
Response 200 ·
checks.srtUrl.statusRequired"ok" -
Response 200 ·
checks.srtUrl.clipIdOptionalstring -
Response 200 ·
checks.srtUrl.durationSecOptionalnumber -
Response 200 ·
checks.srtUrl.processingModeOptionalstring -
Response 200 ·
checks.srtUrl.rangeOptionalobject2 fields
-
Response 200 ·
checks.srtUrl.range.endSecOptionalnumberMinimum: 0.
-
Response 200 ·
checks.srtUrl.range.startSecOptionalnumberMinimum: 0.
-
-
Response 200 ·
checks.srtUrl.sourceDurationSecOptionalnumber -
Response 200 ·
checks.srtUrl.urlOptionalstring
-
-
Response 200 ·
checks.visualBoardOptionalobject8 fields
-
Response 200 ·
checks.visualBoard.kindRequiredstring -
Response 200 ·
checks.visualBoard.statusRequired"ok" -
Response 200 ·
checks.visualBoard.clipIdOptionalstring -
Response 200 ·
checks.visualBoard.durationSecOptionalnumber -
Response 200 ·
checks.visualBoard.processingModeOptionalstring -
Response 200 ·
checks.visualBoard.rangeOptionalobject2 fields
-
Response 200 ·
checks.visualBoard.range.endSecOptionalnumberMinimum: 0.
-
Response 200 ·
checks.visualBoard.range.startSecOptionalnumberMinimum: 0.
-
-
Response 200 ·
checks.visualBoard.sourceDurationSecOptionalnumber -
Response 200 ·
checks.visualBoard.urlOptionalstring
-
-
-
Response 200 ·
creditsRequiredRequirednumberMinimum: 0.
-
Response 200 ·
expiresAtRequiredstring -
Response 200 ·
modeRequired"fast" | "studio" -
Response 200 ·
preflightIdRequiredstring -
Response 200 ·
quoteRequiredobjectUnknown fields are not accepted.
15 fields
-
Response 200 ·
quote.breakdownRequiredobjectUnknown fields are not accepted.
9 fields
-
Response 200 ·
quote.breakdown.baseOptionalnumber -
Response 200 ·
quote.breakdown.composeOperationsOptionalnumber -
Response 200 ·
quote.breakdown.durationOptionalnumber -
Response 200 ·
quote.breakdown.estimatedSceneCountOptionalnumber -
Response 200 ·
quote.breakdown.finalizeOptionalnumber -
Response 200 ·
quote.breakdown.lipSyncOptionalnumber -
Response 200 ·
quote.breakdown.renderPerSceneOptionalnumber -
Response 200 ·
quote.breakdown.scenesOptionalnumber -
Response 200 ·
quote.breakdown.visualBoardOptionalnumber
-
-
Response 200 ·
quote.creditsRequirednumberMinimum: 0.
-
Response 200 ·
quote.assumptionsOptionalarray<string>1 field
-
Response 200 ·
quote.assumptions[]Each itemstring
-
-
Response 200 ·
quote.baseCreditsOptionalnumber -
Response 200 ·
quote.billingIncrementCreditsOptionalnumberMinimum: 0.0001.
-
Response 200 ·
quote.calculatedSubtotalCreditsOptionalnumber -
Response 200 ·
quote.componentsOptionalarray<object>1 field
-
Response 200 ·
quote.components[]Each itemobjectUnknown fields are not accepted.
7 fields
-
Response 200 ·
quote.components[].discountCreditsRequirednumber -
Response 200 ·
quote.components[].discountedCreditsRequirednumber -
Response 200 ·
quote.components[].finalCreditsRequirednumber -
Response 200 ·
quote.components[].keyRequiredstring -
Response 200 ·
quote.components[].labelRequiredstring -
Response 200 ·
quote.components[].publicCreditsRequirednumber -
Response 200 ·
quote.components[].quantityOptionalnumber
-
-
-
Response 200 ·
quote.discountCreditsOptionalnumber -
Response 200 ·
quote.expiresAtOptionalstring -
Response 200 ·
quote.operationOptionalstring -
Response 200 ·
quote.pricingVersionOptionalnumber -
Response 200 ·
quote.quoteIdOptionalstring -
Response 200 ·
quote.settlementPolicyVersionOptionalstring -
Response 200 ·
quote.settlementRoundingCreditsOptionalnumber -
Response 200 ·
quote.warningCodesOptionalarray<string>1 field
-
Response 200 ·
quote.warningCodes[]Each itemstringMV advisory warning codes. Non-fatal: the request still succeeds; these flag degraded, adjusted, or automatically recovered inputs and are projected into public Task warningCodes. Omn review codes (MV_NATIVE_CREATIVE_*, MV_NATIVE_SHOT_INTERNAL_CUT, MV_NATIVE_FRAME_BORDERS) describe the delivered video; their observations and affected scenes are in `quality` of GET /api/v1/tasks/{taskId}/workflow.
-
-
-
Response 200 ·
quoteTypeRequired"validated_estimate" -
Response 200 ·
warningCodesRequiredarray<string>1 field
-
Response 200 ·
warningCodes[]Each itemstringMV advisory warning codes. Non-fatal: the request still succeeds; these flag degraded, adjusted, or automatically recovered inputs and are projected into public Task warningCodes. Omn review codes (MV_NATIVE_CREATIVE_*, MV_NATIVE_SHOT_INTERNAL_CUT, MV_NATIVE_FRAME_BORDERS) describe the delivered video; their observations and affected scenes are in `quality` of GET /api/v1/tasks/{taskId}/workflow.
-
400 Bad Request
application/json
-
Response 400 ·
errorRequiredobject3 fields
-
Response 400 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 400 ·
error.messageRequiredstringHuman readable error message
-
Response 400 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 400 ·
successRequiredfalseAlways false for error responses
401 Unauthorized
application/json
-
Response 401 ·
errorRequiredobject3 fields
-
Response 401 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 401 ·
error.messageRequiredstringHuman readable error message
-
Response 401 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 401 ·
successRequiredfalseAlways false for error responses
402 Payment Required
application/json
-
Response 402 ·
errorRequiredobject3 fields
-
Response 402 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 402 ·
error.messageRequiredstringHuman readable error message
-
Response 402 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 402 ·
successRequiredfalseAlways false for error responses
403 Forbidden
application/json
-
Response 403 ·
errorRequiredobject3 fields
-
Response 403 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 403 ·
error.messageRequiredstringHuman readable error message
-
Response 403 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 403 ·
successRequiredfalseAlways false for error responses
408 Request Timeout
application/json
-
Response 408 ·
errorRequiredobject3 fields
-
Response 408 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 408 ·
error.messageRequiredstringHuman readable error message
-
Response 408 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 408 ·
successRequiredfalseAlways false for error responses
409 Conflict
application/json
-
Response 409 ·
errorRequiredobject3 fields
-
Response 409 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 409 ·
error.messageRequiredstringHuman readable error message
-
Response 409 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 409 ·
successRequiredfalseAlways false for error responses
413 Payload Too Large
application/json
-
Response 413 ·
errorRequiredobject3 fields
-
Response 413 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 413 ·
error.messageRequiredstringHuman readable error message
-
Response 413 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 413 ·
successRequiredfalseAlways false for error responses
422 Unprocessable Entity
application/json
-
Response 422 ·
errorRequiredobject3 fields
-
Response 422 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 422 ·
error.messageRequiredstringHuman readable error message
-
Response 422 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 422 ·
successRequiredfalseAlways false for error responses
429 Too Many Requests
Request allowance or task admission capacity exceeded. Follow Retry-After when present; otherwise wait for active tasks and use bounded backoff. Limits do not guarantee throughput. For SSE, this is the HTTP connection response, not an event.
application/json
-
Response 429 ·
errorRequiredobject3 fields
-
Response 429 ·
error.codeRequiredstringRATE_LIMITED for request and task admission rejections.
-
Response 429 ·
error.messageRequiredstring -
Response 429 ·
error.detailsOptionalobjectOptional and scope-dependent. Request limits supply scope/policy/type/limit/current/retryAfterSec. Task admission supplies inFlight/limit/tier, plus scope=apiKey for a key cap. IP rejection can omit details. In-flight rejection does not promise Retry-After.
8 fields
-
Response 429 ·
error.details.currentOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.inFlightOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.limitOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.policyOptional"operation" | "query" -
Response 429 ·
error.details.retryAfterSecOptionalintegerMinimum: 1.
-
Response 429 ·
error.details.scopeOptional"user" | "api-key" | "ip" | "apiKey" -
Response 429 ·
error.details.tierOptional"FREE" | "PREMIUM" | "ENTERPRISE" -
Response 429 ·
error.details.typeOptional"rps" | "daily" | "monthly"
-
-
-
Response 429 ·
successRequiredfalseDefault: false.
500 Internal Server Error
application/json
-
Response 500 ·
errorRequiredobject3 fields
-
Response 500 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 500 ·
error.messageRequiredstringHuman readable error message
-
Response 500 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 500 ·
successRequiredfalseAlways false for error responses
502 Bad Gateway
application/json
-
Response 502 ·
errorRequiredobject3 fields
-
Response 502 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 502 ·
error.messageRequiredstringHuman readable error message
-
Response 502 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 502 ·
successRequiredfalseAlways false for error responses
503 Service Unavailable
application/json
-
Response 503 ·
errorRequiredobject3 fields
-
Response 503 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 503 ·
error.messageRequiredstringHuman readable error message
-
Response 503 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 503 ·
successRequiredfalseAlways false for error responses