idpath · RequiredResource identifier returned by the corresponding create operation.
/api/v1/mv/drafts/{id}Authentication · x-api-key
Save creative choices without purchasing generation. Updates require expectedVersion to match the stored revision; stale updates return 409.
idpath · RequiredResource identifier returned by the corresponding create operation.
Unknown fields are not accepted.
briefRequiredSaved creative choices and source media. Omitted visual style and performance use automatic song-led planning.
Unknown fields are not accepted.
brief.sourceRequiredPublic source media or product reference.
Must match at least one alternative.
brief.source · anyOf 1AlternativeUnknown fields are not accepted.
brief.source · anyOf 1.clipIdRequiredSource clip identifier.
Minimum characters: 1.
brief.source · anyOf 1.typeRequiredSource or product type discriminator.
brief.source · anyOf 2AlternativeUnknown fields are not accepted.
brief.source · anyOf 2.audioUrlRequiredPublic HTTP(S) audio URL.
Format: uri.
brief.source · anyOf 2.typeRequiredSource or product type discriminator.
brief.source · anyOf 2.durationSecOptionalRequested or known media duration in seconds.
Exclusive lower bound: 0.
brief.source · anyOf 2.lyricsOptionalLyrics or lyric context supplied to the operation.
Maximum characters: 5000.
brief.source · anyOf 2.musicStyleOptionalOptional song genre, mood or musical style used to guide automatic visual planning.
Maximum characters: 500.
brief.source · anyOf 2.titleOptionalOptional customer-facing title.
Maximum characters: 200.
brief.aspectRatioOptionalRequested output aspect ratio.
brief.characterImageOptionalPublic character reference image URL.
Format: uri.
brief.descriptionOptionalOptional customer-facing resource description.
Maximum characters: 2000.
brief.engineVersionOptionalGeneration option for this draft. Defaults to vidu-v2; omn-v1 requires successful capability and preflight checks.
Default: "vidu-v2".
brief.performanceModeOptionalOmit or use auto for song-led planning. On Omn V1, auto and story use narrative rendering without forced stage performance. story, sing_dance (singing and dancing) and sing_play (singing while playing an instrument) are Omn-only; perform means stage or instrumental performance. Singing and dance require explicit selection.
Default: "auto".
brief.referenceImagesOptionalPublic reference image URLs.
Maximum items: 6.
brief.referenceImages[]Each itemFormat: uri.
brief.renderTierOptionalOmn 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.
brief.resolutionOptionalOmn V1 delivery resolution. Defaults to the selected tier's default, or 720p. Must match renderTier when supplied.
Default: "540p".
brief.scheduleOptionalOmn 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.
brief.styleIdOptionalOmit or use auto to let the planner choose visual art direction.
Default: "auto".
brief.subtitlesOptionalWhether subtitles are enabled for the MV.
expectedVersionRequiredOptimistic-concurrency guard using the current resource version.
Minimum: 1. Must match at least one alternative.
expectedVersion · anyOf 1AlternativeFormat: integer. Default: 0.
expectedVersion · anyOf 2AlternativeMinimum: 1.
application/json
briefRequiredSaved creative choices and source media. Omitted visual style and performance use automatic song-led planning.
Unknown fields are not accepted.
brief.sourceRequiredMust match at least one alternative.
brief.source · anyOf 1AlternativeUnknown fields are not accepted.
brief.source · anyOf 1.clipIdRequiredMinimum characters: 1.
brief.source · anyOf 1.typeRequiredbrief.source · anyOf 2AlternativeUnknown fields are not accepted.
brief.source · anyOf 2.audioUrlRequiredFormat: uri.
brief.source · anyOf 2.typeRequiredbrief.source · anyOf 2.durationSecOptionalExclusive lower bound: 0.
brief.source · anyOf 2.lyricsOptionalMaximum characters: 5000.
brief.source · anyOf 2.musicStyleOptionalOptional song genre, mood or musical style used to guide automatic visual planning.
Maximum characters: 500.
brief.source · anyOf 2.titleOptionalMaximum characters: 200.
brief.aspectRatioOptionalbrief.characterImageOptionalFormat: uri.
brief.descriptionOptionalMaximum characters: 2000.
brief.engineVersionOptionalGeneration option for this draft. Defaults to vidu-v2; omn-v1 requires successful capability and preflight checks.
Default: "vidu-v2".
brief.performanceModeOptionalOmit or use auto for song-led planning. On Omn V1, auto and story use narrative rendering without forced stage performance. story, sing_dance (singing and dancing) and sing_play (singing while playing an instrument) are Omn-only; perform means stage or instrumental performance. Singing and dance require explicit selection.
Default: "auto".
brief.referenceImagesOptionalMaximum items: 6.
brief.referenceImages[]Each itemFormat: uri.
brief.renderTierOptionalOmn 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.
brief.resolutionOptionalOmn V1 delivery resolution. Defaults to the selected tier's default, or 720p. Must match renderTier when supplied.
Default: "540p".
brief.scheduleOptionalOmn 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.
brief.styleIdOptionalOmit or use auto to let the planner choose visual art direction.
Default: "auto".
brief.subtitlesOptionalexpiresAtRequiredidRequiredplanRequiredplan.performanceModeRequiredplan.requiresPortraitRequiredplan.statusRequiredplan.styleRequiredplan.warningCodesOptionalAdvisory adjustments applied when this draft is compiled, for example MV_SUBTITLE_DISABLED_NO_TIMELINE for an Omn V1 audio draft without subtitle timing.
plan.warningCodes[]Each itemMV 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.
versionRequiredMust match at least one alternative.
version · anyOf 1AlternativeFormat: integer. Default: 0.
version · anyOf 2Alternativeapplication/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
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
errorRequirederror.codeRequiredRATE_LIMITED for request and task admission rejections.
error.messageRequirederror.detailsOptionalOptional 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.
error.details.currentOptionalMinimum: 0.
error.details.inFlightOptionalMinimum: 0.
error.details.limitOptionalMinimum: 0.
error.details.policyOptionalerror.details.retryAfterSecOptionalMinimum: 1.
error.details.scopeOptionalerror.details.tierOptionalerror.details.typeOptionalsuccessRequiredDefault: false.
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses