Skip to main content
Videos take minutes to generate, so they run as tasks: you submit a task, get its ID back at once, and poll the task until it finishes. The endpoints follow the task API used by Seedance-compatible SDKs:
  • POST https://api.omnirelay.ai/api/v3/contents/generations/tasks submits a task.
  • GET https://api.omnirelay.ai/api/v3/contents/generations/tasks/{id} reads it.
Use your OmniRelay API key as a Bearer token. The same key rules apply as for text models: key expiry, IP allowlist, model limits, budgets and rate and concurrency limits. A running task counts as one call in flight. You can also try video models in the console playground.

Models

Video models appear in your own GET /v1/models list with type: "video" and the price for your workspace.

Pricing

Videos are billed by the output tokens generated, at a list price of USD 25 per million output tokens. The token count follows the frame size and length:
A 5-second 480p clip in 16:9 (864 × 496) is 50,638 tokens, about USD 1.27. A 10-second 720p clip costs about USD 5.2–5.7 depending on the aspect ratio. Your discount applies as for text models. When you submit, OmniRelay holds the cost of the largest frame at the requested resolution and duration, plus 10%. When the task succeeds, you pay for the tokens actually generated and the rest of the hold returns to your balance. Failed, expired and cancelled tasks are not charged. The task response reports the charge in cost_microusd. See Usage and billing.

Submit a task

The submit response is {"id": "<task id>"}. Keep the ID: it is also the request ID in your usage log.

Parameters

Only these fields are accepted. Any other field is refused with 400 invalid_parameter, because every accepted field can change the price. Image-to-video (a first or last frame) is not available yet.

Read a task

GET /api/v3/contents/generations/tasks/{id} returns the task. Only the user who created the task can read it; any other ID returns 404.
content.video_url is a signed link that expires 48 hours after the video is generated. Download the file if you need to keep it; OmniRelay does not store a copy.
You do not have to poll for billing to complete: if nobody reads a task, OmniRelay still settles it when it finishes.

Failures and charges

Contact support with the task ID before resubmitting a held task, so the same video is not paid for twice.

Limits

  • Text-to-video only, one text prompt per task.
  • Resolution up to 720p, duration up to 10 seconds.
  • Request body up to 64 KiB.