videostringrequired
The URL of the video to upscale.
bytedance/upscaler/videoBytedance Video Upscaler upscales videos to 4K resolution with AI-powered enhancement. Supports multiple quality tiers (fast, standard, pro), frame rate interpolation to 60fps, and presets optimized for UGC, short series, AIGC, and old film restoration.
Try the model
Customize your input with more control.
What would you like to do next?
Select an example to load its inputs and result into the playground.
{
"video": "https://static.sandbase.ai/examples/519bb19f-f235-4c5c-bff2-ba45eaaa714d/input/a36e41d0-65b7-4499-810b-1e7d2f89b885.mp4"
}ByteDance Video Upscaler enlarges videos to 1080p, 2K, or 4K with three enhancement tiers, optional 60fps interpolation, and presets for UGC, short drama, AI-generated, and old-film footage.
| Field | Type | Default | Notes |
|---|---|---|---|
video | video URL, required | — | Video to upscale. |
enhancement_preset | general / ugc / short_series / aigc / old_film | general | Tune restoration to the footage type. |
scale_ratio | number 1.1–10 | — | Optional explicit scale factor. |
target_resolution | 1080p / 2k / 4k | 1080p | Output tier; sets the rate. |
target_fps | 30fps / 60fps | 30fps | 60fps interpolates frames and doubles the rate. |
enhancement_tier | fast / standard / pro | standard | fast, standard, or pro (10× the standard rate). |
fidelity | high / medium | high | high stays closer to the source. |
$0.0072 per second at 1080p, standard tier, 30fps. 2K is 2× and 4K is 4×; pro is 10×; 60fps is 2×. Seconds are rounded up.
| Video | 1080p | 2k | 4k |
|---|---|---|---|
| 10s, standard, 30fps | $0.072 | $0.144 | $0.288 |
| 10s, standard, 60fps | $0.144 | $0.288 | $0.576 |
| 10s, pro, 30fps | $0.72 | $1.44 | $2.88 |
Failed runs are not charged.
Related: bytedance/seedvr/upscale/video, alibaba/flashvsr.
Start building
Submit this model through the SandBase Unified Run API.
# 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/upscaler/video",
"video": "https://static.sandbase.ai/examples/bytedance/upscaler/video/input_video_0.mp4",
"fidelity": "high",
"target_fps": "30fps",
"enhancement_tier": "standard",
"target_resolution": "1080p",
"enhancement_preset": "general"
}
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"Create a SandBase API key and set it in your server environment. All requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep the key on your server. Do not expose it in browser code or commit it to a repository.
POST to /v1/run with this model ID and its inputs. The request example above includes submission and polling.
Use the returned run ID to poll until the status is completed, failed or timeout. Read output only after completed.
curl "https://api.sandbase.ai/v1/run/$RUN_ID" \
-H "Authorization: Bearer $SANDBASE_API_KEY"Pass a publicly accessible file URL in the model’s image, video or audio field. Supported formats and limits are shown beside each Playground input.
Use the upload or replace control on supported image fields in the Playground. Video URL fields accept a hosted driving video; they do not imply video-upload support.
videostringrequiredThe URL of the video to upscale.
fidelitystringThe enhancement intensity. 'high' applies mild enhancement while keeping visual texture close to the source video. 'medium' provides a balanced image quality enhancement.
Default: "high"
Possible values: "high", "medium"
target_fpsstringThe target FPS of the video to upscale.
Default: "30fps"
Possible values: "30fps", "60fps"
scale_rationumberThe scaling ratio for the output video resolution. When set, overrides target_resolution and scales the input resolution by this factor (e.g., 2.0 doubles the resolution). Range: 1.1 to 10.0. Please note that this is valid only up to 4k resolution, and trying to scale beyond 4k will result in an error. (4k is defined as having atotal pixel count of 3840x2160).
Minimum: 1.1
Maximum: 10
enhancement_tierstringThe enhancement quality tier. 'fast' provides essential upscaling with good speed, 'standard' uses adaptive algorithms for better visual texture, 'pro' uses large-model restoration for cinematic quality (longer processing time), and 10 times the cost of `standard` and `fast`.
Default: "standard"
Possible values: "fast", "standard", "pro"
target_resolutionstringThe target resolution of the video to upscale.
Default: "1080p"
Possible values: "1080p", "2k", "4k"
enhancement_presetstringThe enhancement preset optimized for specific video scenarios. 'general' is a general-purpose template, 'ugc' targets user-generated short videos, 'short_series' is for short dramas, 'aigc' is for AI-generated content, and 'old_film' is for classic film restoration.
Default: "general"
Possible values: "general", "ugc", "short_series", "aigc", "old_film"
{
"model": "bytedance/upscaler/video",
"video": "https://static.sandbase.ai/examples/bytedance/upscaler/video/input_video_0.mp4",
"fidelity": "high",
"target_fps": "30fps",
"enhancement_tier": "standard",
"target_resolution": "1080p",
"enhancement_preset": "general"
}A completed run exposes its result in output. The following is the model’s saved example, not a new generation.
[
{
"poster": "https://static.sandbase.ai/examples/posters/7ac39d68a6a63b7b74d0.jpg",
"source": "ByteDance/Volcengine schema mirror",
"source_url": "https://docs.volcengine.com/docs/ark/seedance-2-0",
"url": "https://static.sandbase.ai/examples/519bb19f-f235-4c5c-bff2-ba45eaaa714d/output/47319d72-d379-4648-8c3b-3b126d70331f.mp4"
}
]