Communitygithub.com

Fullgrade - 자동 색보정

동영상의 자동 밝기 및 색상 보정 (자동 색보정/노출 수정/화이트 밸런스/밝기 조정/클립 간 일치). 어둡거나 노란색, 파란색, 과다 노출, 회색 또는 평탄한 클립을 수정하고, LOG 영상(DJI D-Log, Sony S-Log3, Panasonic V-Log, Apple Log)과 iPhone HDR을 디코딩하며, 완성된 편집의 각 샷을 개별적으로 그레이딩합니다. 자연, 부동산, 따뜻함, 선명함, 쿨 모던, 시네마틱 룩 프리셋을 적용하고 9:16 / 16:9 / 1:1 / 4:5 비율로 늘어짐 없이 리프레이밍합니다. 단일 파일 또는 전체 폴더를 처리하며, 원본은 변경되지 않습니다.

Fullgrade - 자동 색보정란 무엇인가요?

Fullgrade는 로컬에서 실행되는 강력한 자동 색보정 도구로, ffmpeg와 Python을 사용하여 동영상의 색상, 노출, 화이트 밸런스를 지능적으로 수정합니다. GPU나 클라우드 API가 필요 없으며, 거의 토큰을 소모하지 않습니다(분석은 스크립트에서 수행되며 프레임을 직접 보지 않음). 여러 동영상 클립의 색상을 일치시키거나, LOG 영상을 디코딩하거나, HDR 영상을 SDR로 변환하고, 다양한 룩 프리셋(자연, 부동산, 따뜻함, 선명함, 쿨 모던, 시네마틱)을 적용할 수 있습니다. 또한 스마트 크롭으로 얼굴을 감지하거나 상세한 영역을 따라 9:16, 16:9, 1:1, 4:5 등 다양한 비율로 리프레이밍할 수 있습니다. 원본 파일은 전혀 변경되지 않으며, 모든 출력은 `_graded` 폴더에 안전하게 저장됩니다. Claude Code, Cursor, Codex 등 AI 에이전트와 함께 사용하도록 설계되었으며, 사용자가 색보정, 그레이딩, 밝기 조정, 색상 통일 또는 비율 변경을 요청할 때 자동으로 실행됩니다.

지원 대상~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

누락된 항목이 있으면 사용자에게 필요한 명령 하나를 알려주세요.

누락된 항목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. 요청을 하나의 명령으로 변환

python3 <skill_dir>/scripts/fullgrade.py <files-or-folders> [options] --lang <en|zh>
사용자가 말한 내용…옵션
스타일에 대한 언급 없음 / "그냥 수정해줘" / 自然--preset natural (기본값)
부동산, 인테리어, 밝고 통풍이 잘되는 / 房产, 明亮通透--preset real-estate
따뜻함, 아늑함, 저녁 / 温暖, 温馨--preset warm
선명함, 음식, 제품 / 鲜艳, 美食--preset vivid
깔끔함, 쿨, 모던, 테크 / 清冷, 现代--preset cool-modern
시네마틱, 필름 룩, 브이로그 / 电影感--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 <file> (--match-method mkl 기본값; reinhard, hist)
모든 클립을 서로 밀접하게 일치시키기--match hero
더 가볍게 / 과하지 않게 / 轻一点--strength 0.6
더 빠른 내보내기--fast (Apple / NVIDIA / Intel 하드웨어 인코더, 자동 폴백)
최고 품질--quality best
하위 폴더 포함--recursive
확인만, 내보내지 않음--analyze-only
전체 파일에 하나의 그레이드만 적용--no-split
Premiere / DaVinci / Final Cut / CapCut용 LUT 파일<skill_dir>/luts/ 폴더를 가리키거나 --export-luts <folder> 사용

대부분의 사용자에게 이미 적합한 기본값: --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. 출력물

  • 비디오: <input folder>/_graded/<name>_<preset>[_9x16].mp4 — 절대 덮어쓰지 않음 (_v2 추가), 원본은 그대로.
  • _graded/compare/*_compare.jpg — 전/후 스틸 이미지. 항상 사용자에게 최소 하나를 보여주세요.
  • _graded/fullgrade_report.html — 각 샷의 전/후 슬라이더, 수치 및 스코프. 제공하세요.
  • _graded/fullgrade_report.md — 텍스트로 된 동일한 수치; 요약을 작성할 때 읽으세요.

5. 응답

사용자의 언어로 간단한 요약: 얼마나 많은 비디오, 어떤 프리셋/비율, 파일 위치, 무엇이 변경되었는지에 대한 한두 문장 (보고서에서, 예: "두 번째 샷이 매우 노랗게 보였으나 이제 중립으로 조정되었습니다. 창문 하이라이트는 보호되었습니다."), 비교 이미지, 그리고 하나의 유용한 다음 단계 (다른 프리셋, 9:16 버전, 더 가볍게 원하면 --strength).

정직한 한계

  • 순수 흰색으로 날아간 창문/하늘은 복구할 수 없습니다. 사진의 나머지 부분은 여전히 개선됩니다.
  • 매우 어두운 영상은 밝게 할 때 노이즈가 나타납니다 (약한 노이즈 제거가 도움이 되지만, 마법은 아닙니다).
  • 한 샷 내에서 혼합된 조명 (주황색 램프 + 파란색 햇빛)은 절충점으로 균형을 맞춥니다.
  • 매우 다른 두 샷 사이의 디졸브는 컷에서 작은 단계가 나타날 수 있습니다.
  • DJI D-Log M 및 기타 나열되지 않은 LOG 곡선은 V1에서 지원되지 않습니다 — --log 없이 그레이딩하고 --strength를 사용하세요.

관련 스킬