Read MV generation capabilities
/api/v1/mv/capabilitiesAuthentication · x-api-key
Read generation options and constraints available to the caller. `native` describes the optional Omn V1 engine (`generation.engineVersion="omn-v1"`): `selectableContracts` keeps its boolean shape, and `selectableContractDetails` adds per-contract readiness, duration, resolution, aspect-ratio, render-tier, schedule, shot-type, singing, singer-count, dance and motion-video hints derived from the same admission rules; reading them never starts or purchases a generation. `defaultEngine` reports the enabled contracts and rolloutPercent (default 0): a stable percentage of users with implicit Fast requests is evaluated for Omn V1; the rest and rejected requests stay on Vidu. Explicit engine selections and saved execution plans are unchanged. A successful preflight is still required before purchasing a supported combination.
Request
No request parameters.
Responses
200 OK
application/json
-
Response 200 ·
managedRequiredobject3 fields
-
Response 200 ·
managed.modesRequiredarray<"sing" | "sing_perform" | "perform" | "dance">1 field
-
Response 200 ·
managed.modes[]Each item"sing" | "sing_perform" | "perform" | "dance"Premium V2 performance mode: singing, singing with performance, instrumental performance, or dance.
-
-
Response 200 ·
managed.singerPortraitRequiredRequiredboolean
-
-
Response 200 ·
nativeRequiredobject6 fields
-
Response 200 ·
native.newAdmissionEnabledRequiredboolean -
Response 200 ·
native.pilotSelectableRequiredboolean -
Response 200 ·
native.selectableContractsRequiredobject2 fields
-
Response 200 ·
native.selectableContracts.oneclickV1Requiredboolean
-
-
Response 200 ·
native.specialistModesVerifiedRequiredboolean -
Response 200 ·
native.defaultEngineOptionalobjectUnknown fields are not accepted.
3 fields
-
Response 200 ·
native.defaultEngine.contractsRequiredarray<"oneclick-v1" | "premium-v2:perform" | "premium-v2:sing" | "premium-v2:sing_perform" | "premium-v2:dance">Purchase profiles (managedVersion[:performanceMode]) the default engine applies to.
1 field
-
Response 200 ·
native.defaultEngine.contracts[]Each item"oneclick-v1" | "premium-v2:perform" | "premium-v2:sing" | "premium-v2:sing_perform" | "premium-v2:dance"
-
-
Response 200 ·
native.defaultEngine.enabledRequiredbooleanTrue when a nonzero percentage of users can have implicit Fast requests evaluated for Omn V1. Others stay on Vidu; an explicit engineVersion is never changed.
-
Response 200 ·
native.defaultEngine.rolloutPercentOptionalnumberEffective percentage of stable user cohorts selected for the implicit Omn V1 rollout. Defaults to 0; admission may reduce actual Omn traffic. Preflight and committed Task plans stay pinned.
Minimum: 0. Maximum: 100.
-
-
Response 200 ·
native.selectableContractDetailsOptionalobject2 fields
-
Response 200 ·
native.selectableContractDetails.oneclickV1RequiredobjectUnknown fields are not accepted.
17 fields
-
Response 200 ·
native.selectableContractDetails.oneclickV1.selectableRequiredbooleanSame value as the boolean in selectableContracts: Omn V1 is open for this contract and at least a minimum-length standard request fits its current limits.
-
Response 200 ·
native.selectableContractDetails.oneclickV1.aspectRatiosOptionalarray<string>1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.aspectRatios[]Each itemstring1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.aspectRatios[]See schemastringExpand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.capabilityReadinessOptionalobject2 fields
-
Response 200 ·
native.selectableContractDetails.oneclickV1.capabilityReadiness.narrativeRequiredobject1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.capabilityReadiness.narrativeSee schemaobjectExpand this value in the interactive reference.
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.capabilityReadiness.singingRequiredobject1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.capabilityReadiness.singingSee schemaobjectExpand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.characterImageOptionalbooleancharacterImage (an identity anchor kept on every shot with the cast) is accepted.
-
Response 200 ·
native.selectableContractDetails.oneclickV1.danceOptionalbooleanperformanceMode=dance is available (V2).
-
Response 200 ·
native.selectableContractDetails.oneclickV1.lipSyncOptionalbooleanSinging shots are available: lipSync=true (V1) or performanceMode sing/sing_perform (V2). Probed with reference images; a text-only request (no reference images, visual board or portraits) also needs a text-capable singing route, so preflight may still reject it.
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxDurationSecOptionalstring | integerLongest effective output currently admitted for a plain standard request; 0 when not selectable.
Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxDurationSec · anyOf 1AlternativestringFormat: integer. Default: 0.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxDurationSec · anyOf 1See schemastringExpand this value in the interactive reference.
Format: integer. Default: 0.
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxDurationSec · anyOf 2AlternativeintegerLongest effective output currently admitted for a plain standard request; 0 when not selectable.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxDurationSec · anyOf 2See schemaintegerExpand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxSingersOptionalstring | integerLargest number of ordered singer portraits supported.
Minimum: 0. Maximum: 2. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxSingers · anyOf 1AlternativestringFormat: integer. Default: 0.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxSingers · anyOf 1See schemastringExpand this value in the interactive reference.
Format: integer. Default: 0.
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxSingers · anyOf 2AlternativeintegerLargest number of ordered singer portraits supported.
Minimum: 0. Maximum: 2.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.maxSingers · anyOf 2See schemaintegerExpand this value in the interactive reference.
Minimum: 0. Maximum: 2.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.minDurationSecOptionalstring | integerMust match at least one alternative.
2 fields / alternatives
-
Response 200 ·
native.selectableContractDetails.oneclickV1.minDurationSec · anyOf 1AlternativestringFormat: integer. Default: 0.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.minDurationSec · anyOf 1See schemastringExpand this value in the interactive reference.
Format: integer. Default: 0.
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.minDurationSec · anyOf 2Alternativeinteger1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.minDurationSec · anyOf 2See schemaintegerExpand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.motionVideoOptionalbooleangeneration.motionReferenceVideo is available for dance (V2). Motion transfer applies to 16:9 and 9:16 MVs; other aspect ratios dance without it.
-
Response 200 ·
native.selectableContractDetails.oneclickV1.readyOptionalbooleanSelectable and currently able to accept new generations. A ready contract can still reject a specific request in preflight.
-
Response 200 ·
native.selectableContractDetails.oneclickV1.renderTiersOptionalarray<"draft" | "standard" | "hd" | "ultra">generation.renderTier values a plain request of this contract can currently use.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.renderTiers[]Each item"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.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.renderTiers[]See schema"draft" | "standard" | "hd" | "ultra"Expand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.resolutionsOptionalarray<string>1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.resolutions[]Each itemstring1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.resolutions[]See schemastringExpand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.schedulesOptionalarray<"standard" | "economy">generation.schedule values currently available.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.schedules[]Each item"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.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.schedules[]See schema"standard" | "economy"Expand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.shotTypesOptionalarray<string>Shot kinds the planner can use, e.g. narrative, lipsync, performance, dance, bridge. Scene edits accept the same kinds except bridge.
1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.shotTypes[]Each itemstring1 field
-
Response 200 ·
native.selectableContractDetails.oneclickV1.shotTypes[]See schemastringExpand this value in the interactive reference.
-
-
-
Response 200 ·
native.selectableContractDetails.oneclickV1.subtitlesRequireTimelineOptionalbooleanTrue when visible subtitles need srtUrl or a Suno source with lyric timing. False when an audio source without srtUrl is transcribed automatically before planning.
-
-
-
-
Response 200 ·
styleValidationRequiredstring
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
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
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