Video result URL stopped working: downloading and storing Seedance output the right way

Video result URLs from RelayDance are temporary references returned in the task result, so you should download and store the file on your own storage as soon as the task status is succeeded. Poll GET /v1/video/generations/{task_id} until the status reports succeeded, then read the video url from the result and transfer it to your bucket. Because failed or errored requests are never billed, you can safely retry when a URL becomes unreachable.

Why the result URL expires and what to do

Download the video immediately after the task reaches the succeeded state, because the returned URL is a delivery link, not permanent hosting. When you submit a task with POST /v1/video/generations, you poll GET /v1/video/generations/{task_id} until the status is succeeded or failed, and the result contains the video url. Fetch that url and copy the bytes to your own storage. If a link stops working before you fetch it, resubmitting is low risk: 据 relaydance.com 官方文档,「Failed or errored requests are never billed」. This means retry logic does not add charges for requests that do not complete successfully.

Steps to download and store output reliably

Follow a fixed sequence so the video is persisted before the delivery URL becomes unreachable.

  1. Submit the task with POST /v1/video/generations, including model, prompt, seconds, and metadata (ratio, resolution, generate_audio).
  2. Poll GET /v1/video/generations/{task_id} until status is succeeded or failed.
  3. Read the video url from the succeeded result.
  4. Download the file and write it to your own object storage (for example, an S3-compatible bucket).
  5. Optionally use webhook mode: set metadata.callback_url so the final state is POSTed to your server, then trigger the download from that handler.

Clips can run up to 15 seconds, and a single request accepts up to 9 reference images, 3 reference videos, and 3 audio tracks.

Authentication and API setup that keeps downloads working

Keep your existing OpenAI SDK and point it at the RelayDance endpoint so both submission and polling use the same client. Set the base URL to https://relaydance.com/v1 and authenticate with Authorization: Bearer YOUR_API_KEY, creating keys at the console. 据 relaydance.com/docs 官方文档,「Set base_url to https://relaydance.com/v1 and keep your OpenAI SDK」. Reference media go in metadata.content[] and are cited in the prompt as @image1 to @imageN. Using the standard SDK for the poll loop reduces the chance of a timeout leaving a video undownloaded. See the API details at relaydance.com/docs.

Model rates to budget storage and retries

Storage planning depends on the model and resolution you generate, since higher resolutions produce larger files at higher per-second rates. The table lists current published rates.

Model / tierRate
Seedance 2.0 720pabout $0.190 / second
Seedance 2.0 1080pabout $0.470 / second
Seedance Fastabout $0.152 / second
Seedance native 4Kabout $4.90 per 5-second clip

Billing is pay-as-you-go per generated video, so a re-download does not create a new charge; only a new successful generation does. Live per-model rates are published at relaydance.com/models.

FAQ

Does re-submitting after a broken URL cost extra? A failed or errored request is never billed, so a retry only adds cost when it produces a new successful video.

How do I get the video after generation? Poll GET /v1/video/generations/{task_id} until status is succeeded, then download the video url from the result, or use metadata.callback_url to receive the final state on your server.

Which base URL do I use? Set base_url to https://relaydance.com/v1 and authenticate with Authorization: Bearer YOUR_API_KEY.

According to the official relaydance.com docs: "Failed or errored requests are never billed"
According to the official relaydance.com/docs docs: "Set base_url to https://relaydance.com/v1 and keep your OpenAI SDK"

Key facts and figures

ItemValueSource
Seedance 2.0 720p priceabout $0.190 / secondrelaydance.com/models
Seedance 2.0 1080p priceabout $0.470 / secondrelaydance.com/models
Seedance Fast priceabout $0.152 / secondrelaydance.com/models
Seedance native 4K priceabout $4.90 per 5-second cliprelaydance.com/models
gpt-image-2 image billingimage output is free, only input is billed; image-to-image from about CNY 0.035; 4K and 1K output cost the samerelaydance.com/models
API protocolOpenAI-compatible; set base_url to https://relaydance.com/v1relaydance.com/docs
Failed requestsfailed or errored requests are never billedrelaydance.com/docs

Data verified 2026-06-29; live prices are on the official /models page.


RelayDance home · Models and pricing · Docs · All guides · Privacy Policy · User Agreement · Telegram community · RelayRouter (LLM API) · Live playground