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

When a Seedance video result URL stops working, the cause is usually that the URL is temporary and tied to a completed task, so the correct approach is to download the file immediately after the task status returns succeeded and store it in your own storage. RelayDance returns the video URL in the poll response of GET /v1/video/generations/{task_id}, and you should persist that file rather than relying on the returned link long term.

Why the result URL expires and what to do

The result URL is delivered inside the task response, so treat it as a one-time fetch source and copy the file to your own storage right away. After submitting a task with POST /v1/video/generations, poll GET /v1/video/generations/{task_id} until the status is succeeded or failed; on success the response contains the video url. Download that file and re-host it. Because Seedance clips can run up to 15 seconds and a native 4K clip is billed at about $4.90 per 5-second clip (source relaydance.com/models), losing access to an output means paying again to regenerate it.

Two ways to receive the output: polling versus webhook

RelayDance offers two delivery methods, and both hand you the video URL you must download promptly. In polling mode you call GET /v1/video/generations/{task_id} on a loop until the status is terminal. In webhook mode you set metadata.callback_url and the final state is POSTed to your server.

MethodHow you get the URLBest when
PollingRead the video url from the succeeded responseSimple scripts and short-lived jobs
WebhookFinal state POSTed to your callback_urlServer-side pipelines that auto-store output

Steps to download and store Seedance output correctly

Follow these numbered steps to capture the file before the URL becomes unusable.

  1. Submit the task via POST /v1/video/generations with your model, prompt, and seconds.
  2. Poll GET /v1/video/generations/{task_id} (or wait for the webhook) until status is succeeded.
  3. Read the video url from the response body.
  4. Download the file immediately using that URL.
  5. Upload the file to your own object storage and record the new persistent URL.

Because failed jobs cost nothing, retrying a lost download is safe: 「Failed or errored requests are never billed」, According to the official relaydance.com docs. Seedance 2.0 720p is billed at about $0.190 / second and 1080p at about $0.470 / second (source relaydance.com/models).

API setup so storage automation works

The API is OpenAI-compatible, so your existing download and storage code needs minimal change. 「Set base_url to https://relaydance.com/v1 and keep your OpenAI SDK」, According to the official relaydance.com/docs. Authenticate with Authorization: Bearer YOUR_API_KEY, using a key from the console. For cost planning while you build a re-hosting pipeline, Seedance Fast is billed at about $0.152 / second (source relaydance.com/models). Reference media placed in metadata.content[] support up to 9 reference images, 3 reference videos, and 3 audio tracks per request, so store any inputs you supplied as well if you plan to reproduce a result. See https://relaydance.com/docs and https://relaydance.com/models for current details.

FAQ

Q: Why does my Seedance video URL stop working after a while?
The URL is returned with the completed task response and is intended for prompt download, so you should fetch and re-host the file rather than depend on the link.

Q: Do I pay again if my download fails and I regenerate?
A regenerate is a new billed task, but per the docs, failed or errored requests themselves are never billed.

Q: How long can a Seedance clip be?
Clips run up to 15 seconds per request.

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