ホスティング型APIでアップスケールやフレーム補間まで済ませたいならByteDance、ローカルで映像を見ながら細かく調整したいならTopaz、自前パイプラインを組みたいならReal-ESRGANが候補になります。最終的な品質を左右するのは「4Kにしたか」より、元映像の劣化状態と納品要件です。
結論:解像度ではなく、元映像に合わせて選ぶ
ByteDance Video Upscalerは、AI生成映像、UGC、ショートシリーズ、古いフィルム映像などを、1080p・2K・4Kの納品ファイルに仕上げたいときに便利なAPIです。編集者がローカル環境でプレビューしながらモデルを手動調整するなら、Topaz Videoのほうが向いています。Real-ESRGANは低コストでスクリプト化しやすいベースラインですが、フレーム単位の処理になるため、ちらつきの抑制や音声の保持には追加作業が必要です。
| やりたいこと | まず試す選択肢 | 理由 |
|---|---|---|
| AI生成クリップを2K/4Kに整える | ByteDance Video Upscaler | AIGCプリセットと1回のvideo-to-video処理で対応できる |
| ワークステーションで編集者主導の復元を行う | Topaz Video | ローカルレンダリング、プレビュー、デスクトップ向けの作業フロー |
| 多数のクリップをパイプライン全体まで管理する | Real-ESRGAN | オープンソース推論と自動化に対応 |
| 秒単位の料金が公開された商用APIを使う | fal経由のByteDance | キューAPI、Webhook、プリセット、課金管理を利用できる |
ByteDance Video Upscalerで実際に指定できること
Replicateのページでは、このモデルをByteDanceのvCube video upscalerとして紹介しています。480p・720p・1080pの入力を2Kまたは4Kに変換でき、エンハンスとフレーム補間を1回の処理で実行できます。静止画から動画を生成するモデルではなく、既存の動画ファイルを処理するアップスケーラーです。
重要なのは、シーンプリセット、処理ティア、目標解像度、目標フレームレートの4項目です。Replicateでは、シーンとしてaigc、short_series、ugc、old_film、commonを選べます。また、standardと、許可リスト登録者に限られるproティアも案内されています。ReplicateのREADMEによると、5秒のクリップでも通常は3〜5分かかるため、リアルタイムプレビュー向けのツールではありません。
| 設定項目 | 公開されている選択肢 | 実際の使いどころ |
|---|---|---|
| シーン | aigc、short_series、ugc、old_film、common | 元映像に合うプリセットを選ぶ |
| 解像度 | Replicateでは240p〜1080p、2K、4K | 自動的に4Kにせず、納品上限に合わせる |
| フレームレート | 24、30、60、および公開されている120 | 補間が目的でない限り、元映像に合わせる |
| ティア | standard、Replicateではproへのアクセスが制限されている | 顔や細部を重視するときにProを検討する |
| 出力 | MP4ファイル1本 | 利用するプロバイダー側で音声とメタデータを確認する |
falでは、ティア、fidelity、ビット深度、プリセット、最大8Kのスキーマ上のターゲットなど、Replicateより多くの設定を扱えます。ただし、画面上で確認できる料金表が対象としているのは1080p、2K、4Kです。
料金を変える設定
falが掲載している30fpsの標準料金は、1080pが1秒あたり$0.0072、2Kが$0.0144、4Kが$0.0288です。60fpsでは料金が2倍になり、Proは通常料金の10倍と説明されています。したがって、4K/30fpsの標準設定で30秒の動画を処理すると、アカウント固有の料金を除いて約$0.864です。
| falの設定 | 出力1秒あたりの料金 | 30秒の場合 |
|---|---|---|
| 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 |
ここで示したのはfalの料金であり、ByteDance全体に共通する価格ではありません。BytePlus VODでは、ティア、解像度、フレームレート帯によって別の分単位料金が設定されています。
同じ古い映像で比べるときに、判断を誤らない方法
比較するなら、元映像と納品ターゲットを1つに揃える必要があります。顔、細かな質感、字幕や看板、動く輪郭、暗く平坦な部分が含まれる古い映像から、5〜10秒の短い範囲を切り出して使いましょう。元映像、切り出し範囲、出力解像度、フレームレート、コーデック、音声を戻す手順はすべて統一します。
| パイプライン | レンダリング内容 | 確認するポイント |
|---|---|---|
| ByteDance | old_filmまたはcommon、2Kまたは4K、元映像に合わせたFPS | 粒状感、顔、文字、時間方向の安定性 |
| Topaz Video | 同じエンハンスモデルと、統一した出力設定 | 本来のディテール復元か、生成された質感か |
| Real-ESRGAN | 公開されているモデルとタイル設定で同じフレームを処理 | フレーム間の一貫性、ハロー、処理時間 |
元映像、設定、処理時間、コスト、ブラインド形式の横並び評価を記録して初めて、結果はベンチマークとして意味を持ちます。各ベンダーのページから分かるのは機能と料金であって、どの素材でも勝てる万能な品質ランキングではありません。
上の表は品質を保証するものではなく、振り分けの目安です。長尺の処理に入る前に、必ず元映像でテストしてください。ロゴよりも重要なのは失敗のパターンです。小さな字幕が輪郭を強調しただけの線に変わる、顔が蝋のようになったり過剰に精細になったりする、フィルム粒子が這うようなノイズになる、といった問題が起こります。24fpsの映像を60fpsで出力しても、見た目が滑らかになるだけで、撮影されていなかった動きが新たに生まれるわけではありません。ぼけが強い、圧縮が激しい、インターレースが残っている、露出が大きく崩れている映像では、4K化によってリンギングや生成されたディテールが目立ち、かえって悪化することもあります。
APIの流れ:送信、ポーリング、ダウンロード、バッチ処理
fal APIは非同期で動作します。APIキーはサーバー側に置き、公開URLまたはアップロードしたファイルを送信し、キューの状態を確認して、返ってきたMP4をダウンロードします。最小限のPythonワーカーは次のように書けます。
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"])
本番のバッチ処理では、subscribeをキューへの送信とWebhook、またはステータスポーリングに置き換えます。一時的な失敗に備えたリトライ、プロバイダーのリクエストIDの記録、同時実行数の上限設定も入れておきましょう。短いクリップをフォルダーごと投入して、予想外の請求が発生する事態を避けるためです。まず5〜10秒の範囲で試し、問題がないことを確認してから元映像全体を送信します。
Real-ESRGANのフレーム処理は、より手作業が増えます。FFmpegでフレームを抽出し、公式の動画推論スクリプトまたは画像モデルを実行します。その後、連番フレームを元のフレームレートで動画に戻し、元音声を再多重化します。フレーム番号は維持し、中間ファイルには無劣化または高品質の形式を使ってください。そうしないと、アップスケーラーだけでなく、中間コーデックの影響まで比較することになります。
アップスケールで映像が悪化したときの見分け方
短いテストで次の症状が出たら、処理を止めるか、目標値を下げましょう。
- 文字の形が変わる。モデルが読める文字を復元しているのではなく、推測で描き直しています。
- フレームごとに顔が揺れる。より控えめなティアを選ぶか、細かく制御できるローカル処理に切り替えます。
- 輪郭の周囲にリンギングが出る。強いシャープ処理がディテールを戻すのではなく、コントラストの境界を縁取りしています。
- 粒子が這うように動く。ノイズが時間方向のテクスチャに変わっています。拡大前にノイズ除去が必要かもしれません。
- 動きが不自然になる。補間によってタイミングが変わったり、物体が混ざったように見えたりしています。
- インターレースや露出不良がある。先にデインターレースまたは元映像の補正を行います。
- 納品先が1080pに限られる。4K化でコストが増えるうえ、最終的に縮小されるアーティファクトまで目立つ可能性があります。
ByteDanceのold_filmプリセットはアーカイブ映像を試す入口として便利ですが、公開されているモデルページでは、傷の除去、ちらつき補正、音声保持、特定コーデックへの対応は保証されていません。これらは標準機能と決めつけず、ワークフロー側で確認すべき項目です。
FAQ:レンダリング前に決めておきたいこと
ByteDanceで動画を4Kにアップスケールできますか?
できます。Replicateでは2Kと4Kのターゲットが案内され、falでは4Kに加えてスキーマ上の追加値も利用できます。ただし、具体的な上限、料金、利用できるティアはホスティング先によって異なります。
24fpsを60fpsに変換すべきですか?
納品要件で必要な場合、または補間によるアーティファクトを確認したうえで問題ない場合に限ります。フレームレートを上げても、撮影されていなかった動きが再現されるわけではありません。
ByteDanceはTopazより安いですか?
APIで数秒だけ処理するなら、ホスティング型のByteDanceは安価に済む場合があります。falでは、4K/30fpsの標準設定で30秒あたり$0.864です。一方、Topaz Videoの公式料金ドキュメントでは、Videoは年払いで年間$299、または年間契約で月額$33と記載されています。損益分岐点はGPU、処理量、クラウドレンダリングの必要性によって変わります。年間ライセンス料金とハードウェアの稼働時間を、想定するAPI処理秒数と比較してください。
Real-ESRGANは動画でも無料ですか?
公式プロジェクトはオープンソースコードと学習済みモデルを提供しています。ただし、計算資源、ストレージ、実装にかかる時間は無料ではありません。フレーム単位の処理には、音声と時間方向の一貫性を検証したパイプラインも必要です。
アップスケーラーは音声を保持しますか?
保持されると決めつけないでください。モデル/APIの出力は動画ファイルですが、確認した公開ドキュメントには、音声保持を一律に保証する記載はありません。必要に応じて元音声を残し、後から再多重化します。
顔の処理には何を使うべきですか?
まず短い範囲を切り出し、ByteDance Pro、Topaz、控えめな設定のReal-ESRGANを比較します。毛穴などのディテールが増えて見えても、本人らしさが変わったり、肌がプラスチックのようになったりする結果は採用しないでください。
実際に採用するなら、この順番で進める
安全な本番手順は、短い範囲を切り出し、実際の納品フレームレートで候補をすべてレンダリングし、100%表示で顔・文字・動きを確認してから、アーカイブ全体を処理する流れです。関連するローカル処理については、Real-ESRGANのセットアップガイドとGFPGANとCodeFormerによる顔の復元も参照してください。