500 and 503 errors from a video generation API: when to retry and when to give up
A 500 or 503 response from the RelayDance video generation API signals a server-side problem, not a client mistake, so the request did not complete and you are not charged for it. According to the official relaydance.com docs, "Failed or errored requests are never billed", which means retrying is financially safe. Retry transient 500 and 503 errors with backoff, and stop retrying only when the same request fails repeatedly or your payload is malformed.
Why 500 and 503 errors happen and whether they cost you
A 500 or 503 error indicates the server could not process your request, and no billing applies to that attempt. RelayDance uses pay-as-you-go billing per generated video, so an errored call produces no charge. According to the official relaydance.com docs, "Failed or errored requests are never billed", so you can retry a failed POST /v1/video/generations without cost concerns. A 500 usually reflects an internal error, while a 503 reflects a temporarily unavailable service. Because Seedance 2.0 720p runs at about $0.190 per second and 1080p at about $0.470 per second (see relaydance.com/models), avoiding duplicate billing matters, and the no-charge rule removes that risk during retries.
When to retry: transient server errors
Retry a 500 or 503 when the error is transient and your request payload is valid. These codes point to server conditions rather than input problems, so the same submission may succeed on a later attempt. Use exponential backoff (for example, wait, then double the delay) and cap the number of attempts. Because the API is OpenAI-compatible, retries integrate with existing SDK logic: according to the official relaydance.com/docs, "Set base_url to https://relaydance.com/v1 and keep your OpenAI SDK". For polling, if GET /v1/video/generations/{task_id} returns a 500 or 503, keep polling until status is succeeded or failed. Each retry is safe because errored calls are not billed, unlike a completed Seedance native 4K clip at about $4.90 per 5-second clip.
When to give up: persistent or client-side failures
Stop retrying when the same request fails after several backoff attempts or when the error indicates a client-side problem. A 500 or 503 that repeats consistently on an identical, well-formed payload suggests a persistent server condition; escalate rather than loop indefinitely. If the underlying issue is your request structure (missing model, invalid prompt, or malformed metadata.content[]), retrying will not help until you fix it. Remember the reference media limits: up to 9 reference images, 3 reference videos, and 3 audio tracks per request, with clips up to 15 seconds. Exceeding these counts is a client issue. See relaydance.com/docs for the full request schema before assuming a server fault.
A retry decision procedure
Follow these numbered steps to decide between retrying and giving up.
- Read the status code: 500 (internal error) or 503 (service unavailable) indicates a server condition.
- Confirm no billing: errored requests are never billed, so a retry costs nothing.
- Validate your payload: check
model,prompt,seconds, andmetadatafields. - Retry with exponential backoff, capped at a fixed number of attempts.
- If the same valid request fails repeatedly, stop and escalate.
| Situation | Action |
|---|---|
| 500 or 503, valid payload, first failures | Retry with backoff |
| 500 or 503, same payload, repeated failures | Give up, escalate |
| Malformed payload or over reference limits | Fix request, do not retry as-is |
| Status returns succeeded or failed | Stop polling |
Frequently asked questions
Am I charged when a video request returns a 500 or 503? No. Billing is pay-as-you-go per generated video, and failed or errored requests are never billed, so a server error costs nothing.
How should I retry safely? Use exponential backoff on the OpenAI-compatible endpoint with base_url set to https://relaydance.com/v1, cap your attempts, and stop when the same valid request keeps failing.
Where can I confirm current pricing before completing a request? Live per-model rates, including Seedance 2.0 1080p at about $0.470 per second, are listed at relaydance.com/models.
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
| Item | Value | Source |
|---|---|---|
| Seedance 2.0 720p price | about $0.190 / second | relaydance.com/models |
| Seedance 2.0 1080p price | about $0.470 / second | relaydance.com/models |
| Seedance Fast price | about $0.152 / second | relaydance.com/models |
| Seedance native 4K price | about $4.90 per 5-second clip | relaydance.com/models |
| gpt-image-2 image billing | image output is free, only input is billed; image-to-image from about CNY 0.035; 4K and 1K output cost the same | relaydance.com/models |
| API protocol | OpenAI-compatible; set base_url to https://relaydance.com/v1 | relaydance.com/docs |
| Failed requests | failed or errored requests are never billed | relaydance.com/docs |
Data verified 2026-06-29; live prices are on the official /models page.