Communitygithub.com

Fullgrade - 自動カラーグレーディング

ビデオの自動カラーグレーディング(露出補正、ホワイトバランス、色統一、LOG映像のデコード、iPhone HDR対応)を行います。自然な仕上がりで、各ショット個別に調整し、元のファイルは変更しません。

Fullgrade - 自動カラーグレーディング とは?

Fullgradeは、ffmpegとPythonを使用してローカル環境で動作する自動ビデオカラーグレーディングツールです。GPUやクラウドAPI、大量のトークンを必要とせず、スクリプトが映像内容を分析して色補正を行います。DJI D-Log、Sony S-Log3、Panasonic V-Log、Apple LogなどのLOG映像をデコードし、iPhone HDRからSDRへの変換も自動で行います。露出補正、ホワイトバランス調整、コントラスト・彩度調整、プリセット適用(自然、不動産、暖色、鮮やか、クールモダン、シネマティック)に加え、顔検出を利用したスマートクロップによるアスペクト比変更(9:16、16:9、1:1、4:5)もサポートします。完成した編集動画をショットごとに分割し、それぞれに最適なグレーディングを施すことで、シーン間の色の統一も実現します。元のファイルは一切変更せず、補正結果は別フォルダに保存されます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sf-ryanyan/fullgrade/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Fullgrade

ビデオ向けの自動・優しいカラー補正ツール。すべてが ffmpeg + Python でローカル動作。GPU、クラウドAPI、トークンはほぼ不要(フレームを直接見るのではなく、スクリプトが分析を行います)。

言語: ユーザーの言語で応答します。ユーザーが中国語で書いた場合は --lang zh を指定し、レポートと比較画像を中国語にします。それ以外は --lang en を使用します。

1. 環境(初回実行時、または何か失敗したとき)

python3 <skill_dir>/scripts/fullgrade.py --check

不足しているものがあれば、ユーザーに必要なコマンドを1つだけ伝えてください:

不足macOSWindowsLinux
ffmpegbrew install ffmpegwinget install ffmpegsudo apt install ffmpeg
numpy / Pillowpython3 -m pip install numpy pillow(pipが拒否する場合は --break-system-packages を追加)
顔認識クロップ(オプション)python3 -m pip install opencv-python-headless

スクリプトはビデオがあるマシン上で実行します。ファイルがサンドボックスにアップロードされた場合は、そこで実行して出力を返します。 Windowsで python3 が見つからない場合は python を使用します。

オプション:python3 <skill_dir>/scripts/fullgrade.py --selftest で合成映像を生成し、すべての機能をチェックします(約2~3分)。ユーザーが「このパソコンで動く?」と聞いてきた場合に使用してください。

2. リクエストを1つのコマンドに変換

python3 <skill_dir>/scripts/fullgrade.py <ファイルまたはフォルダ> [オプション] --lang <en|zh>
ユーザーが言ったこと…オプション
スタイルについて何も言わない / 「とにかく直して」 / 自然--preset natural(デフォルト)
不動産、屋内、明るく風通しの良い / 房产, 明亮通透--preset real-estate
暖かく、居心地良く、夕方 / 温暖, 温馨--preset warm
鮮やか、料理、商品 / 鲜艳, 美食--preset vivid
清潔感、クール、モダン、テック / 清冷, 现代--preset cool-modern
シネマティック、映画風、vlog / 电影感--preset cinematic
縦向き、TikTok、Reels、Shorts、抖音、小红书--ratio 9:16
YouTube、横長 / 横屏--ratio 16:9
正方形 / Instagramフィード--ratio 1:1 または --ratio 4:5
フレームいっぱいに、黒帯なし / 裁切--fit crop
全体を表示 / 不要裁, 补边--fit blur
黒/白の帯 / 黒/白のバー--fit color --pad-color black(または white)
ドローン / DJI D-Log--log dlog
Sony S-Log3 · Panasonic V-Log · iPhone Apple Log--log slog3 · --log vlog · --log applelog
すべてをこのクリップ/写真に合わせる--match <ファイル>(--match-method mkl デフォルト;reinhard、hist)
すべてのクリップを互いに厳密に合わせる--match hero
軽めの調整 / やりすぎない / 轻一点--strength 0.6
高速エクスポート--fast(Apple / NVIDIA / Intel ハードウェアエンコーダー、自動フォールバック)
最高品質--quality best
サブフォルダを含める--recursive
分析のみ、エクスポートしない--analyze-only
ファイル全体に1つのグレード--no-split
Premiere / DaVinci / Final Cut / CapCut 用のLUTファイル<skill_dir>/luts/ を指定(または --export-luts <フォルダ>)

ほとんどの人に適したデフォルト設定:--fit auto(画像の60%以上を保持できる場合はクロップ、それ以外はぼかし背景 — よって16:9 ↔ 9:16ではユーザーがクロップを要求しない限りぼかし背景を使用)、--dynamic auto、--denoise auto。

ユーザーが言及しない限り、アスペクト比については尋ねないでください — 元の比率を維持します。リクエストが本当に不明確な場合のみ質問してください(例:「LOG」と言ったがどのカメラかは言わなかった場合)。

3. 内部動作(聞かれた場合のみ簡潔に説明)

  1. iPhone HDR → SDRに自動変換。--log が指定された場合はLOGをデコード(スクリプトはクリップがLOGのように見える場合に警告を出します)。
  2. 完成した編集はショットに分割され(シーン検出)、各ショットが個別にグレーディングされます。
  3. ショットごと:ホワイトバランス → 黒/白レベル(ハイライト保護) → 露出を快適な範囲に調整 → コントラスト → 彩度 → プリセットルック → オプションでマッチング。安全性リミット付きの単一の3D LUTに焼き付けられるため、やりすぎは発生しません。
  4. ショット内で明るさが変動する場合(暗い廊下から明るい部屋に歩いていくなど)はスムージング処理されます(動的露出)。強く明るくしたショットには軽いノイズ除去が適用されます。
  5. リフレーミングでは画像が引き伸ばされることはありません。スマートクロップは顔(OpenCVがインストールされている場合)または最も詳細な領域を追跡します。
  6. すでに適切に見えるクリップは再エンコードせずにコピーされます。

速度:1080pの場合、処理時間は動画の長さの約1~3倍です(4Kはさらに時間がかかります)。長い動画や多数のファイルの場合は、実行中であることをユーザーに伝えて待機し、キャンセルしないでください。急いでいる場合は --fast を使用します。

終了コード: 0 = すべて完了 · 2 = 一部のファイルで失敗(その他は正常 — 出力の最後に Done: X OK, Y failed と表示され、レポートに理由が記載されます) · 1 = 処理できるものがなし。どのファイルがなぜ失敗したかを必ずユーザーに伝えてください(よくある原因:動画でない、ファイル破損、音声のみのファイル)。

4. 出力

  • 動画:<入力フォルダ>/_graded/<ファイル名>_<プリセット>[_9x16].mp4 — 上書きはしません(_v2 を追加)、元のファイルはそのまま。
  • _graded/compare/*_compare.jpg — ビフォー/アフター静止画。必ず少なくとも1枚をユーザーに表示してください。
  • _graded/fullgrade_report.html — ビフォー/アフターのスライダー、数値、各ショットの波形スコープ。提供してください。
  • _graded/fullgrade_report.md — 同じ数値がテキストで書かれています。サマリーを書くためにこれを読んでください。

5. 応答

ユーザーの言語で短いサマリー:動画の数、使用したプリセット/アスペクト比、ファイルの場所、何が変わったかの1~2文(レポートから、例:「ショット2は非常に黄色かったが、今はニュートラルになっています。窓のハイライトは保護されました」)、比較画像、そして1つ有用な次のステップ(別のプリセット、9:16バージョン、軽めにしたい場合は --strength)。

正直な限界

  • 完全に白飛びした窓や空は復元できません。ただし、画像の他の部分は改善されます。
  • 非常に暗い映像を明るくするとノイズが現れます(軽いノイズ除去が役立ちますが、魔法ではありません)。
  • 1つのショット内の混合光(オレンジ色のランプ+青色の日光)は妥協点でバランスを取ります。
  • 大きく異なる2つのショット間のディゾルブでは、カット位置に小さな段差が生じることがあります。
  • DJI D-Log M およびリストにない他のLOGカーブはV1ではサポートされていません — --log なしでグレーディングし、--strength を使用してください。

関連スキル