AnyToManim — 내레이션 포함 3B1B 스타일 동영상 CLI 툴체인은(는) 무엇을 하나요?
이 제품은 CLI이며, API 래퍼가 아닙니다. 호스트 에이전트인 당신이 창의적 단계(개요, 비트 시트, 스토리보드, 장면 코드 작성)를 수행하며, 패키지에 포함된 스펙 파일의 안내를 받습니다. CLI는 TTS(음성 합성), 지속 시간 측정, 렌더링, 연결 등 결정적인 작업을 모두 처리합니다.
설치 및 점검
pipx install anytomanim # 또는: venv에서 pip install -e .
anytomanim doctor # 누락된 의존성과 수정 힌트 보고
워크플로우 — 스펙 내보내기 및 따르기
anytomanim export-guides ./guides # WORKFLOW/DIGEST/SCRIPT/SCENE_GUIDE + 스키마
이어서 guides/WORKFLOW.md를 따르세요:
DIGEST.md에 따라brief.md작성SCRIPT.md(+beats-schema.json)에 따라beats.json작성. 먼저SCRIPT.md를 읽으세요: 내레이션은 나열이 아니라 연결되어야 합니다.ORCHESTRATION.md를 읽은 후STORYBOARD.md에 따라storyboard.json을 작성하세요. 선택한 카드에 대한 실행 가능한 레시피를 열어보세요.anytomanim storyboard storyboard.json --beats beats.json을 실행하고 수정하세요.anytomanim tts --beats beats.json— 각 비트의 음성을 합성하고audio_file+ 실제audio_seconds를 다시 기록합니다 (편집 후 재실행: 변경된 비트만 처리).SCENE_GUIDE.md에 따라scenes/*.py작성 (NarratedScene+MiMoService(beats_file=...),with self.voiceover(beat="b01") as tr). 스토리보드를 따르고, 일치하는recipes/에서 시작하세요.anytomanim render scenes/X.py --quality ql— 오류 발생 시 수정 및 재시도anytomanim preview <mp4>—sheet.png와 비트별 보고서(겹침, 초과, 정지 비트, 작은 콘텐츠, 빈 대역, 고정 헤더, 스토리보드에 언급되지 않은 무대 변경)를 읽고; 깨끗해질 때까지 수정 및 재렌더링--quality qh로 렌더링,anytomanim assemble a.mp4 b.mp4 -o final.mp4,anytomanim subtitles beats.json --mux final.mp4
키 없이/비용 없이 반복: ANYTOMANIM_TTS=draft (로컬 음성).
anytomanim run "<topic>"도 존재합니다 — 자동 배치 평가를 위한 임베디드 LLM 참조 드라이버입니다 (LLM API 키 필요; 대화형 에이전트는 가이드 기반 흐름을 대신 사용해야 합니다).
계약
beats.json은 인터페이스입니다 — 공개 IR(내레이션 + 시각 + audio_seconds).- 오디오-퍼스트 동기화: 합성 → 측정 → 모든
run_time은tr.duration에서 파생되며, 렌더링은 정확히 그 wav 파일을 재생합니다. 절대 지속 시간을 임의로 만들지 마세요. - 깨끗한 렌더링이 끝이 아닙니다 — 매번 프리뷰 시트를 확인하세요.
- 연속성이 최우선입니다. 객체가 사라지기 전에, 그것이 다음 것이 될 수 있는지 물어보세요. 페이드 아웃 후 다시 그리는 것은 최후의 수단입니다.
- 가능하면 레이블로 쓰는 대신 관계를 그리세요.
- 음성:
--voice baihua|moli|milo;assets/voice/<name>.mp3+voices.json항목을 통해 자신의 목소리를 복제할 수 있습니다. zh(중국어) 및 en(영어) 지원. - 리포지토리의
examples/에서 엔드-투-엔드 골든 실행 예제를 확인하세요.