Communitygithub.com

Comfy Director

내러티브 비디오(광고, 브랜드 필름, 단편, 예고편, 뮤직비디오 등) 제작을 위한 AI 감독 스킬. 스토리텔링, 연속성, 오디오 동기화 및 제작 운영에 중점을 둡니다.

Comfy Director란 무엇인가요?

Comfy Director는 단순한 이미지 생성 이상의 복잡한 다중 샷 내러티브 비디오를 제작하기 위한 전문 AI 에이전트 스킬입니다. 이 스킬은 'comfy' CLI 스킬을 기반으로 하여, 컨셉 기획부터 시나리오 작성, 샷 리스트, 오디오 디자인, 프로덕션 및 QC에 이르기까지 완전한 영화 제작 워크플로우를 안내합니다. 주요 특징으로는 인과 관계가 명확한 시나리오 작성 규칙, 캐릭터/장소 참조 이미지를 활용한 연속성 보장 전략, 그리고 리ップ싱크가 필요한 대화를 위해 정확한 오디오 파일로 아바타를 구동하는 방법을 제시합니다. 또한, 실패한 작업 복구를 위한 상세한 로깅(LOG.md, job_ids.txt)과 같은 운영 모범 사례를 포함하여, 세션이 종료되어도 후속 에이전트가 중단 없이 작업을 재개할 수 있도록 지원합니다. 주로 Cursor, Claude Code, Codex와 같은 플랫폼에서 사용되며, '스토리가 먼저'라는 철학 아래 기술적 구현보다 서사 구조를 최우선시합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/quantiqueue/comic-skills/tree/HEAD/vendor/comfy-cli-skills/comfy-director

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

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

문서

Comfy Director은(는) 무엇을 하나요?

스토리가 먼저, 영상은 그 다음입니다. 다중 샷 AI 영화는 렌더링이 아니라 편집에서 실패합니다. 아무리 각 클립이 훌륭하더라도, 서로 인과 관계를 형성하지 않는 비트는 스토리라는 옷을 입은 몽타주로밖에 읽히지 않습니다.

필수 배경 지식: comfy 스킬 (CLI 조작법 및 재사용 가능한 다단계 그래프를 위한 레시피 경로 — apply/capture/foreach)에 대한 이해. 작업 실패 시 comfy-debug를 사용하세요.

작업 순서

  1. 컨셉 — 낯선 사람이 다시 말할 수 있는 하나의 아이디어.
  2. 시나리오 — 파이프라인을 만지기 전에 작성합니다. 먼저 사용자에게 전달하세요.
  3. 샷 리스트 — 각 장면을 연속성 전략에 매핑합니다.
  4. 오디오 디자인 — 영상이 아닌 시나리오의 감정적 비트에 맞춰 설계합니다.
  5. 프로덕션 → 컨폼 → QC.

2단계를 건너뛰고 바로 렌더링으로 넘어가는 것이 컷이 망가지는 가장 큰 원인입니다.

시나리오 규칙

  • 카메라가 따라갈 수 있는 한 명의 주인공. 모든 샷에서 알아볼 수 있어야 합니다.
  • 인과 관계 테스트: 모든 컷은 "그리고 그 때문에..."라는 질문에 답해야 합니다 — 절대 "그리고 다른 곳에서는..."이 아니어야 합니다. 비트의 순서를 바꿔도 아무 문제가 없다면, 그것은 아직 스토리가 아닙니다.
  • 낯선 사람 테스트: 아무 맥락도 모르는 사람이 줄거리를 두 문장으로 다시 말할 수 있어야 합니다 ("X는 A를 원했고, B가 그것을 막았으며, 그래서 C를 하고, 결국 D가 되었다").
  • 비트에는 목표 런타임에 맞춰 합산되는 타이밍이 포함됩니다.

컨셉 규칙

  • 브랜드/제품은 언급되지 않고 느껴져야 합니다: 그 철학을 논증하세요; 화면에 인용된 내부 농담이나 커뮤니티 전설은 팬 서비스로 읽힙니다.
  • 클라이언트가 언급한 기술 ("스타일 전환", 모델 이름)은 의무가 아닌 영감입니다 — 아이디어가 필요로 할 때만 사용하세요. 기술을 중심으로 영화를 만드는 것은 감독이 아니라 벤더의 특징입니다.
  • 이상함은 축적되어야 합니다: 주제 AND 대상 AND 배경이 모두 놀라워야 합니다. 평범한 프레임에 하나의 이상한 요소는 장식에 불과합니다.

샷 프롬프팅

  • 포토리얼 샷: 실사 촬영 감독 / 필름 스톡 언어만 사용하세요. 포토리얼 프롬프트에 일러스트레이터/애니메이션/만화 관련 이름 하나만 들어가도 결과물이 망가집니다. 일러스트 참조는 의도적으로 스타일화된 샷에만 속합니다.
  • 모션 프롬프트는 장면 안에 있는 것이 아니라 장면이 어떻게 움직이는지 설명합니다 (comfy 스킬 비디오 주의사항 — t2v/i2v 모델 함정, SaveVideo, fps 연결 참조).

연속성 도구 상자

샷별로, 대략적인 강도 순서로 선택합니다:

전략사용처
각 샷의 i2v 그래프에 캐릭터/장소 참조 이미지 전달주인공 정체성
참조 이미지 편집을 통한 동일 정체성, 새로운 프레이밍 (하나의 히어로 → N 앵글)컷 전체에서 알아볼 수 있는 얼굴
샷 N의 키프레임이 샷 N+1을 시드 (이미지 참조 리스타일 또는 엔드 프레임)연속적인 액션
재생되는 정확한 오디오를 입력으로 받는 토킹 헤드(KlingAvatar), 동일한 립싱크 헤드의 다른 앵글 간 컷 — VO 위에 B-roll 절대 금지실제처럼 느껴져야 하는 대화
모든 프롬프트에서 동일한 의상/조명/렌즈 라인을 그대로 반복저렴한 기본 접착제

샷이 연속성을 유지할 수 없다면, 그 샷이 필요하지 않도록 시나리오를 다시 작성하세요 — 끊어진 부분을 그냥 넘기지 마세요.

오디오

  • 스코어 = 스토리 전환점에서 결합된 짧은 디자인 큐; 하나의 긴 생성물은 다이내믹 아크를 따르지 않습니다 (정점이 필요한 정확한 지점에서 역전됩니다).
  • 믹싱 전에 계산을 통해 VO 배치: 스템 지속 시간 대 비트 윈도우.
  • VO 아래에서 스코어를 덕킹; 최종 믹스를 라우드니스 정규화 (~-14 LUFS).
  • 대화는 설계상 립싱크되어야 합니다. 재생되는 정확한 오디오로 입을 구동하고(KlingAvatar sound_file), 동일한 립싱크 헤드의 다른 앵글 간 컷 — 연속적인 VO 위의 B-roll은 몽타주로 읽히며, i2v가 만들어낸 입은 움직입니다. "립싱크 안 됨 / 실제 같지 않음"은 전형적인 거절 사유입니다. (그래프 내에서 오디오 생성 — 클라우드 LoadAudio는 업로드를 볼 수 없음; comfy 오디오 주의사항 참조.)
  • 비싼 렌더 전에 귀로 목소리와 캐스팅을 확정하세요. 목소리/억양은 주관적이며 파형으로 읽을 수 없습니다 — 한 줄의 저렴한 후보 TTS 테이크 몇 개를 렌더링하고, 사용자가 선택한 후, 그 승리자를 비용이 많이 들고 transient_auth에 취약한 아바타/립싱크 샷에 적용하세요. 거절된 목소리로 모든 샷을 다시 렌더링하는 것은 피할 수 있는 낭비입니다. 주인공의 외모도 마찬가지입니다: 모든 샷을 생성하기 전에 히어로 스틸을 승인받으세요.
  • 믹스를 믿음이 아닌 측정으로 검증하세요. 렌더를 들을 수 없습니다 — 각 섹션에 ffmpeg volumedetect를 실행하세요: "데드 에어" 엔딩이나 묻힌 라인은 -91dB 근처의 윈도우로 나타납니다. 완료를 선언하기 전에 모든 비트가 레벨에 존재하는지 확인하세요.

프로덕션 운영

  • 모든 제출물(샷, 키프레임, 오디오 스템, 재제출)을 제출 시점에 job_ids.txt에 추가하세요 (<job_name> <prompt_id>). 추가 전용: 재제출은 새 줄을 얻습니다(shot_s3_resubmit <id>), 덮어쓰지 않으므로 죽은 prompt_id는 샷 정체성을 유지합니다.

  • 프로젝트 루트에 LOG.md를 유지하세요: 세션 종료가 아닌 이벤트 발생 시점에 작성되는 추가 전용 이벤트 로그 — 제출/재제출당 한 줄(+실패 코드), QC 판정당 한 줄(+재시도 사유), 그리고 이전 작업을 무효화하는 결정(리캐스트, 프롬프트 변경, 어떤 참조 이미지나 스템이 이제 표준인지)당 한 줄. 프레임별 발견 사항은 qc/QC_LOG.md에 저장; LOG.md는 이를 인덱싱합니다.

    17:36 ERROR shot_s3 transient_auth -> RESUBMIT 27dd45b4 (동일 워크플로우, 재로그인 없음)
    17:44 QC shot_s2 FAIL background-crawl -> 재시도 (동일 키프레임, 새 시드); 2차 실패 시 비트 재편집
    17:50 DECISION 주인공 리캐스트 -> ref_ray.png가 표준; vo2, vo6은 오래됨, 재생성
    
  • 복구 계약: 기억이 전혀 없는 후속 에이전트가 디스크만으로 작업을 재개할 수 있어야 합니다: LOG.md (무슨 일이 있었고 왜) → job_ids.txt (어떤 작업) → comfy jobs status (작업 상태). LOG.md에 없는 결정은 세션과 함께 사라집니다 — 완료되었지만 오래된 작업(예: 이전 캐스팅의 VO 스템)은 그렇지 않으면 양호한 작업과 동일하게 보입니다.

  • 다운로드한 모든 클립을 ffprobe로 검사합니다; 사양에 맞지 않는 지속 시간/치수는 컨폼 전에 정규화합니다.

  • 컷팅 전에 모든 클립의 한 프레임을 시나리오와 대조하여 QC합니다.

  • 정확한 런타임: ffmpeg로 비트별로 트림/리타임, 희망에 맡기지 마세요.

일반적인 실수 (각각 실제 컷을 망가뜨렸습니다)

실수결과
시나리오 전에 렌더링"서로 인과 관계가 없는 여덟 개의 멋진 비트"
화면에 커뮤니티 전설 표시"너무 직접적, 팬 서비스"
클라이언트가 언급한 기술을 컨셉으로 사용"아이디어를 얻으라고 말한 것뿐인데"
연속성 계획 없음컷마다 주인공 얼굴이 바뀜
하나의 40초 음악 생성클라이맥스에서 아크가 역전됨
연속적인 VO 위에 B-roll"몽타주 같음 / 오디오가 일치하지 않음"
사용자가 듣기 전에 목소리를 N개 샷에 적용거절 시 모든 것을 다시 렌더링
토킹 헤드 클립을 단순 이어붙이기목소리 동기화가 어긋남 (아바타가 비디오를 오디오보다 길게 패딩)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬