Skip to content
API documentation

Render MV scene

POST/api/v1/mv/{mvId}/scenes/{sceneIndex}/render

Authentication · x-api-key

Render one MV scene. Studio creates a candidate scene video from the current scene image and requires MVView.version as expectedVersion. Fast edits the currently selected generated scene and accepts prompt, optional referenceImages replacement, expectedVersion, config, and prompt compatibility aliases; a Fast edit needs at least one of prompt, referenceImages or (Omn shot-engine MVs) shotType. Omitting referenceImages preserves the source scene images. Omn V1 shot-engine MVs also accept shotType to re-render the scene as another shot type the MV's plan supports (never bridge); sent alone it re-renders the scene with its current prompt and reference images. The edit stays on the MV's pinned routes and is priced per shot second at the MV's render-tier price (no economy discount). Fast rejects durationSec/resolution/render controls; scene-edit billing uses saved Fast scene metadata.

Request

mvIdpath · Required
string

MV identifier returned by create or read operations.

sceneIndexpath · Required
string

Zero-based scene index from the MV storyboard.

Idempotency-Keyheader · Optional
string

Unique key for one logical write. Retrying the same body with the same key replays the original result; reusing it with a different body returns 409.

Maximum characters: 255.

Unknown fields are not accepted.

  • Request · aspectRatioOptional

    "16:9" | "9:16" | "1:1" | "4:3" | "3:4"

    Requested output aspect ratio.

  • Request · configOptional

    object

    Standard task configuration: priority, tags, metadata, and webhookUrl.

    4 fields
    • Request · config.metadataOptional

      object

      Free-form caller metadata, echoed back on read. Stored as opaque JSON; the server never mutates it.

    • Request · config.priorityOptional

      number

      Task priority 1-10 (higher = sooner). Default 5.

      Minimum: 1. Maximum: 10. Default: 5.

    • Request · config.tagsOptional

      array<string>

      Free-form labels for filtering. Up to 20, 100 chars each.

      Maximum items: 20.

      1 field
      • Request · config.tags[]Each item

        string

        Maximum characters: 100.

    • Request · config.webhookUrlOptional

      string

      URL to receive task.* lifecycle events via the central webhook service.

      Format: uri.

  • Request · draftOptional

    boolean

    Whether to use the supported draft rendering policy.

  • Request · durationSecOptional

    number

    Studio-only render control. Fast scene edit rejects client-supplied durationSec; Fast scene-edit billing uses saved scene metadata.

    Minimum: 1. Maximum: 16.

  • Request · expectedVersionOptional

    number

    Optimistic-concurrency guard. Fast may omit it for backward compatibility; if omitted, OmnAPI uses the latest MV version available when the request is accepted. Studio requires it and rejects stale values with 409.

    Minimum: 0.

  • Request · fpsOptional

    24 | 48

    Requested numeric output frame rate.

  • Request · maxCreditsOptional

    number

    Maximum OmnAPI credits authorized for this paid request.

    Minimum: 0.

  • Request · promptOptional

    string

    Cross-mode prompt. Fast scene edit uses this as the official instruction field; Studio treats it as a one-shot video prompt override.

    Maximum characters: 3000.

  • Request · quoteIdOptional

    string

    Short-lived quote identifier for the matching paid operation.

    Minimum characters: 1. Maximum characters: 100.

  • Request · referenceImagesOptional

    array<string>

    Public reference image URLs.

    Minimum items: 1. Maximum items: 7.

    1 field
  • Request · resolutionOptional

    "540p" | "720p" | "1080p"

    Studio-only render control. Fast scene edit rejects client-supplied resolution; Fast scene-edit billing uses saved scene metadata.

  • Request · shotTypeOptional

    "narrative" | "lipsync" | "performance" | "dance"

    Fast Omn V1 shot-engine MVs only: render the edited scene as this shot type. May be sent alone (without prompt or referenceImages) to re-render the scene with its current prompt and reference images, at the same price as any edit. It must be a shot type the MV's pinned plan serves with the scene's reference images, within the scene's length; bridge (first/last-frame continuity) is not an edit shot type, because a bridge shot continues the previous shot of its sequence, which an edit does not re-render. Unsupported values and other MVs are rejected with 400 VALIDATION_ERROR (details.field, details.availableShotTypes) before any charge.

  • Request · videoModelOptional

    string

    Public scene-video model code.

    Maximum characters: 100.

  • Request · videoPromptOptional

    string

    Alias of videoPromptOverride for Studio. Fast accepts this only as a compatibility alias for prompt.

    Maximum characters: 1500.

  • Request · videoPromptOverrideOptional

    string

    Studio one-shot video prompt override. Fast accepts this only as a compatibility alias for prompt.

    Maximum characters: 1500.

  • Request · videoProviderOptional

    "p-video" | "hailuo" | "minimax-h3" | "vidu"

    Public scene-video option code.

Responses

200 OK

application/json

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

402 Payment Required

application/json

  • Response 402 · errorRequired

    object
    3 fields
    • Response 402 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 402 · error.messageRequired

      string

      Human readable error message

    • Response 402 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 402 · successRequired

    false

    Always false for error responses

403 Forbidden

Response for status 403 Forbidden: API-key scope/IP restrictions or billing hold. A positive balance does not bypass payment review. Check GET /api/v1/account/credits billingStatus before further paid requests.

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

404 Not Found

application/json

  • Response 404 · errorRequired

    object
    3 fields
    • Response 404 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 404 · error.messageRequired

      string

      Human readable error message

    • Response 404 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 404 · successRequired

    false

    Always false for error responses

408 Request Timeout

application/json

  • Response 408 · errorRequired

    object
    3 fields
    • Response 408 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 408 · error.messageRequired

      string

      Human readable error message

    • Response 408 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 408 · successRequired

    false

    Always false for error responses

409 Conflict

application/json

  • Response 409 · errorRequired

    object
    3 fields
    • Response 409 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 409 · error.messageRequired

      string

      Human readable error message

    • Response 409 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 409 · successRequired

    false

    Always false for error responses

413 Payload Too Large

application/json

  • Response 413 · errorRequired

    object
    3 fields
    • Response 413 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 413 · error.messageRequired

      string

      Human readable error message

    • Response 413 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 413 · 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

502 Bad Gateway

application/json

  • Response 502 · errorRequired

    object
    3 fields
    • Response 502 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 502 · error.messageRequired

      string

      Human readable error message

    • Response 502 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 502 · successRequired

    false

    Always false for error responses

503 Service Unavailable

application/json

  • Response 503 · errorRequired

    object
    3 fields
    • Response 503 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 503 · error.messageRequired

      string

      Human readable error message

    • Response 503 · error.detailsOptional

      object

      Additional error details (optional)

  • Response 503 · successRequired

    false

    Always false for error responses

Interactive API Explorer → · OpenAPI JSON