Idempotency-Keyheader · OptionalUnique 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./api/v1/vidu/tasksAuthentication · x-api-key
Relays an allowlisted Vidu operation through OmnAPI's Task/Credits lifecycle. Inputs and output URLs are passed through; OmnAPI does not upload, download, transcode, persist, or otherwise process media. Download outputs within one hour because finished URLs may expire sooner than standard 24-hour creation URLs.
Idempotency-Keyheader · OptionalUnique 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.
inputRequiredSelected 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.
operationRequiredAllowlisted Vidu operation. OmnAPI maps this value to a fixed Vidu endpoint; arbitrary paths are never accepted.
configOptionalStandard task configuration: priority, tags, metadata, and webhookUrl.
config.metadataOptionalFree-form caller metadata, echoed back on read. Stored as opaque JSON; the server never mutates it.
config.priorityOptionalTask priority 1-10 (higher = sooner). Default 5.
Minimum: 1. Maximum: 10. Default: 5.
config.webhookUrlOptionalURL to receive task.* lifecycle events via the central webhook service.
Format: uri.
maxCreditsOptionalOptional OmnAPI-credit ceiling checked before direct debit.
Minimum: 1.
pricingContextOptionalAdditional caller-supplied inputs required to calculate price.
Unknown fields are not accepted.
pricingContext.durationSecOptionalBilling duration for URL-only media operations. OmnAPI does not download or probe the media.
Maximum: 3600. Exclusive lower bound: 0.
pricingContext.providerCreditCapOptionalVidu-credit authorization reserve for operations without a deterministic published rate card.
Minimum: 1. Maximum: 100000. Multiple of: 1.
application/json
creditsRequiredRequiredpollUrlRequiredpricingModeRequiredstatusRequiredDefault: "PENDING".
taskIdRequiredviduCreditsRequiredapplication/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
Forbidden: the API key lacks the required scope or its IP policy rejects this request. 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
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
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
errorRequirederror.codeRequiredRATE_LIMITED for request and task admission rejections.
error.messageRequirederror.detailsOptionalOptional 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.
error.details.currentOptionalMinimum: 0.
error.details.inFlightOptionalMinimum: 0.
error.details.limitOptionalMinimum: 0.
error.details.policyOptionalerror.details.retryAfterSecOptionalMinimum: 1.
error.details.scopeOptionalerror.details.tierOptionalerror.details.typeOptionalsuccessRequiredDefault: false.
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses
application/json
errorRequirederror.codeRequiredApplication-specific error code (see error catalog)
error.messageRequiredHuman readable error message
error.detailsOptionalAdditional error details (optional)
successRequiredAlways false for error responses