SeedVR2 Video API

by ByteDance

Restore and upscale a clip to 1080p, 2K or 4K

bytedance/seedvr2-video/upscale
  • Up to 4K
  • Upscale Video

About SeedVR2 Video

Restore and upscale a clip to 1080p, 2K or 4K.

Call it with the model name bytedance/seedvr2-video/upscale on POST /jobs/createTask, from $0.024.

Introduction

SeedVR2 Video is the video restoration model from ByteDance's Seed team, published in June 2025 as a one-step diffusion model trained with adversarial post-training. It is built for footage that a plain upscaler cannot save: low resolution, heavy compression, blur and noise. You send one clip (video_url) and choose an output tier (resolution); the clip comes back with rebuilt texture at 720p, 1080p, 2K or 4K, with the same length, framing, frame rate and audio track. There is no prompt.

Key features

Restoration, not just enlargement

Because SeedVR2 generates detail instead of sharpening existing pixels, compression blocks and smears do not get amplified. On a 3-second, 624×360 clip encoded at a very low bitrate, it rebuilt the cable knit of a sweater, the brass of a lantern and the horizon behind a lighthouse window; the same clip through a plain upscaler kept the blockiness, only sharper.

Same clip, higher tier

Length, cuts, motion and framing stay as sent, and the soundtrack is passed through: a 4-second, 640×360 clip with AAC audio came back at 1280×720, 24 fps, 4.0 seconds, with the same track. The tier is a pixel budget with the aspect ratio kept, so 624×360 at 1080p returned 1896×1094.

Request parameters

ParameterRequiredDescription
resolutionNoChoose an available output size. 720p · 1080p · 2k · 4k · Default: 1080p
video_urlYesThe clip to work on.

Pricing

Prices are in USD. The API uses a separate USD balance. Website credits cannot be used or transferred to it, and API funds cannot be transferred to website credits. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.

OptionUSD per second
resolution 720p$0.024
resolution 1080p$0.048
resolution 2K$0.072
resolution 4K$0.096

Send the same request body to POST /jobs/quote to see the estimated and maximum USD charge before running. A quote does not run the task or charge your balance.

Use cases

Old and re-uploaded footage

Phone videos that have been compressed several times, clips saved from social apps and low-bitrate screen recordings are the material this model is meant for. Restore them at 1080p before editing so the soft, blocky look does not carry into the final cut.

Delivering AI-generated video

Draft generations at 480p or 720p often look soft.

Prompt guide & pro tips

Trim before you send

Clips must be 3 to 60 seconds; split longer footage and join the restored parts afterwards.

Choose the tier by destination

Use 720p for phones and previews, 1080p for most web and social delivery, and 2K or 4K only when the clip will be shown on a large screen.

Review faces, hands and text

Restoration fills in plausible detail. Watch faces, hands, logos and lettering in the result; if something important was redrawn, a less degraded source or a lower tier keeps closer to the original.

API quick start

Call the SeedVR2 Video API in three steps

  1. Create an API key. Sign in to PopNow and create a key in the API console. Keys start with sk-popnow-. API calls use your separate USD balance.
  2. Send the request. POST /jobs/createTask with model bytedance/seedvr2-video/upscale and an input object that follows the parameter table. The response returns a task ID straight away.
  3. Get the result. Poll GET /jobs/recordInfo with the task ID, or pass a callBackUrl and we post the result to it. Download the output links when the task succeeds.
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  -d '{
  "model": "bytedance/seedvr2-video/upscale",
  "input": {
    "video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
    "resolution": "1080p"
  }
}'

# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Replace the prompt and any links with your own. The API tab has the response, polling and callback reference.

SeedVR2 Video API questions

How much does the SeedVR2 Video API cost?

SeedVR2 Video costs $0.024 per second. Prices by option: 720p $0.024 per second, 1080p $0.048 per second, 2K $0.072 per second, 4K $0.096 per second. The API uses a separate USD balance. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.

What is the model name for SeedVR2 Video in the API?

Put bytedance/seedvr2-video/upscale for Upscale Video in the model field of POST /jobs/createTask.

How is this different from a normal upscaler?

A normal upscaler sharpens what is there, so compression blocks and blur get sharper too. SeedVR2 is a diffusion restoration model: it predicts the texture that should be there and paints it in. On a heavily compressed 360p clip it rebuilt a knit sweater and a brass lantern that a plain upscaler left as smudges.

Does it keep the audio?

Yes. A 4-second clip with an AAC soundtrack came back with the same track, the same length and the same 24 fps.

What are the limits of the SeedVR2 Video API?

Resolutions: 720p · 1080p · 2K · 4K. Requests outside these limits are rejected before anything is charged.

Can I try SeedVR2 Video without writing code?

Run SeedVR2 Video in the Playground with your API USD balance, without an API key. Each run appears in your developer history with its matching code.

More about SeedVR2 Video