Skip to content
API documentation

Read v2 creative draft

GET/api/v2/mv/drafts/{id}

Authentication · x-api-key

Omn creative draft operation. Drafts retain a version; generation and preview require a new customer charge authorization and an Idempotency-Key. Preview is independently billed.

Request

idpath · Required
string

Resource identifier returned by the corresponding create operation.

Responses

200 OK

application/json

  • Response 200 · contractVersionRequired

    "v2"
  • Response 200 · expiresAtRequired

    string
  • Response 200 · idRequired

    string
  • Response 200 · requestRequired

    object

    Unknown fields are not accepted.

    10 fields
    • Response 200 · request.sourceRequired

      object

      Public audio URL or an accessible Suno clip. The server verifies duration.

      Must match at least one alternative.

      2 fields / alternatives
    • Response 200 · request.captionsOptional

      object

      Subtitle policy; captions do not control whether lyrics are analyzed for planning.

      Unknown fields are not accepted.

      4 fields
      • Response 200 · request.captions.modeRequired

        "off" | "auto" | "provided"

        off, auto or provided. provided requires srtUrl; other modes reject it.

        Default: "off".

      • Response 200 · request.captions.languageOptional

        "auto" | "en" | "zh"

        Expected subtitle language (auto, en or zh).

        Default: "auto".

      • Response 200 · request.captions.requiredOptional

        boolean

        When true, do not silently deliver without requested captions. Invalid with mode off.

      • Response 200 · request.captions.srtUrlOptional

        string

        Public SRT URL with cue times relative to the selected audio segment.

        Format: uri.

    • Response 200 · request.configOptional

      object
      4 fields
      • Response 200 · request.config.metadataOptional

        object

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

      • Response 200 · request.config.priorityOptional

        number

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

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

      • Response 200 · request.config.tagsOptional

        array<string>

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

        Maximum items: 20.

        1 field
      • Response 200 · request.config.webhookUrlOptional

        string

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

        Format: uri.

    • Response 200 · request.creativeOptional

      object

      Creative intent, independent of output resolution.

      Unknown fields are not accepted.

      5 fields
      • Response 200 · request.creative.modeRequired

        "auto" | "story" | "mood" | "perform" | "sing" | "dance" | "sing_dance" | "sing_play"

        auto, story, mood, perform, sing, dance, sing_dance or sing_play. All use the same request envelope.

        Default: "auto".

      • Response 200 · request.creative.briefOptional

        string

        Describe the desired story, subjects, action and mood. Required for a brief-led story.

        Maximum characters: 3000.

      • Response 200 · request.creative.charactersOptional

        object

        Whether characters may appear and the desired count.

        Unknown fields are not accepted.

        2 fields
      • Response 200 · request.creative.optionsOptional

        object

        Mode-specific choices; irrelevant options are rejected.

        Unknown fields are not accepted.

        3 fields
        • Response 200 · request.creative.options.combinationOptional

          "alternating" | "simultaneous"

          Required for sing_dance or sing_play. alternating uses separate shots. simultaneous requests same-shot actions and currently returns 422 before debit.

          Default: "alternating".

        • Response 200 · request.creative.options.instrumentOptional

          string

          Instrument to feature in perform or sing_play.

          Minimum characters: 1. Maximum characters: 100.

        • Response 200 · request.creative.options.storySourceOptional

          "lyrics" | "brief"

          Required for story: lyrics uses song evidence; brief uses creative.brief.

          Default: "lyrics".

      • Response 200 · request.creative.styleOptional

        string

        Visual treatment passed to director planning and shot generation.

        Maximum characters: 1000.

    • Response 200 · request.maxCreditsOptional

      number

      Maximum authorized customer charge. A lower cap rejects the purchase without reducing the requested output.

      Minimum: 1.

    • Response 200 · request.outputOptional

      object

      Delivery format. No render tier or provider selector is accepted.

      Unknown fields are not accepted.

      2 fields
      • Response 200 · request.output.aspectRatioOptional

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

        Delivery aspect ratio; defaults to 16:9. Motion references require 16:9 or 9:16.

      • Response 200 · request.output.resolutionOptional

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

        540p, 720p, 1080p or 1440p for every mode. Defaults to 720p. Motion output may be resized from its source resolution.

    • Response 200 · request.preflightIdOptional

      string

      Unexpired preflight identifier bound to this user, API key and exact creative request.

      Minimum characters: 1. Maximum characters: 100.

    • Response 200 · request.quoteIdOptional

      string

      Minimum characters: 1. Maximum characters: 100.

    • Response 200 · request.referencesOptional

      object

      Optional media references. Secondary characters, style and location images together may not exceed six.

      Unknown fields are not accepted.

      4 fields
    • Response 200 · request.titleOptional

      string

      Maximum characters: 200.

  • Response 200 · versionRequired

    string | integer

    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

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

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

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

422 Unprocessable Entity

application/json

  • Response 422 · errorRequired

    object
    3 fields
    • Response 422 · error.codeRequired

      string

      Application-specific error code (see error catalog)

    • Response 422 · error.messageRequired

      string

      Human readable error message

    • Response 422 · error.detailsOptional

      object

      Additional error details (optional)

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