원제: Viggle/Viggle-Remake
Viggle이 MiniMax-H3에서 학습한 두 개의 rank 256 LoRA: swap은 인물/캐릭터 교체(한 번에 여러 개 교체 가능)를 담당하고, edit은 나머지 변경 사항—물체 추가/삭제 또는 교체, 배경, 날씨, 조명 및 스타일 변경—을 담당합니다. 입력은 원본 영상, 미리 그려진 1–4장의 키프레임(프롬프트에서는 Picture N으로 지칭하며, --pin을 사용해 원본 영상의 특정 프레임에 고정할 수 있음)과 MiniMax-H3의 6단계 프롬프트이며, 출력은 원본 영상의 동작, 카메라 워크, 리듬 및 원본 사운드를 유지합니다. 이 저장소에는 MCP 서비스도 포함되어 있습니다: 영상과 한 줄의 요구 사항을 Claude Code, codex와 같은 코딩 에이전트에 전달하면, 에이전트가 스스로 컷을 나누고, 키프레임을 그리며, 프롬프트를 작성하고, 사용자의 GPU에서 윈도우별로 렌더링하고, 결과를 확인한 후, 원본 사운드와 결합하여 전체 영상을 완성합니다. 이는 Viggle-Animate 카드에서 예고된 Viggle-Animate v2입니다. 10월 22일에 저장소가 생성되었으며, 이전 호에서는 다루지 않았습니다.
왜 중요한가 컷별 수동 편집을 에이전트에 위임: 컷 나누기, 키프레임 그리기, 렌더링, 자체 검증, 원본 사운드 재결합이 모두 자동으로 수행됩니다
상승 점수 95 · 좋아요 97 · 다운로드 수 5215
이유
- '기존 소스에서 배우나 장면을 바꾸고 싶지만 다시 촬영하기는 싫은' 요구를 해결합니다: 저자의 예시에서는 영화 《라라랜드》의 한 컷을 22가지 버전으로 변형(인물 교체, 의상 변경, 날씨 변경, 물체 추가/삭제, 스타일 변경)했으며, 또한 116초, 69개의 편집 지점을 가진 MV와 101초 분량의 《매트릭스 2》 클립 전체를 원본 사운드를 유지한 채로 리메이크했습니다.
- 에이전트를 통한 전체 영상 처리 프로세스가 이 저장소의 가장 독특한 점입니다: 단일 렌더링은 90–345프레임의 윈도우(24 fps, 약 12초)를 처리하며, 더 긴 영상은 MCP가 편집 지점에서 윈도우를 나누도록 최대한 시도합니다. 저자는 codex로 White House Funk 예제를 두 장의 GPU에서 실행하는 데 약 1.5시간이 걸렸다고 언급했으며, 각 실행 시 키프레임은 에이전트가 직접 그리므로 세부 사항이 달라질 수 있습니다.
- 더 작은 GPU를 위한 경로도 있습니다: ComfyUI 노드 패키지는 기본 노드만으로 불가능한 네 가지 기능(참조 이미지 표시 방식, 실제 프레임 번호에 따른 키프레임 고정, 원본 사운드의 깨끗한 유지, 시드에 따른 시작 노이즈 생성)만 추가하며, 나머지는 모두 기본 노드입니다. 저자는 또한 LoRA를 fp32에서 기본 모델에 병합한 후 양자화한 int8(21.0 GB) 및 GGUF(Q8_0 22.3 GB, Q6_K 17.6 GB, Q4_K_M 14.3 GB) 단일 파일을 제공했습니다. 저차 LoRA rank 128 / 64은 1.34 / 0.67 GB에 불과하며, 저자는 출력 결과가 거의 동일하다고 주장합니다.
사용법
- 자체 GPU: MiniMaxAI/MiniMax-H3 기본 모델(약 144 GB 파일)과 이 저장소의 lora/, inference/, examples/, requirements.txt(5.5 GB)를 다운로드하고, pip install -r requirements.txt를 실행하여 ffmpeg를 설치한 후, python Viggle-Remake/inference/sample.py --mode swap(또는 edit) --video source.mp4 --prompt prompt.txt --ref ref1.png --pin 12 --frames 124 --short-edge 480 --seed 0 --base ./MiniMax-H3 --lora-repo ./Viggle-Remake --out out.mp4을 실행합니다. --frames는 17n+5를 취하며, --short-edge 736은 1280×736을 생성합니다. 전체 저장소를 git clone하지 마세요(git-lfs 포함 시 약 210 GB가 다운로드됩니다). examples/demo.sh를 먼저 실행하여 기본 예제로 LoRA가 로드되었는지 확인할 수 있습니다.
- ComfyUI(저자가 0.42.0에서 테스트함): 기본 모델은 Comfy-Org/MiniMax-H3의 fl2va 단일 파일(ref2va가 아님)을 사용하며, comfyui/ComfyUI-Viggle-Remake를 custom_nodes에 복사하고, LoRA를 models/loras에 넣은 후 LoraLoaderBypassModelOnly로 로드합니다. 저자는 일반적인 LoraLoaderModelOnly가 bf16에서 상당 부분의 LoRA 업데이트를 손실하여 화면이 더 흐려진다고 주장합니다. comfyui/workflows/remake_swap_ui.json 또는 remake_edit_ui.json을 드래그하여 예제를 실행할 수 있으며, 자체 소스는 먼저 24 fps로 변환해야 합니다. int8 / GGUF 병합 파일을 사용할 경우 이는 기본 모델과 LoRA를 모두 대체하므로 LoRA를 추가로 겹치지 마세요.
- 에이전트: hf download Viggle/Viggle-Remake --include "mcp/*"로 MCP만 가져오세요(가중치 제외). mcp 디렉토리에서 pip install -e .를 실행하고(GPU 머신에서는 '.[worker]'도 설치), 각 GPU 카드마다 viggle-remake-worker를 하나씩 실행한 후, 서비스를 Claude Code 또는 codex에 연결하고 영상과 한 줄의 요구 사항을 전달하세요. 키프레임 그리는 방법, 프레임 고정 시기, 6단계 프롬프트 작성 방법은 저자가 저장소의 PROMPTING.md에 작성해 두었습니다. 직접 배포하기 싫다면 Viggle 애플리케이션을 사용할 수 있습니다.
리스크
- 높은 진입 장벽: sample.py는 단일 80 GB 이상의 GPU(bf16)가 필요합니다. 저자는 B200에서 ComfyUI의 한 번 렌더링에 약 95초, 시스템 메모리 약 130 GB가 소요됨을 측정했으며, 기본 모델과 그 텍스트 인코더는 필수입니다.
- 저자가 나열한 알려진 문제: 긴 컷 내의 비인간형 캐릭터는 실패할 수 있으며, 세부 사항에 작은 결함이 있고, 다중 컷 클립에서 키프레임을 고정하지 않으면 시간적으로 드리프트가 발생합니다. 사운드는 원본을 그대로 사용하므로, 원본이 무성일 경우 출력도 무성입니다.
- 인물 교체 기능에는 신원 또는 동의 검증이 내장되어 있지 않으며, 신원은 사용자가 그린 키프레임에 전적으로 의존합니다. 저자는 수정 권한이 있는 소스에만 사용하고, 동의하지 않은 사람에게 사용하지 않으며, 생성된 콘텐츠에 AI 생성임을 명시할 것을 요구합니다. 예제의 영화 및 MV 클립 저작권은 원본 소유자에게 있으며, 두 라이선스 모두 이러한 소스 및 초상권에 대한 어떠한 권리도 부여하지 않습니다.
- 가중치는 MiniMax H3 커뮤니티 라이선스를 따릅니다(상용 제품 인터페이스에는 MiniMax H3을 눈에 띄게 표기해야 하며, 연 매출이 2000만 달러를 초과할 경우 MiniMax의 서면 허가를 먼저 받아야 함). 코드는 Apache-2.0입니다. 이를 기반으로 제품을 개발할 때 저자는 Powered by Viggle Remake 표기를 희망합니다.