Skip to content
API documentation

Check one Omn V1 capability combination

POST/api/v1/mv/capabilities/check

Authentication · 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 · durationSecRequired

    number

    Requested 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 · autoSubtitleOptional

    boolean

    Whether 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 · hasCharacterImageOptional

    boolean

    Whether the described request has a character portrait. Defaults to false; this does not verify the portrait.

  • Request · hasMotionReferenceVideoOptional

    boolean

    Whether the described Premium dance request includes a motion video. Defaults to false; actual media and rights validation still occur at preflight.

  • Request · hasSubtitleTimelineOptional

    boolean

    Whether subtitle timing is available in the described request. Defaults to false; no timeline is fetched or validated.

  • Request · hasVisualBoardOptional

    boolean

    Include a generated visual board in the described inputs; does not generate one.

  • Request · lipReferenceImageCountOptional

    string | integer

    Ordered 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 · lipSyncOptional

    boolean

    Whether 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 · pricingImageCountOptional

    string | integer

    Total 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 1Alternative

      string

      Format: integer. Default: 0.

    • Request · pricingImageCount · anyOf 2Alternative

      integer

      Total 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 · referenceImageCountOptional

    string | integer

    Number 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 · 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 · subtitlesOptional

    boolean

    Whether subtitles are enabled for the MV.

Responses

200 OK

application/json

  • Response 200 · creativeIntentRequired

    object
    4 fields
  • Response 200 · engineVersionRequired

    "omn-v1"
  • Response 200 · readyRequired

    boolean

    Advisory 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" | null

    Must 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 2Alternative

      null
  • Response 200 · retryableRequired

    boolean
  • Response 200 · supportedRequired

    boolean | null

    Support under configured product capabilities, ignoring operational disablement. Null when configuration cannot establish support.

    Must match at least one alternative.

    2 fields / alternatives
400 Bad Request

application/json

  • Response 400 · errorRequired

    object
    3 fields
    • Response 400 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 400 · error.messageRequired

      string

      Human readable error message

    • Response 400 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 400 · successRequired

    false

    Always false for error responses

401 Unauthorized

application/json

  • Response 401 · errorRequired

    object
    3 fields
    • Response 401 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 401 · error.messageRequired

      string

      Human readable error message

    • Response 401 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 401 · successRequired

    false

    Always false for error responses

403 Forbidden

application/json

  • Response 403 · errorRequired

    object
    3 fields
    • Response 403 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 403 · error.messageRequired

      string

      Human readable error message

    • Response 403 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 403 · successRequired

    false

    Always 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 · errorRequired

    object
    3 fields
    • Response 429 · error.codeRequired

      string

      RATE_LIMITED for request and task admission rejections.

    • Response 429 · error.messageRequired

      string
    • Response 429 · error.detailsOptional

      object

      Optional 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 · successRequired

    false

    Default: false.

500 Internal Server Error

application/json

  • Response 500 · errorRequired

    object
    3 fields
    • Response 500 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 500 · error.messageRequired

      string

      Human readable error message

    • Response 500 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 500 · successRequired

    false

    Always false for error responses

Interactive API Explorer → · OpenAPI JSON