요약: 저는 가사를 작성하고 Suno를 이용해 노래를 만들었습니다. 이후 Hermes Agent가 스토리보드를 구성하고, 스틸 이미지를 렌더링했으며, ComfyUI에서 애니메이션을 입히고 가사 제목들을 추가했습니다. 모든 단계는 제가 직접 지휘하고 승인했습니다.
설정: Hermes Agent는 저의 일상적인 도구이며, 가장 작은 Claude Pro 구독을 통해 Claude Sonnet 5.5로 구동됩니다. 이미지 및 비디오 생성은 RTX 3090 (24 GB VRAM)과 64 GB 시스템 RAM이 장착된 로컬 ComfyUI에서 실행됩니다.
Hermes가 ComfyUI와 통신하는 방법: comfy-mcp 서버는 ComfyUI를 도구로 노출합니다. 즉, 워크플로우 실행, 유효성 검사, 모델 및 노드 검색, 출력 가져오기, VRAM 확인 등이 가능합니다. 이것이 REST API입니다.
뮤직 비디오의 경우 저는 주로 이 경로를 사용했습니다. Hermes는 작은 Python 스크립트를 작성하여 API 형식의 워크플로우 JSON을 받아, 노드 구조(프롬프트, 시드, 저장 접두사, 오디오, 프레임 수)로 입력을 패치하고 /prompt로 POST합니다. 그런 다음 /queue와 /history를 폴링하고, /view에서 파일을 가져와 검증합니다.
시작 계기: 할로윈 시즌이라 MOSS Image의 기능에 영감을 받아 뱀파이어 노래를 만들고 싶었습니다. 저는 "I Don't Bite"의 가사를 작성했고, Suno에서 트랙을 만든 후 다운로드했습니다. 그 이후부터 Hermes와 저는 뮤직 비디오 전체를 제작했습니다.
파이프라인:
- 시간 동기화된 가사(Timed lyrics): faster-whisper가 단어들을 제 가사 시트에 맞춰 정렬하여, 모든 라인에 실제 시작 및 종료 시간을 부여합니다.
- 일관된 캐릭터 (Consistent character), 캐릭터 LoRA 없음: 주연 캐릭터는 프롬프팅만으로도 인식 가능하게 유지됩니다. Hermes는 하나의 고정된 아이덴티티와 의상 블록을 유지하고, 이를 모든 이미지 프롬프트에 단어 그대로 붙여넣고, 포즈, 카메라, 배경만 변경합니다.
- 스토리보드 (Storyboard): 전체 노래를 다루는 샷 목록이 로컬 HTML 보드(아래 상세 내용)에 표시됩니다.
- 스틸 이미지 (Stills): MOSS Image가 이를 렌더링하며, 에이전트는 각 PNG의 내장 프롬프트가 제가 승인한 것과 일치하는지 확인합니다. 스틸 이미지에 사용된 Style LoRA: feverdream-epoch-07을 0.8 강도로 사용했습니다. 샘플러는 er_sde, 단순 스케줄러(simple scheduler), 25단계, CFG 3입니다.
- 비디오 (Video): MiniMax H3가 약 15초 분량의 부분을 1초 간격으로 오버랩하며 애니메이션화합니다.
각 부분은 먼저 초안 패스를 거치고, 이후 약 2MP로 잠재 공간 업스케일링(latent upscale)이 적용된 최종본을 만듭니다. 비디오에 사용된 Speed LoRA는 Kijai의 MiniMax-H3 실험용 저장소(repo)에서 가져온 minimax_h3_DMAD_4step입니다. 스티치(Stitch). 각 오버랩 중앙에 하드 컷을 넣고, 그 아래에는 원본 Suno 트랙이 흐릅니다. 가사 제목. 선택적으로 상단에 애니메이션화된 가사를 추가할 수 있습니다(자세한 내용은 아래 참조).
스토리보드 보드는 Hermes가 노래에 맞춰 간단한 로컬 HTML 페이지를 만들어줍니다. 타임라인은 섹션, 썸네일, 가사 표시(lyric ticks)를 보여주며, 노래가 재생되는 동안 일치하는 스틸 이미지와 가사 줄이 나타납니다. 각 샷은 시간 범위(time window), 가사, 프롬프트, 그리고 렌더링 결과가 담긴 자체 카드를 가지고 있습니다. 저는 모든 스틸 이미지를 해당 가사에 맞춰 판단하고, 승인(Approve) 또는 거부(Reject)를 누른 후 그 이유에 대한 코멘트를 남깁니다. 그러면 Hermes는 거부된 샷들만 새로운 버전으로 재작성하고 다시 렌더링합니다. 승인된 샷은 그대로 유지됩니다.
가사 제목: 가사는 장면 안에, 그녀의 뒤쪽에 위치하며, 모든 단어는 해당 음절에 맞춰 나타납니다. ComfyUI가 마스크를 만듭니다. SAM3와 BiRefNet-HR은 API를 통해 샷별로 여성과 주요 소품들을 잘라냅니다(cut out). 코드가 애니메이션을 처리합니다. Whisper는 단어 타이밍을 제공합니다. Python(numpy, OpenCV, Pillow)은 프레임별로 움직임을 렌더링합니다: 스프링 효과의 등장, 불씨 스타일 점화(ember-style ignition), 노래의 저음역대에서 반응하는 크로마 분할(bass-reactive chroma split), 그리고 절차적 거미와 박쥐입니다. ffmpeg은 완성된 컷 아래에 원본 오디오를 다시 배치합니다.
워크플로우(Workflows) - 스틸 이미지: Moody Moss 미니멀 워크플로우. Hermes는 API 형식의 변형 버전으로 작동하므로, 프롬프트, 시드(seed), 저장 접두사(save prefix)를 프로그래밍 방식으로 제어할 수 있습니다.
비디오: MiniMax H3 SEED HUNTER v2.5.1. 원본 편집기 워크플로우는 그대로 API를 통해 실행되지 않으므로, Hermes가 이를 일반적인 API 그래프로 평탄화(flattened)했습니다. 이 과정에서 4단계 DMAD LoRA, 저해상도 첫 번째 패스(low-res first pass), 그리고 잠재 공간 3D 업스케일링(latent 3D upscale)이 유지되었습니다. Hermes는 하나의 트릭을 추가했습니다: Suno 트랙을 잠재 공간에 강제로 삽입(forced)합니다. 모델은 이미지와 립싱크만 생성하고, 보컬은 정확히 제 노래로 유지됩니다. 3090 GPU에서, 0.4MP의 13.7초 분량 초안은 약 4.5분이 걸리고 최종본은 약 23~25분이 걸립니다.
작성자: /u/Ok-Wolverine-5020 [링크] [댓글]