SeedVR2 Video Upscale
bytedance/seedvr/upscale/videoSeedvr Upscale Video by Bytedance - AI-powered video editing and transformation. Apply style transfer, motion control, lip-sync, and visual effects to existing videos with natural language instructions.
- Base price
- $0.31USD / run
- Execution
- async
- Model type
- video
- Input fields
- 9
Try the model
Playground
Examples
Select an example to load its inputs and result into the playground.
Model card
Specifications
Pricing
- Base price
- $0.31 / run
Context & modalities
- Input
- Schema-defined
- Output
- video
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- ByteDance
- Model ID
- bytedance/seedvr/upscale/video
- Execution
- async
- Base URL
- https://api.sandbase.ai
- API
- Unified Run API
- Endpoint
- /v1/run
API README
SeedVR2 Video Upscale
SeedVR2 video upscale restores and enlarges a video by a factor (default 2×) or to a target resolution, with temporal consistency across frames.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
video | video URL, required | — | Video to upscale. |
output_format | X264 (.mp4) / VP9 (.webm) / PRORES4444 (.mov) / GIF (.gif) | X264 (.mp4) | Output file format. |
seed | integer | random | Fix it to compare prompt changes. |
output_quality | low / medium / high / maximum | high | Encoder quality. |
noise_scale | number 0–1 | 0.1 | Higher values add more restored detail. |
target_resolution | 720p / 1080p / 1440p / 2160p | 1080p | Used in target mode. |
upscale_factor | number 1–10 | 2 | Used in factor mode. |
output_write_mode | fast / balanced / small | balanced | Encoder speed/size trade-off. |
upscale_mode | target / factor | factor | factor multiplies the input size; target upscales to target_resolution. |
Billing
Billed on output video data at $0.001 per megapixel (width × height × frames). For 30fps output that is about $0.028 per second at 720p, $0.062 at 1080p, and $0.25 at 4K. The quote before submission assumes 5 seconds of 1080p at 30fps.
| Output at 30fps | 720p | 1080p | 4K |
|---|---|---|---|
| 5s | $0.1382 | $0.311 | $1.2442 |
| 10s | $0.2765 | $0.6221 | $2.4883 |
| 30s | $0.8294 | $1.8662 | $7.465 |
Failed runs are not charged.
Limits
- Higher factors on long clips can be expensive; check the output size first.
Also on SandBase
Related: bytedance/upscaler/video (per-second pricing), bytedance/seedvr/upscale/image.
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "bytedance/seedvr/upscale/video",
"video": "https://static.sandbase.ai/examples/bytedance/seedvr/upscale/video/input_video_0.mp4",
"noise_scale": 0.1,
"upscale_mode": "factor",
"output_format": "X264 (.mp4)",
"output_quality": "high",
"upscale_factor": 2,
"output_write_mode": "balanced",
"target_resolution": "1080p"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Type | Default price | Released |
|---|---|---|---|
SeedVR2 Video UpscaleThis model ByteDance | Video | $0.31 / run | Sep 22, 2025 |
ByteDance | Video | $0.53 / run | Oct 15, 2026 |
ByteDance | Video | $1.80 / run | Jul 1, 2026 |
ByteDance | Video | $1.80 / run | Jul 1, 2026 |
ByteDance | Video | $1.80 / run | Jul 1, 2026 |
ByteDance | Video | $0.60 / run | Jun 24, 2026 |
Questions
FAQ
How do I call ByteDance SeedVR2 Video Upscale through SandBase?
Create a SandBase API key, then send requests with the model ID "bytedance/seedvr/upscale/video" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.
Do I need a separate ByteDance account?
No. One SandBase API key and balance gives you access to ByteDance SeedVR2 Video Upscale and the other models in the catalog; you do not need to sign up with ByteDance separately.
