Skip to content
API documentation

Quote a Vidu Direct operation

POST/api/v1/vidu/quote

Authentication · x-api-key

Returns the customer charge at 2.0 OmnAPI credits per Vidu credit. MV-specific commercial rates never apply. No media is downloaded or inspected.

Request

Unknown fields are not accepted.

  • Request · inputRequired

    object

    Selected Vidu Enterprise v2 request body. Use public http(s) media URLs only. callback_url and callbackUrl are rejected; use config.webhookUrl on task creation. The complete operation-by-operation field index and nested shapes are documented at https://docs.omnapi.com/guides/vidu/#complete-input-field-index.

  • Request · operationRequired

    "image-to-video" | "reference-to-video" | "start-end-to-video" | "text-to-video" | "reference-to-image" | "text-to-audio" | "timing-to-audio" | "text-to-speech" | "voice-clone" | "lip-sync" | "motion-sync-v1" | "motion-sync-v2" | "extend-video" | "multi-frame-video" | "upscale-video" | "replace-video" | "digital-human" | "prompt-recommendation" | "template" | "template-story" | "general-film-create" | "general-film-edit" | "general-film-compose" | "ad-film-create" | "ad-film-edit" | "ad-film-compose" | "trending-replicate"

    Allowlisted Vidu operation. OmnAPI maps this value to a fixed Vidu endpoint; arbitrary paths are never accepted.

  • Request · pricingContextOptional

    object

    Additional caller-supplied inputs required to calculate price.

    Unknown fields are not accepted.

    2 fields
    • Request · pricingContext.durationSecOptional

      number

      Billing duration for URL-only media operations. OmnAPI does not download or probe the media.

      Maximum: 3600. Exclusive lower bound: 0.

    • Request · pricingContext.providerCreditCapOptional

      number

      Vidu-credit authorization reserve for operations without a deterministic published rate card.

      Minimum: 1. Maximum: 100000. Multiple of: 1.

Responses

200 OK

application/json

  • Response 200 · creditsRequired

    number
  • Response 200 · customerRateRequired

    2
  • Response 200 · operationRequired

    "image-to-video" | "reference-to-video" | "start-end-to-video" | "text-to-video" | "reference-to-image" | "text-to-audio" | "timing-to-audio" | "text-to-speech" | "voice-clone" | "lip-sync" | "motion-sync-v1" | "motion-sync-v2" | "extend-video" | "multi-frame-video" | "upscale-video" | "replace-video" | "digital-human" | "prompt-recommendation" | "template" | "template-story" | "general-film-create" | "general-film-edit" | "general-film-compose" | "ad-film-create" | "ad-film-edit" | "ad-film-compose" | "trending-replicate"

    Allowlisted Vidu operation. OmnAPI maps this value to a fixed Vidu endpoint; arbitrary paths are never accepted.

  • Response 200 · pricingModeRequired

    "rate-card" | "authorization-cap"
  • Response 200 · pricingVersionRequired

    string
  • Response 200 · publicUsdRequired

    number
  • Response 200 · viduCreditsRequired

    number
  • Response 200 · notesOptional

    array<string>
    1 field
    • Response 200 · notes[]Each item

      string
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

Forbidden: the API key lacks the required scope or its IP policy rejects this request.

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

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