Communitygithub.com

fullgrade

Automatische Licht- und Farbkorrektur für Videos (automatische Farbkorrektur, Belichtungskorrektur, Weißabgleich, Helligkeit, Angleichung von Clips). Korrigiert dunkle, gelbe, blaue, überbelichtete, graue oder flache Clips, dekodiert LOG-Material (DJI D-Log, Sony S-Log3, Panasonic V-Log, Apple Log) und iPhone HDR, bewertet jeden Shot eines fertigen Schnitts separat, wendet einen Look-Preset an (natürlich, Immobilien, warm, lebendig, kühl-modern, filmisch) und passt das Seitenverhältnis auf 9:16 / 16:9 / 1:1 / 4:5 ohne Streckung an. Einzelfeld oder ganzer Ordner; Originale werden nie verändert.

Was ist fullgrade?

Fullgrade ist ein KI-Skill zur automatischen Farbkorrektur von Videos, der lokal ohne GPU- oder Cloud-API ausgeführt wird. Es verwendet ffmpeg und Python, um Belichtung, Weißabgleich, Kontrast und Sättigung pro Shot zu optimieren und kann LOG-Material (DJI D-Log, Sony S-Log3, Panasonic V-Log, Apple Log) sowie iPhone HDR dekodieren. Der Skill erkennt Szenenwechsel in fertig geschnittenen Projekten, korrigiert jeden Shot einzeln und bietet verschiedene Look-Presets (natürlich, warm, lebendig, filmisch etc.) sowie die Option zur intelligenten Bildneuanordnung auf gängige Seitenverhältnisse (9:16, 16:9, 1:1, 4:5). Die Analyse wird vom Skript durchgeführt, nicht durch Bildbetrachtung, was die Token-Kosten minimiert. Fullgrade eignet sich für Aufgaben wie Farbangleichung, Belichtungskorrektur und Helligkeitsanpassung von Videoclips, ohne deren Originale zu verändern.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht fullgrade?

Automatische, sanfte Farbkorrektur für Videos. Alles läuft lokal mit ffmpeg + Python; keine GPU, keine Cloud-API, fast keine Tokens (die Analyse wird vom Skript durchgeführt, nicht durch Bildbetrachtung).

Sprache: Antworte in der Sprache des Benutzers. Wenn der Benutzer auf Chinesisch schreibt, verwende --lang zh, damit der Bericht und die Vergleichsbilder auf Chinesisch sind; sonst --lang en.

1. Umgebung (erster Durchlauf oder falls etwas fehlschlägt)

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

Wenn etwas fehlt, teile dem Benutzer den entsprechenden Befehl mit:

FehlendmacOSWindowsLinux
ffmpegbrew install ffmpegwinget install ffmpegsudo apt install ffmpeg
numpy / Pillowpython3 -m pip install numpy pillow (füge --break-system-packages hinzu, wenn pip sich weigert)
Face-Aware Crop (optional)python3 -m pip install opencv-python-headless

Führe das Skript auf dem Rechner aus, auf dem sich die Videos befinden. Wenn die Dateien in eine Sandbox hochgeladen wurden, führe es dort aus und sende die Ausgaben zurück. Unter Windows verwende python anstelle von python3, falls python3 nicht gefunden wird.

Optional: python3 <skill_dir>/scripts/fullgrade.py --selftest erstellt synthetisches Filmmaterial und testet alle Funktionen (ca. 2–3 Minuten). Verwende es, wenn der Benutzer fragt: „Funktioniert es auf meinem Computer?"

2. Die Anfrage in einen Befehl umwandeln

python3 <skill_dir>/scripts/fullgrade.py <dateien-oder-ordner> [optionen] --lang <en|zh>
Der Benutzer sagt…Option
nichts über den Stil / „Einfach korrigieren"/ 自然--preset natural (Standard)
Immobilien, Innenräume, hell & luftig / 房产, 明亮通透--preset real-estate
warm, gemütlich, Abend / 温暖, 温馨--preset warm
lebendig, Essen, Produkt / 鲜艳, 美食--preset vivid
klar, kühl, modern, Technik / 清冷, 现代--preset cool-modern
filmisch, Filmlook, Vlog / 电影感--preset cinematic
vertikal, TikTok, Reels, Shorts, 抖音, 小红书--ratio 9:16
YouTube, Querformat / 横屏--ratio 16:9
quadratisch / Instagram-Feed--ratio 1:1 oder --ratio 4:5
Bild füllen, keine Balken / 裁切--fit crop
gesamtes Bild behalten / 不要裁, 补边--fit blur
schwarze / weiße Balken--fit color --pad-color black (oder white)
Drohne / DJI D-Log--log dlog
Sony S-Log3 · Panasonic V-Log · iPhone Apple Log--log slog3 · --log vlog · --log applelog
alles an diesen Clip / dieses Foto anpassen--match <datei> (--match-method mkl Standard; reinhard, hist)
alle Clips eng aneinander angleichen--match hero
leichtere Korrektur / nicht übertreiben / 轻一点--strength 0.6
schnellerer Export--fast (Apple / NVIDIA / Intel Hardware-Encoder, automatischer Fallback)
beste Qualität--quality best
Unterordner einbeziehen--recursive
nur prüfen, kein Export--analyze-only
eine einzige Korrektur für die gesamte Datei--no-split
LUT-Dateien für Premiere / DaVinci / Final Cut / CapCutverweise auf <skill_dir>/luts/ (oder --export-luts <ordner>)

Standardeinstellungen, die für die meisten Benutzer bereits richtig sind: --fit auto (zuschneiden, wenn ≥60 % des Bildes erhalten bleiben, sonst unscharfer Hintergrund – bei 16:9 ↔ 9:16 wird also standardmäßig ein unscharfer Hintergrund verwendet, es sei denn, der Benutzer wünscht einen Zuschnitt), --dynamic auto, --denoise auto.

Frage nicht nach dem Seitenverhältnis, es sei denn, der Benutzer erwähnt es – behalte das Original bei. Frage nur, wenn die Anfrage wirklich unklar ist (z. B. sagt der Benutzer „LOG", aber nicht, welche Kamera).

3. Was passiert (nur auf Nachfrage kurz erklären)

  1. iPhone HDR → automatisch SDR; LOG wird dekodiert, wenn --log angegeben ist (das Skript warnt, wenn ein Clip nach LOG aussieht).
  2. Ein fertiger Schnitt wird in Shots aufgeteilt (Szenenerkennung); jeder Shot wird einzeln korrigiert.
  3. Pro Shot: Weißabgleich → Schwarz-/Weißpegel (Lichter geschützt) → Belichtung in einen Komfortbereich → Kontrast → Sättigung → Look-Preset → optional Angleichen. In einen 3D-LUT pro Shot mit Sicherheitsgrenzen eingebrannt, sodass es nie übertreibt.
  4. Helligkeitsschwankungen innerhalb eines Shots (z. B. beim Gehen von einem dunklen Flur in einen hellen Raum) werden geglättet (dynamische Belichtung). Stark aufgehellte Shots erhalten eine leichte Rauschreduzierung.
  5. Die Bildneuanordnung streckt nie; der intelligente Zuschnitt folgt Gesichtern (falls OpenCV installiert ist) oder dem detailreichsten Bereich.
  6. Ein Clip, der bereits korrekt aussieht, wird ohne Neucodierung kopiert.

Geschwindigkeit: Die Verarbeitung dauert etwa 1–3× der Videolänge für 1080p (4K dauert länger). Bei langen oder vielen Dateien teile dem Benutzer mit, dass es läuft, und warte; brich nicht ab. Verwende --fast, wenn es eilig ist.

Exit-Code: 0 = alles erledigt · 2 = einige Dateien fehlgeschlagen (andere sind in Ordnung – am Ende der Ausgabe wird Done: X OK, Y failed angezeigt und der Bericht zeigt den Grund) · 1 = es konnte nichts verarbeitet werden. Teile dem Benutzer immer mit, welche Dateien fehlgeschlagen sind und warum (häufige Ursachen: kein Video, beschädigte Datei, Nur-Audio-Datei).

4. Ausgaben

  • Videos: <eingabe-ordner>/_graded/<name>_<preset>[_9x16].mp4 – überschreibt nie (fügt _v2 hinzu), Originale bleiben unberührt.
  • _graded/compare/*_compare.jpg – Vorher-/Nachher-Standbilder. Zeige dem Benutzer immer mindestens eines davon.
  • _graded/fullgrade_report.html – Vorher-/Nachher-Schieberegler, Zahlen und Ansichten für jeden Shot. Biete es an.
  • _graded/fullgrade_report.md – dieselben Zahlen als Text; lies es, um deine Zusammenfassung zu schreiben.

5. Antwort

Kurze Zusammenfassung in der Sprache des Benutzers: wie viele Videos, welcher Preset/Seitenverhältnis, wo die Dateien sind, ein oder zwei Sätze darüber, was sich geändert hat (aus dem Bericht, z. B. „Shot 2 war sehr gelb und ist jetzt neutral; die Fensterlichter wurden geschützt"), das/die Vergleichsbild(er) und ein sinnvoller nächster Schritt (ein anderer Preset, eine 9:16-Version, --strength falls der Benutzer eine leichtere Korrektur wünscht).

Ehrliche Grenzen

  • Reinweiße überbelichtete Fenster/Himmel können nicht wiederhergestellt werden; der Rest des Bildes wird dennoch verbessert.
  • Sehr dunkles Filmmaterial zeigt beim Aufhellen Rauschen (eine leichte Rauschreduzierung hilft, ist aber kein Wundermittel).
  • Gemischtes Licht in einem Shot (orangefarbene Lampe + blaues Tageslicht) wird als Kompromiss ausgeglichen.
  • Überblendungen zwischen zwei sehr unterschiedlichen Shots können einen kleinen Sprung am Schnitt zeigen.
  • DJI D-Log M und andere nicht aufgeführte LOG-Kurven werden in V1 nicht unterstützt – korrigiere sie ohne --log und verwende --strength.

Verwandte Skills