AIREITER

ByteDance Video Upscaler vs Topaz and Real-ESRGAN

Last Updated: 2026-09-20 03:11:15

Choose ByteDance for hosted API upscaling and interpolation, Topaz for interactive local restoration, and Real-ESRGAN for self-hosted pipelines; source damage and delivery needs matter more than a 4K label.

The short answer: choose by source, not output resolution

ByteDance Video Upscaler is a convenient API route when you need a 1080p, 2K, or 4K delivery file from AI-generated, UGC, short-series, or old-film footage. Topaz Video is the better fit when an editor needs local previews and manual model control. Real-ESRGAN is the low-cost, scriptable baseline, but frame-by-frame processing needs extra work to avoid flicker and to preserve audio.

Your jobBest starting pointWhy
Clean AI-generated clip to 2K/4KByteDance Video UpscalerAIGC preset and a single video-to-video job
Editor-controlled restoration on a workstationTopaz VideoLocal rendering, previews, and a desktop workflow
Many clips with full pipeline controlReal-ESRGANOpen-source inference and automation
Commercial API with published per-second ratesByteDance through falQueue API, webhooks, presets, and billing controls

What ByteDance Video Upscaler actually exposes

The Replicate page identifies the model as ByteDance’s vCube video upscaler. It documents 480p, 720p, and 1080p inputs going to 2K or 4K, with enhancement and interpolation in one pass. The model is not a still-to-video generator: it processes an existing video file.

The important controls are the scene preset, processing tier, target resolution, and target frame rate. Replicate lists aigc, short_series, ugc, old_film, and common scenes; its page also describes standard and an allowlist-only pro tier. Replicate’s README says a 5-second clip typically takes 3–5 minutes, so this is not a real-time preview tool.

ControlDocumented optionsPractical use
Sceneaigc, short_series, ugc, old_film, commonMatch the preset to the source
Resolution240p through 1080p, 2K, and 4K on ReplicatePick the delivery ceiling, not automatically 4K
Frame rate24, 30, 60, and a documented 120 optionMatch the source unless interpolation is intentional
Tierstandard; pro is access-gated on ReplicateReserve Pro for faces and fine detail
OutputOne MP4Check audio and metadata in your chosen provider

fal exposes more controls than Replicate, including tiers, fidelity, bit depth, presets, and up-to-8K schema targets, but its visible rate card only covers 1080p, 2K, and 4K.

Controls that change the bill

fal lists standard 30-fps prices of $0.0072 per second for 1080p, $0.0144 for 2K, and $0.0288 for 4K. Its page says 60 fps doubles the cost, while Pro is 10 times the normal price. That makes a 30-second 4K/30 standard render about $0.864, before any account-specific charges.

fal configurationRate per output second30-second example
Standard, 1080p/30$0.0072$0.216
Standard, 2K/30$0.0144$0.432
Standard, 4K/30$0.0288$0.864
Standard, 4K/60$0.0576$1.728
Pro, 4K/30$0.288$8.640

These are fal prices, not universal ByteDance pricing; BytePlus VOD uses separate minute-based pricing by tier, resolution, and frame-rate band.

Comparing the same old clip without fooling yourself

A useful comparison needs one source and one delivery target. Use a 5–10 second crop from the old video containing a face, fine texture, subtitles or signage, a moving edge, and a flat dark area. Keep the source, crop, output resolution, frame rate, codec, and audio-remux step constant.

PipelineWhat to renderWhat to inspect
ByteDanceold_film or common, 2K or 4K, source-matched FPSGrain, faces, text, temporal stability
Topaz VideoA consistent enhancement model and identical output settingsDetail recovery versus invented texture
Real-ESRGANSame frames with a documented model and tile settingFrame-to-frame consistency, halos, and runtime

Treat results as a benchmark only when source, settings, runtime, cost, and blinded side-by-side review are recorded; vendor pages establish capabilities and prices, not a universal quality winner.

The table above is a routing guide, not a quality guarantee: test the source before committing to a full render. The failure modes matter more than the logo. Tiny subtitles may turn into sharpened strokes; faces can become waxy or over-detailed; film grain can become crawling noise; and a 24-fps source rendered at 60 fps may look smoother without containing new captured motion. A soft, heavily compressed, interlaced, or badly exposed source may look worse at 4K because ringing and hallucinated detail are now easier to see.

API workflow: submit, poll, download, and batch

The fal API is asynchronous. Keep the key on a server, submit a public URL or uploaded file, poll the queue, and download the returned MP4. A minimal Python worker can look like this:

import os
import fal_client

VIDEO = "https://example.com/archive/clip.mp4"

result = fal_client.subscribe(
    "fal-ai/bytedance-upscaler/upscale/video",
    arguments={
        "video_url": VIDEO,
        "target_resolution": "4k",
        "target_fps": 30,
        "enhancement_preset": "old_film",
        "enhancement_tier": "standard",
        "fidelity": "high",
    },
    with_logs=True,
)
print(result["video"]["url"])

For production batches, replace subscribe with queue submission plus a webhook or status polling. Add retries for transient failures, record the provider request ID, and cap concurrency so a folder of short clips does not create an uncontrolled bill. Process a 5–10 second crop first; only then submit the full source.

Real-ESRGAN’s frame workflow is more manual: extract frames with FFmpeg, run the official video inference script or an image model, reassemble the numbered frames at the original frame rate, and remux the original audio. Preserve frame numbering and use lossless or high-quality intermediates; otherwise the comparison is testing your intermediate codec as much as the upscaler.

When upscaling makes footage worse

Stop or lower the target when any of these appears in a short test:

  1. Text changes shape. The model is reconstructing a guess, not recovering readable characters.
  2. Faces drift between frames. Choose a more conservative tier or a local workflow with better controls.
  3. Edges ring. Strong sharpening is outlining contrast rather than restoring detail.
  4. Grain crawls. Noise has become temporal texture; restoration may need denoising before enlargement.
  5. Motion looks unnatural. Interpolation has changed timing or created blended objects.
  6. The source is interlaced or badly exposed. Deinterlace or correct the source first.
  7. The delivery target is only 1080p. A 4K render adds cost and may expose artifacts that will be downsampled away.

ByteDance’s old_film preset is a useful test for archive material, but the public model pages do not promise scratch removal, flicker correction, audio preservation, or a particular codec. Treat those as workflow questions, not guaranteed features.

FAQ: practical decisions before rendering

Can ByteDance upscale video to 4K?

Yes. Replicate documents 2K and 4K targets, while fal exposes 4K and additional schema values. The exact limits, price, and tier depend on the host.

Should I convert 24 fps to 60 fps?

Only when the delivery requires it or you have reviewed interpolation artifacts. A higher frame rate does not recreate motion that was never captured.

Is ByteDance cheaper than Topaz?

For a few API seconds, hosted ByteDance can be inexpensive; fal lists $0.864 for 30 seconds at 4K/30 standard. Topaz Video’s official pricing documentation lists Video at $299 per year prepaid or $33 per month on an annual commitment. The break-even depends on your GPU, volume, and whether you need cloud rendering: compare annual license cost plus hardware time with your expected hosted seconds.

Is Real-ESRGAN free for video?

The official project provides open-source code and pretrained models, but your compute, storage, and engineering time are not free. Frame-wise processing also needs a tested audio and temporal-consistency pipeline.

Does the upscaler preserve audio?

Do not assume it. The model/API output is a video file, but the reviewed public documentation does not provide a universal audio-preservation guarantee. Keep the original audio and remux it when required.

What should I use for faces?

Start with a short crop and compare ByteDance Pro, Topaz, and a conservative Real-ESRGAN setting. Reject any result that changes identity or produces plastic skin, even if it has more visible pores.

The decision I would ship

The safest production sequence is: extract a short crop, render all candidates at the real delivery frame rate, inspect faces/text/motion at 100%, then process the archive. For related local workflows, see the Real-ESRGAN setup guide and GFPGAN and CodeFormer face restoration.