디지털 휴먼 영상 · 에이전트 스킬
목표
주제 또는 준비된 카피를 받아 세로형 AI 디지털 휴먼 입담 영상을 제작합니다: 스크립트 -> MiniMax TTS -> HeyGen 디지털 휴먼 립싱크 -> FFmpeg 자막/타이틀/AI 식별 표시/선택적 PIP/BGM 추가 -> MP4 + 게시용 카피. 첫 번째 실행에서는 개인 디지털 휴먼 Look ID와 음성 복제 Voice ID만 생성하며, 이후 호출 시 재사용하고 중복 생성하지 않습니다. 15초 유료 HeyGen 미리보기를 제공하며, 기본적으로 사용자가 미리보기를 확인한 후에만 전체 버전을 제작합니다. 사용자가 명시적으로 자동 승인을 선택한 경우에만 연속으로 두 단계를 실행합니다.
설치 및 확인
- 스킬을
~/.codex/skills/digital-human-video또는~/.claude/skills/digital-human-video에 배치하고,SKILL.md가 폴더 루트에 있는지 확인합니다. - Python 3.10+,
pip install -r requirements.txt, 시스템에ffmpeg/ffprobe설치(libass및 H.264 인코더 포함), 중문 폰트 사용 시 최상의 결과를 얻습니다. .env.example을.env로 복사하고, 로컬에서 안전하게 키를 설정합니다. 사용자에게 키나 본인 사진/음성을 채팅에 붙여넣도록 요구하지 않습니다. 절대.env를 Git에 포함하지 마십시오.- 먼저
python scripts/dhv.py doctor를 실행한 후,python scripts/dhv.py run --topic '...' --out ./outputs/example --dry-run을 실행합니다.
작업流程 (순서대로)
- 허가 및 자료 확인. 본인 또는 충분한 권한을 가진 실제 인물의 초상/음성만 허용하며, 동의 없이 복제, 사칭 또는 오해를 유발하는 행위를 금지합니다. 실제 인물 사진/영상 및 오디오에 대해 각각 권한을 확인합니다. AI 합성 영상에는 명확한 식별 표시를 유지합니다. 음악, PIP 자료는 반드시 라이선스가 있어야 합니다.
- 일회성 프로필 생성. 음성 샘플은 30-60초의 깨끗한 녹음이 가장 좋습니다(MiniMax 공식 허용 범위: 10초~5분, ≤20MB, mp3/m4a/wav). 영상/사진을 HeyGen v3에 업로드하여 Avatar를 생성합니다. 사진은 정면 고해상도가 좋으며, 영상 학습은 별도의 실제 인물 동의/인증이 필요할 수 있으므로 반드시 완료해야 하며 학습은 비동기로 진행됩니다.
avatars로 학습 완료된 Look ID를 조회합니다.MINIMAX_VOICE_ID,HEYGEN_AVATAR_ID를 후속 파이프라인에 제공합니다. - 먼저 입담 스크립트 작성. 사용자가 본문을 제공하지 않은 경우 LLM이 자동으로 3초 훅 → 2~3개 논점 → 요약 순으로 작성하며, 대상 청중, 플랫폼 및 예상 시간을 명확히 합니다. 검증 불가능한 데이터를 허위로 생성하지 않습니다. 편집/연출 아이디어는 Claude Opus 5.5 또는 Codex에서 처리할 수 있습니다. 모델은 스크립트와 스케줄링을 담당하고, 실제 미디어 처리는 FFmpeg가 실행합니다.
- 미리보기.
run --mode preview:state.json과script.txt를 우선 재사용합니다. 처음 약 55자(약 15초) 분량의 오디오를 합성하고 디지털 휴먼을 구동하여preview_final.mp4를 생성합니다. 말하기 속도에 따라 미리보기 시간이 정확히 15초가 아닐 수 있습니다. - 감독/편집 계획. 현재 에이전트가 Claude Opus 5.5이거나 Opus에 위임할 수 있는 경우,
script.txt, 주제, 브랜드 및 자료 목록을 전달하여edit-plan.json을 출력하게 합니다. 이 JSON은examples/edit-plan.json의 JSON 키를 엄격히 따라야 합니다:headline,brand,key_points[{text,start,end}],pip_start/end,subtitle_font_size,music_volume(0~0.3). 시작/종료 시간은 최종 영상 길이 범위 내에 있어야 합니다.--edit-plan을 사용하여 FFmpeg가 주요 텍스트 카드 애니메이션/PIP 타임라인, 자막 스타일 및 BGM 볼륨을 실행합니다. Opus가 없는 경우 Codex/현재 에이전트가 동일한 JSON을 생성합니다. 모델은 결정만 내리고, 스스로 영상을 렌더링하는 척하지 않습니다. - 검토 및 실행. 사용자가 립싱크, 선명도, 저작권, 자막, 사실감을 확인합니다. 승인 후
run --mode full --approve를 실행합니다. 이미 권한을 획득하고 수동 검토를 생략하기로 명시적으로 선택한 경우run --mode full --auto-approve로 자동으로 두 단계를 제작합니다. 승인 없이 직접 소셜 플랫폼에 게시하지 않습니다. - 검증 및 전달.
full_final.mp4의 길이, 오디오/비디오 동기화, 자막, 타이틀 오버레이, 음악 볼륨, AI 합성 식별 표시를 확인하고publish.md를 전달합니다. 외부 게시 전 사실 확인 및 플랫폼 AIGC 규칙을 확인하도록 요청합니다.
CLI 사용 (스킬 루트 디렉토리에서)
# 초기화: 자신의 초상 및 오디오, 합법적 권한이 확인된 경우에만 consent 플래그 사용 허용
python scripts/dhv.py avatar --file ./myself.mp4 --kind digital_twin --name 'My Presenter' --i-own-the-likeness
python scripts/dhv.py avatars # 학습은 대기 및 공식 인증이 필요할 수 있음
python scripts/dhv.py clone --file ./myvoice.wav --voice-id MyBrandVoice2026 --i-own-the-voice
# 미리보기: 기본적으로 MiniMax 텍스트 모델이 스크립트 작성; --script-file로 LLM 우회 가능
python scripts/dhv.py run --topic 'AI가 기업의 반복 업무를 줄이는 방법' --out ./outputs/ai-workflow --mode preview --edit-plan ./examples/edit-plan.json
# 사용자 검토 후 전체 영상 실행
python scripts/dhv.py run --topic 'AI가 기업의 반복 업무를 줄이는 방법' --out ./outputs/ai-workflow --mode full --approve
# 무인 실행에 명시적 동의 시, 한 줄 명령으로 미리보기 + 최종 영상 (API 영상 호출은 각각 별도 과금)
python scripts/dhv.py run --topic '1분만에 이해하는 디지털 휴먼' --out ./outputs/demo --mode full --auto-approve
# 선택적 자료
python scripts/dhv.py run --script-file ./script.txt --out ./outputs/manual --mode preview --music ./licensed-bgm.mp3 --broll ./owned-broll.mp4
에이전트 실행 규칙
--dry-run또는 단위 테스트 통과를