Communitygithub.com

huihezuo-source/h3-video

로컬 ComfyUI(MiniMax H3 + Qwen-Image + VoxCPM2)를 사용하여 대화가 포함된 AI 단편 드라마, 의인화된 동물 스케치, 스토리 단편 영화를 제작하는 전체 워크플로우: 분위기 설정, 대사표, 더빙, 캐릭터 마스터, 첫 프레임, H3 생성, 문장별 화자 확인, 업스케일, 자막, 음량, 썸네일.

h3-video란 무엇인가요?

이 스킬은 AI 단편 드라마 및 스토리 기반 비디오 제작을 위한 포괄적인 워크플로우입니다. 로컬 환경의 ComfyUI를 기반으로 MiniMax H3 비디오 생성, Qwen-Image 이미지 생성 및 편집, VoxCPM2 음성 복제 및 TTS를 통합하여 전체 제작 과정을 안내합니다. 핵심 접근 방식은 '먼저 계획하고, 각 단계에서 확인하며, 오류가 발생한 레이어만 수정'하는 것입니다. 총 8단계(연구, 계획, 더빙, 캐릭터 마스터, 첫 프레임, 생성, 검사 및 후반 작업, 회고)로 구성된 순차적인 프로세스를 제공하며, 특히 첫 프레임 승인 전에는 비디오를 생성하지 못하도록 하는 엄격한 게이트를 두어 품질을 보장합니다. 화자 검사, 시선 처리, 스타일 일관성, 문제 해결을 위한 스크립트(speaker_grid.py, h3_ref2va.py 등)가 포함되어 있습니다. 주로 Claude Code, Cursor, Codex와 같은 터미널 기반 AI 에이전트에서 사용되며, 지역 ComfyUI 인스턴스와 상호 작용합니다. 대상 사용자는 AI 비디오 생성 도구를 사용하여 스토리텔링과 캐릭터 중심 콘텐츠를 제작하려는 개발자입니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/huihezuo-source/H3-Video/tree/HEAD

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

H3 Video: AI 단편 드라마 전체 워크플로우

이 워크플로우는 실제 영화 제작 과정에서 얻은 경험을 바탕으로 합니다. 핵심 아이디어: 먼저 계획하고, 각 단계에서 사람이 확인하며, 오류가 발생한 레이어만 수정합니다.

전체 프로세스 (순서대로, 건너뛰지 않음)

단계작업게이트
0연구: 먼저 유사한 우수 작품과 타인의 방식을 살펴보고, 사용된 기법을 기록합니다—
1계획 작성: 분위기와 스타일, 대사표, 세그먼트, 생성 목록 (템플릿: templates/plan_template.md)사용자가 계획 확인
2더빙: 나레이션과 오프스크린 목소리는 TTS로 별도 생성하고, 실제 길이를 측정합니다사용자가 음색 확인 (시청)
3캐릭터 마스터: 인물당 한 장의 정면 전신샷, 이야기 세계관 안에서 촬영사용자가 마스터 확인
4첫 프레임: 세그먼트당 한 장, 동작이 시작되기 직전 상태사용자가 첫 프레임을 승인하기 전에는 비디오를 생성할 수 없습니다
5생성: 먼저 가장 빠른 설정으로 초안 생성—
6문장별 화자 확인, 시선 확인, 접합부 확인오류가 있으면 해당 세그먼트만 재작업
7업스케일, 자막, 음량, 썸네일사용자 최종 승인
8회고: 계획의 '검증할 방법' 항목을 기준으로 점수를 매기고, 교훈을 지식 베이스에 기록—

7가지 엄격한 규칙

  1. 스타일은 이야기의 분위기를 따라야 합니다. 어떤 그림을 그리기 전에 먼저 '분위기와 스타일' 섹션을 작성해야 합니다: 광원과 어두움, 색조, 의복의 새고 더러움 정도, 표정, 배경 분위기. 마스터 샷도 이 세계관 안에서 촬영하며, 스튜디오 회색 배경은 사용하지 않습니다. 모든 그림은 먼저 '이 이야기에 속하는가'를 묻고, 그 다음 세부 사항을 확인합니다. 어두운 이야기에 깨끗하고 예쁜 아이돌 얼굴을 사용하는 것은 가장 흔한 실패 사례입니다.
  2. 한 번의 생성에는 하나의 발성 출처만 있어야 합니다. 나레이션과 오프스크린 목소리는 절대 H3에 넣지 않습니다. 그렇지 않으면 화면 속 인물이 나레이션에 입을 맞추게 되며, 프롬프트에 '입 다물어'라고 적어도 막을 수 없습니다. 나레이션 구간은 대사가 없는 비디오를 생성하고, 사운드는 후반 작업에서 입힙니다.
  3. 현장에 있지만 말하지 않는 캐릭터: 생성 시 대사를 주지 않습니다. 말하는 사람이 숨어야 할 경우 뒷모습이나 오버더숄더 샷을 촬영합니다.
  4. 대사표가 유일한 출처입니다. 각 문장마다 유형(대화/오프스크린), 화자, 응시 대상, 원문을 기록합니다. 약 초당 3자로 예산을 잡고, 각 문장은 해당 세그먼트 내에서 끝나야 합니다. 이후 단계에서는 대사를 변경할 수 없습니다.
  5. 시선: 말하는 사람은 듣는 사람을 바라보고, 듣는 사람은 말하는 사람을 바라봅니다. 프롬프트에 매 문장마다 누가 누구를 보는지 명확히 작성합니다.
  6. 첫 프레임에 오류가 있으면 첫 프레임을 다시 작업하고, 프롬프트로 수정하지 않습니다. 검사 시 원본 해상도로 확대하여 손, 눈, 입, 액세서리, 불필요한 물체를 확인합니다.
  7. 문장별 화자 확인을 통과하지 않으면 납품하지 않습니다. 각 대사 구간의 시간대에 대해 밀집된 프레임 그리드를 추출하고(scripts/speaker_grid.py), 하나의 폐쇄형 질문에만 답합니다: "누구의 입이 움직이고 있는가: A / B / 둘 다 / 둘 다 아님", 그리고 대사표와 대조합니다. 4프레임만 드물게 추출하면 놓칠 수 있습니다.

생성 및 재작업 원칙

  • 초안을 먼저, 업스케일은 나중에: 가장 빠르게 확인 가능한 해상도로 영상을 출력하고, 확인이 완료된 버전만 업스케일합니다.
  • 실패 시 원인부터 파악: 문제가 프롬프트, 첫 프레임, 스크립트, 후반 작업 중 어디에서 발생했는지 판단한 후, 어떤 레이어를 수정할지 결정합니다. 여러 세그먼트에서 동일한 오류가 발생하면 공유 참조(마스터)를 수정하고, 단일 세그먼트 오류는 해당 세그먼트만 수정하며, 한 번에 한 가지 항목만 변경합니다.
  • 프롬프트는 긍정적인 설명을 작성하고, '하지 마세요...'를 나열하지 않습니다. 피하고 싶은 것은 입력(첫 프레임, 마스터) 단계로 돌아가 수정합니다.
  • 각 세그먼트에 사용된 첫 프레임, 마스터, 시드, 프롬프트를 기록하여 필요한 경우 한 세그먼트만 재작업할 수 있도록 합니다.
  • 도입부 2초 테스트: 처음 2초만 보고 시청자가 무엇을 보고 있는지 알 수 있어야 합니다.

참고 자료

  • references/workflow_details_and_lessons.md: 각 단계의 구체적인 방법과 겪었던 문제점들.
  • references/ComfyUI_nodes_and_parameters.md: Qwen-Image를 이용한 마스터 생성, Qwen-Image-Edit를 이용한 이미지 수정, VoxCPM2를 이용한 음성 복제, H3 Ref2VA의 노드와 파라미터, 알려진 오류 해결 방법.
  • references/open_source_pipeline_research.md: 9개의 오픈소스 AI 비디오 프로젝트 방식 비교, 도입할 가치가 있는 것과 없는 것.
  • templates/plan_template.md: 계획 문서 템플릿, 대사표와 검증표 포함.

스크립트

모든 스크립트는 환경 변수 COMFY_URL을 통해 ComfyUI에 연결합니다 (기본값 http://127.0.0.1:8188). 사용법은 scripts/README.md를 참조하세요.

스크립트기능
t2i_masters.pyQwen-Image로 캐릭터 마스터를 일괄 생성합니다 (스타일 접두사 + 인물별 설명)
edit_image.pyQwen-Image-Edit로 특정 부분을 수정하고 나머지는 유지합니다
voice_design.pyVoxCPM2로 텍스트 설명에 따라 캐릭터 목소리를 디자인하고, 인물당 A/B 두 개의 미리 듣기를 생성합니다
tts_clone.pyVoxCPM2로 하나의 참조 음성을 사용하여 음색을 복제하고, 나레이션을 일괄 생성합니다
h3_ref2va.pyH3 Ref2VA 워크플로우를 조립하고 제출합니다 (참조 이미지, 참조 오디오, 첫 프레임 앵커)
wait_download.py작업이 끝날 때까지 기다렸다가 모든 출력을 다운로드합니다
ws_progress.py작업 진행 상황을 확인합니다 (제출 시 사용한 client_id가 필요합니다)
asr.pyfaster-whisper로 전사하여 더빙이 한 글자도 틀리지 않았는지 확인합니다
speaker_grid.py대사표에 따라 문장별로 밀집된 프레임 그리드를 생성하여 화자 확인을 수행합니다
upscale_video.pyRealESRGAN으로 비디오를 프레임별로 업스케일합니다
post_subtitle_loud.py자막을 입히고 -14 LUFS에 맞춰 loudnorm을 두 번 적용합니다
make_cover.py3:4와 9:16 두 가지 버전의 썸네일을 생성합니다

관련 스킬