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
| Parameter | Required | Description |
|---|---|---|
resolution | No | Choose an available output size. 720p · 1080p · 2k · 4k · Default: 1080p |
video_url | Yes | The 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.
| Option | USD 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
- 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.
- 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.
- 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.