RelayDanceRelayDance
HomeModelsPricingDocsGuides
Get API Key

Docs / Model APIs / Super-Resolution

Super-Resolution

Super-resolution upscales an existing low-resolution clip to a higher output tier using an AI model, so you can render quickly at a low resolution, then sharpen the result. It is a useful alternative to generating at a high resolution from scratch when you want speed.

#Status: what is live

720p and native 4K upscaling are live now, via seedance-upscale-720p and seedance-upscale-4k. 1080p and 2K are in the catalog but are coming soon: the per-resolution workflow behind them is not built yet.

Model IDUpscales toStatus
seedance-upscale-720p720pLive
seedance-upscale-1080p1080pComing soon
seedance-upscale-2k2KComing soon
seedance-upscale-4k4KLive
Today, submit super-resolution requests with seedance-upscale-720p or seedance-upscale-4k. The 1080p and 2K models are reserved and will start accepting requests once their workflow ships.

#How to call it

Super-resolution uses the same asynchronous task API as Video Generation. POST /v1/video/generations with your source clip in metadata.content[] as a video_url entry. The call returns a task_id immediately; poll GET /v1/video/generations/{task_id} until it finishes.

  1. Submit: POST /v1/video/generations with model set to seedance-upscale-720p or seedance-upscale-4k and the source video in metadata.content[]. No prompt is needed. The response carries a task_id.
  2. Poll: GET /v1/video/generations/{task_id} moves through queued, then in_progress, then completed (the upscaled clip is in the url field) or failed.
Upscaling runs in the background and takes a short while to finish. Poll every few seconds, or set metadata.callback_url to receive a webhook instead of polling.

#cURL example

terminalbash
# 1) Submit an upscale task (480p source -> 720p output)
curl https://relaydance.com/v1/video/generations \
  -H "Authorization: Bearer $RELAYDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-upscale-720p",
    "metadata": {
      "content": [
        {
          "type": "video_url",
          "video_url": { "url": "https://example.com/my-480p-clip.mp4" }
        }
      ]
    }
  }'
# -> { "task_id": "task_abc123", "status": "queued" }

# 2) Poll until the upscaled clip is ready
curl https://relaydance.com/v1/video/generations/task_abc123 \
  -H "Authorization: Bearer $RELAYDANCE_API_KEY"
response.jsonjson
{
  "task_id": "task_abc123",
  "status": "completed",
  "url": "https://...720p.mp4",
  "format": "mp4"
}

4K example

Same shape, different model: set it to seedance-upscale-4k to get native 4K output instead.

terminalbash
curl https://relaydance.com/v1/video/generations \
  -H "Authorization: Bearer $RELAYDANCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-upscale-4k",
    "metadata": {
      "content": [
        {
          "type": "video_url",
          "video_url": { "url": "https://example.com/my-720p-clip.mp4" },
          "role": "reference_video"
        }
      ]
    }
  }'
# -> { "task_id": "task_xyz789", "status": "queued" }

curl https://relaydance.com/v1/video/generations/task_xyz789 \
  -H "Authorization: Bearer $RELAYDANCE_API_KEY"
response.jsonjson
{
  "task_id": "task_xyz789",
  "status": "completed",
  "url": "https://...4k.mp4",
  "format": "mp4"
}

Request parameters

FieldDescription
modelUpscale model ID. Live: seedance-upscale-720p, seedance-upscale-4k
metadata.content[]One video_url entry holding the source clip to upscale (video_url.url)
metadata.callback_urlOptional webhook: the final task state is POSTed here when the task finishes
Native 4K upscaling via seedance-upscale-4k is also live and uses the exact same request shape shown above: just set model to seedance-upscale-4k instead. See Auto-upscale from the console below.

#Auto-upscale from the console

The video generation screen in the RelayDance console has a “automatically upscale to 4K after generation” checkbox. It is not a special API parameter: there is no auto_upscale flag on POST /v1/video/generations. Checking it automates two separate calls: once your generation task succeeds, the console submits a second task with model: "seedance-upscale-4k" and your finished clip's URL as the source, with no extra confirmation. If you are calling the API directly, do the same thing yourself: generate normally, then submit the result URL to seedance-upscale-4k as a follow-up call.

Generation and upscaling are billed and refunded independently: if the upscale step fails, only the upscale charge is refunded, and you keep the originally generated clip.

#Billing

Super-resolution is pay-as-you-go, billed by the output duration and resolution tier. The models page shows the live, exact rate. Failed requests are never billed: if a task ends in failed, you are not charged for it.

Rendering at 480p and upscaling to 720p is a practical way to keep generation fast while still delivering a sharp 720p clip.
Generating with a cheaper model and then upscaling to native 4K with seedance-upscale-4k is usually cheaper than generating natively at 4K with Seedance 2.0 Pro, trading a small amount of fidelity for a lower total cost.

#FAQ

Can it upscale any video?

Super-resolution is built for clips you generated on RelayDance. Pass a clip URL as a video_url entry in metadata.content[]. The live paths today are 720p and native 4K output, via seedance-upscale-720p and seedance-upscale-4k.

How is this different from native 4K?

Native 4K (Seedance 2.0 at resolution: "4k") generates a clip directly at 4K from your prompt. Super-resolution instead takes a finished low-resolution clip and upscales it. They are separate paths: generate natively for top quality, or generate low and upscale to trade some fidelity for speed and a lower-tier cost.

Why aren't 1080p and 2K live yet?

The 720p and native-4K workflows are the ones that are built and verified end to end. The 1080p and 2K upscale models exist in the catalog but their per-resolution workflow is not ready yet, so they are marked coming soon and do not accept requests today.

Related guides