Check one Omn V1 capability combination
/api/v1/mv/capabilities/checkAuthentication · x-api-key
Read-only combination check. Uses explicit output dimensions and material counts, without fetching assets, choosing the rollout engine, reserving capacity, creating a quote or charging credits. supported distinguishes configured capabilities from ready (current runtime readiness); null means support cannot be established. A successful preflight and quote/budget authorization remain required before purchase.
Request
Unknown fields are not accepted.
-
Request ·
aspectRatioRequired"9:16" | "16:9" | "1:1" | "4:3" | "3:4"Requested output aspect ratio.
Default: "9:16".
-
Request ·
durationSecRequirednumberRequested or known media duration in seconds.
Minimum: 10. Maximum: 600.
-
Request ·
engineVersionRequired"omn-v1"Explicit Omn V1 target. This check does not select the implicit rollout engine.
-
Request ·
resolutionRequired"540p" | "720p" | "1080p" | "1440p"Requested output resolution.
Default: "540p".
-
Request ·
autoSubtitleOptionalbooleanWhether the described request plans automatic subtitle transcription. Defaults to false for this check; set true when preflight will generate missing timing.
-
Request ·
creativeModeOptional"auto" | "lyrics_story" | "prompt_story" | "mood_visual" | "performance" | "sing_dance" | "sing_play"Creative intent used by Fast MV prompt and reference planning.
Default: "auto".
-
Request ·
hasCharacterImageOptionalbooleanWhether the described request has a character portrait. Defaults to false; this does not verify the portrait.
-
Request ·
hasMotionReferenceVideoOptionalbooleanWhether the described Premium dance request includes a motion video. Defaults to false; actual media and rights validation still occur at preflight.
-
Request ·
hasSubtitleTimelineOptionalbooleanWhether subtitle timing is available in the described request. Defaults to false; no timeline is fetched or validated.
-
Request ·
hasVisualBoardOptionalbooleanInclude a generated visual board in the described inputs; does not generate one.
-
Request ·
lipReferenceImageCountOptionalstring | integerOrdered singer portrait count for Premium sing/sing_perform, defaults to zero. When zero, hasCharacterImage supplies one anchor if present.
Minimum: 0. Maximum: 2. Must match at least one alternative.
2 fields / alternatives
-
Request ·
lipReferenceImageCount · anyOf 1AlternativestringFormat: integer. Default: 0.
-
Request ·
lipReferenceImageCount · anyOf 2AlternativeintegerOrdered singer portrait count for Premium sing/sing_perform, defaults to zero. When zero, hasCharacterImage supplies one anchor if present.
Minimum: 0. Maximum: 2.
-
-
Request ·
lipSyncOptionalbooleanWhether the MV should use the supported lip-sync workflow.
-
Request ·
managedVersionOptional"oneclick-v1" | "premium-v2"Compatibility profile. Omit to infer premium-v2 from performanceMode, otherwise oneclick-v1. Explicit conflicts are rejected.
Default: "oneclick-v1".
-
Request ·
performanceModeOptional"sing" | "sing_perform" | "perform" | "dance"Performance intent: singing, singing with performance, instrumental performance, or dance. Explicit Omn requests may omit managedVersion; other requests must select premium-v2. Cannot be combined with lipSync (including false) or V1 quality.
-
Request ·
pricingImageCountOptionalstring | integerTotal described input images for capability checks, including board outputs and distinct portrait. Required with hasVisualBoard; excludes separately counted lip references. The legacy field name does not imply an image surcharge under the Omn duration bundle.
Minimum: 0. Maximum: 100. Must match at least one alternative.
2 fields / alternatives
-
Request ·
pricingImageCount · anyOf 1AlternativestringFormat: integer. Default: 0.
-
Request ·
pricingImageCount · anyOf 2AlternativeintegerTotal described input images for capability checks, including board outputs and distinct portrait. Required with hasVisualBoard; excludes separately counted lip references. The legacy field name does not imply an image surcharge under the Omn duration bundle.
Minimum: 0. Maximum: 100.
-
-
Request ·
qualityOptional"standard" | "high"Requested public quality tier.
Default: "standard".
-
Request ·
referenceImageCountOptionalstring | integerNumber of supplied scene/style references in the described request; defaults to zero. Does not fetch or validate images.
Minimum: 0. Maximum: 6. Must match at least one alternative.
2 fields / alternatives
-
Request ·
referenceImageCount · anyOf 1AlternativestringFormat: integer. Default: 0.
-
Request ·
referenceImageCount · anyOf 2AlternativeintegerNumber of supplied scene/style references in the described request; defaults to zero. Does not fetch or validate images.
Minimum: 0. Maximum: 6.
-
-
Request ·
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.
-
Request ·
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.
-
Request ·
subtitlesOptionalbooleanWhether subtitles are enabled for the MV.
Responses
200 OK
application/json
-
Response 200 ·
creativeIntentRequiredobject4 fields
-
Response 200 ·
creativeIntent.directionRequired"auto" | "story" | "mood" | "performance"Default: "auto".
-
Response 200 ·
creativeIntent.performanceRequired"auto" | "sing" | "sing_perform" | "perform" | "dance" | "sing_dance" | "sing_play"Default: "auto".
-
Response 200 ·
creativeIntent.singingRequired"required" | "forbidden" | "unspecified"Default: "required".
-
Response 200 ·
creativeIntent.storySourceOptional"lyrics" | "prompt"Default: "lyrics".
-
-
Response 200 ·
engineVersionRequired"omn-v1" -
Response 200 ·
readyRequiredbooleanAdvisory runtime readiness; successful preflight is still required. No capacity is reserved.
-
Response 200 ·
reasonRequired"specialist_mode_unsupported" | "lip_sync_unsupported" | "character_image_unsupported" | "output_profile_unsupported" | "aspect_ratio_unsupported" | "duration_unsupported" | "cost_limit_exceeded" | "subtitle_timeline_required" | "contract_unsupported" | "source_unsupported" | "reference_images_unsupported" | "mode_unsupported" | "not_eligible" | "engine_closed" | "capacity_unavailable" | "workers_unavailable" | "engine_configuration_unavailable" | "scheduling_unavailable" | nullMust match at least one alternative.
2 fields / alternatives
-
Response 200 ·
reason · anyOf 1Alternative"specialist_mode_unsupported" | "lip_sync_unsupported" | "character_image_unsupported" | "output_profile_unsupported" | "aspect_ratio_unsupported" | "duration_unsupported" | "cost_limit_exceeded" | "subtitle_timeline_required" | "contract_unsupported" | "source_unsupported" | "reference_images_unsupported" | "mode_unsupported" | "not_eligible" | "engine_closed" | "capacity_unavailable" | "workers_unavailable" | "engine_configuration_unavailable" | "scheduling_unavailable"Default: "specialist_mode_unsupported".
-
Response 200 ·
reason · anyOf 2Alternativenull
-
-
Response 200 ·
retryableRequiredboolean -
Response 200 ·
supportedRequiredboolean | nullSupport under configured product capabilities, ignoring operational disablement. Null when configuration cannot establish support.
Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
supported · anyOf 1Alternativeboolean -
Response 200 ·
supported · anyOf 2Alternativenull
-
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
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