Communitygithub.com

stedra-animatic

사용자가 내레이션과 음악이 포함된 애니메이션 설명, 데모 비디오 또는 단편 영화(토크 오프너, 제품 데모, 온보딩 비디오, 교육 영화) 또는 프레젠테이션용 단일 애니메이션 장면이나 차트를 원할 때 사용합니다. 첫 번째 프롬프트로 완전한 애니메이션틱(그림, 자막, 임시 목소리, 임시 악보, SFX)을 구축하고, Motion Canvas를 사용해 Chrome에서 실시간으로 확인한 후, 사용자와 함께 레이어별로 업그레이드합니다(스크립트, 실제 목소리, 실제 악보, 폴리싱). 강제 정렬에서 생성된 events.json 큐 시트로 구동됩니다. 사용자가 감독하고 Claude가 구축합니다.

stedra-animatic란 무엇인가요?

stedra-animatic은 사용자와 함께 내레이션, 음악 및 애니메이션이 포함된 단편 영화를 제작하기 위한 AI 에이전트 기술입니다. 사용자가 감독 역할을 하고 AI가 구축 역할을 합니다. 첫 번째 프롬프트로부터 약 15분 만에 모든 레이어(그림, 자막, 임시 음성, 임시 악보, 음향 효과)가 포함된 완전한 애니메이션틱(애니메이션 스토리보드)을 생성하여 Chrome에서 실시간으로 재생합니다. 완성까지는 며칠 간의 반복적인 지시가 필요하며, 사용자는 스토리 결정, 자신의 목소리 녹음, 시청 및 피드백 제공과 같은 사람만이 할 수 있는 작업을 수행합니다. 이 기술은 script.md → 음성(임시, 실제) → 강제 정렬 → events.json → Motion Canvas 장면(그림, 음악, SFX) → mix.wav의 아키텍처를 따릅니다. events.json이 유일한 시간 정보 소스이며, 모든 요소가 이를 기반으로 동기화됩니다. Claude Code, Cursor, Codex 등과 같은 AI 에이전트 플랫폼에서 사용할 수 있으며, Node.js, Motion Canvas, ffmpeg, Python 및 Kokoro TTS와 같은 도구를 활용하여 오프라인에서 작동합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/stedra-demoscene/claude-animator/tree/HEAD/plugins/stedra-animatic/skills/stedra-animatic

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

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

문서

stedra-animatic은(는) 무엇을 하나요?

당신은 사용자와 함께 내레이션이 있고, 음악이 있으며, 애니메이션된 영화를 제작합니다. 사용자가 감독합니다. 당신이 구축합니다. 워크플로우는 실제 프로젝트에서 비롯되었습니다: 약 11분 분량의 영화, 3일 동안 약 109개의 커밋, 모든 비트가 사람에 의해 지시되었습니다. "한 번 프롬프트 입력하고 커피 마시기"가 아니었습니다. 이제 첫 번째 초안은 빠릅니다. 마무리는 그렇지 않습니다.

0단계: 기대치 설정 (항상, 첫 번째 답변)

10줄 미만으로 사용자에게 알립니다:

  • 첫 번째 프롬프트는 약 15분 안에 완전한 애니메이션틱을 제공합니다: 모든 레이어가 초안 품질로 제공됩니다(그림, 자막, 임시 목소리, 임시 악보, 음향 효과). Chrome에서 실시간 재생됩니다.
  • 완성에는 오후가 아닌 며칠 간의 지시된 반복이 필요합니다. 3-5분 분량의 영화는 스크립트, 음성 재녹음, 음악 노트 및 폴리싱에 대한 수십 번의 라운드를 의미합니다. 애니메이션틱은 출발선입니다.
  • 사용자는 사람만이 할 수 있는 일을 합니다: 결정(스토리, 취향, 진실), 자신의 목소리 녹음(가장 좋게 들리며, 임시 목소리는 대역입니다), 그리고 시청 및 청취 후 의견을 제시합니다. 당신은 실시간으로 듣거나 볼 수 없습니다. 당신은 레벨, 스펙트럼, 온셋 및 샘플링된 프레임을 기반으로 작업하며, 타이밍에는 좋지만 취향 판단에는 신뢰할 수 없습니다.
  • 빠른 성과 모드: 오디오가 없는 하나의 애니메이션 장면 또는 차트, 약 30분 소요. references/workflow.md를 참조하세요.

프롬프트에서 어느 모드라고 가정하는지 명시합니다(하나의 장면이나 차트는 빠른 성과, 내레이션 영화는 애니메이션틱). 진행합니다. 사용자가 틀리면 정정합니다.

미리보기 규칙 (엄격)

미리보기는 Chrome에서 실시간으로 보는 것을 의미합니다. 인코딩이 아닙니다. 미리보기를 하려면:

  1. Motion Canvas 편집기를 백그라운드에서 시작(film/에서 npm start)하거나 실행 상태를 유지합니다.
  2. 사용자에게 URL(보통 http://localhost:9000)을 제공하고 가능하면 Chrome에서 엽니다.
  3. 혼합된 오디오 트랙을 편집기에 로드하여 그림과 소리가 함께 재생되도록 합니다.
  4. 파일이 변경될 때 핫 리로드에 의존합니다. 편집을 위해 편집기를 다시 시작하지 마십시오.

인코딩은 오직 (a) 사용자가 요청한 검토 영상, 그리고 (b) 최종 결과물만 합니다. 무언가를 "확인"하기 위해 mp4를 렌더링하지 말고, 사용자에게 작업을 검토하기 위해 렌더링을 열라고 요청하지 마십시오. 편집기가 실행 중이 아니면 시작하십시오. 오디오를 변경한 경우 다시 로드하라고 알리십시오(오디오는 한 번 로드됨).

0b단계: 부트스트래핑 (도구 준비, 패스당 지연됨)

프로젝트 루트에서 animator.config.json을 찾습니다. 있으면 읽고, 확인을 다시 실행하고, 계속합니다. 그렇지 않으면:

  1. 환경 확인을 실행합니다: scripts/check_env.sh (macOS, Linux) 또는 scripts/check_env.ps1 (Windows, powershell -NoProfile -ExecutionPolicy Bypass -File <path>, Git Bash에서도 가능). 도구는 PATH에 있는지가 아니라 실행되는지로 계산합니다(Windows에서 python은 종종 Store 스텁입니다). 메모리, 코어 및 디스크는 보고서에서 가져옵니다. 사용자에게 묻지 마십시오.
  2. 크기가 포함된 한 화면 계획을 보여주고 승인을 기다립니다. 부트스트래핑은 도구 준비만 해당됩니다. 창의적인 질문은 없습니다.
  3. references/setup.md에 따라 설치합니다(brew / apt / winget, Python은 프로젝트 로컬 venv에서 uv 사용). 현재 URL과 라이선스를 그 시점에 조회합니다. 모델이나 샘플을 저장소에 벤더링하지 마십시오.
  4. 스모크 테스트를 수행하고, animator.config.json(도구 경로, 디렉토리)을 작성하고, 커밋합니다.

애니메이션틱에 필요한 것(먼저 설치): Node, Motion Canvas, ffmpeg, uv(Python, numpy, scipy, soundfile), Kokoro(임시 목소리), 강제 정렬기. 이후 패스로 연기됨: FluidSynth, 샘플 라이브러리, Chatterbox, 최종 악보 관련 모든 것. 작은 다운로드는 괜찮습니다. 큰 다운로드는 사용자가 필요한 패스에 도달할 때까지 기다립니다.

아키텍처 (이것에서 벗어나지 마십시오)

script.md -> voice (scratch, then real) -> forced alignment -> events.json -> Motion Canvas scenes (picture)
                                                    |
                                                    +--> temp score + SFX (synth), later MIDI + samples -> mix.wav
                                                                  mix.wav is loaded in the editor and in the final mux
  • events.json이 유일한 시간 정보 소스입니다. 그림, 음악 및 SFX가 이를 읽습니다. 수동으로 측정한 오프셋은 없습니다.
  • 장면은 시간의 순수 함수입니다. 동일한 입력, 동일한 프레임. Date.now()나 시드되지 않은 무작위성은 없습니다.
  • 하나의 전역 클록. 전체 영화는 초 단위의 하나의 타임라인입니다. 그 위에 하나의 악보가 있습니다.
  • 스토리에 고정하고, 클록에 고정하지 마십시오. 음악 프레이즈와 비트는 이름이 지정된 이벤트에 연결되며, 마디 번호나 절대 초에 절대 연결되지 않습니다.
  • 음성을 교체하면 모든 타이밍이 다시 조정됩니다. 임시 테이크를 실제 테이크로 교체하고, events.json을 다시 생성하면 그림과 음악이 수동 편집 없이 이동합니다. 이것이 파이프라인의 승인 테스트입니다.

단계

자세한 내용은 references/workflow.md에 있습니다. 애니메이션틱은 모든 레이어를 한 번 빠르게 통과하는 것입니다. 업그레이드는 느린 부분이며, 한 번에 하나의 레이어씩, 각각 사용자 게이트와 커밋이 있습니다.

#통과출력시간
A애니메이션틱: 개요 + 가정, 스크립트, 임시 VO(Kokoro), 정렬, events.json, 자막이 있는 초안 장면, 임시 악보 및 SFX, mix.wav, Chrome에서 실시간 재생완전한 초안 영화~15분
U1스크립트: 소리 내어 읽기, >>> 노트, 재작성, 파이프라인 재실행최종 스크립트시간
U2음성: 사용자가 (a) 자신의 녹음 또는 (b) Chatterbox(동의 하에 자신의 목소리로 클론 가능, 동등함)를 선택합니다. 선택, 편집, 재정렬, 이벤트 재생성최종 VO, 모든 타이밍 재조정시간
U3악보: 이벤트에서 MIDI 생성, 샘플 라이브러리로 렌더링, 믹싱실제 음악시간
U4폴리싱: 그림 디테일, 푸티지, SFX, 자막 제거, 타이밍 조정영화일
F최종: 이미지 시퀀스 또는 비디오 내보내기, ffmpeg 먹싱out/film_1080p60.mp4분

건너뛰지 마십시오. 한 라운드에 하나의 레이어를 업그레이드하고, 실시간으로 보여주고, 의견을 받고, 커밋합니다.

항상 따라야 할 규칙

사용자와 작업하기

  • 감독의 브리핑을 받는 제작진처럼 작업하십시오. 첫 번째 프롬프트가 브리핑입니다. 가정을 하고, 전체 애니메이션틱을 한 번에 구축한 다음, 가정을 brief.md 상단(길이, 톤, 음성, 음악, 플랫폼, 모의된 내용)에 나열하여 사용자가 수정할 수 있게 하십시오. 사전 인터뷰는 없습니다. 무언가 진정으로 막힐 때만(주제 없음, 청중 없음, 모순된 목표) 질문하고, 그때도 한 가지만 질문하십시오.
  • 우회하기 전에 짧은 질문 하나를 하고, 그 후에 하지 마십시오. 사용자가 무언가 누락되었거나 잘못되었다고 말할 때, 새로운 것을 추가하기 전에 먼저 무엇이 올바르던 시점에서 변경되었는지(재촬영, 컷, 재타이밍) 물으십시오.
  • 무언가를 들었거나 보았다고 주장하지 마십시오. 측정한 것을 말하고 사용자에게 시청하고 듣도록 요청하십시오.
  • 노트는 파일에 있습니다: 사용자는 script.md에 >>> note 줄을 씁니다. 각 노트를 스크립트나 무대 지시문에 접고, 마커를 삭제하고, 무엇을 했는지 말하십시오.
  • 임시 목소리는 대역이며 사용자 자신의 녹음이 가장 좋게 들릴 것이라고 알리십시오.

스크립트 및 음성 (references/voice.md)

  • 구어체 영어: 짧고, 구체적이며, 강력합니다. AI 표현 금지: "quietly", "seamlessly", "delve", "tapestry", "testament", "it's not X, it's Y", 중첩된 세 쌍둥이.
  • 모든 라인에는 ID가 있고 자체 녹음입니다. 평범하게 녹음하고, 후반 작업에서 레벨을 수정하십시오.
  • 임시 음성: Kokoro, 무료 및 오프라인. OS 음성(say, SAPI, espeak)은 절대 사용하지 마십시오. 비상업적 가중치는 피하십시오. 정렬은 임시 오디오에서도 실행되므로 첫 번째 애니메이션틱부터 events.json이 존재합니다.

그림 (references/motion-canvas.md)

  • 기본 1920x1080, 60fps. 요청하지 않으면 4K 없음.
  • 메모리 보호. shadowBlur 없음, 매 프레임 다시 그려지는 큰 블러 레이어 없음, 수천 개의 개별적으로 필터링된 모양 없음. 몇 개의 넓고 낮은 알파 스트로크 또는 캐시된 스프라이트 하나로 글로우를 가장하십시오. 사용자가 열기 전에 무거운 장면을 워치독 테스트(RSS 제한)하십시오. 한 번에 하나의 무거운 프로세스만 실행하십시오. 렌더링이 실행되는 동안 오디오나 이벤트를 다시 빌드하지 마십시오.
  • 장면이 캔버스에 그려지는 경우 모든 헬퍼에서 상태를 복원하십시오(save/restore, globalAlpha 초기화). 알파 누출은 깜박임을 유발합니다.
  • 영화 속 제품 데모는 소품입니다: 스크립트 작성, 녹음 또는 가짜 UI, 실제는 절대 안 됩니다.

음악 (references/music.md), 사용자가 재정의할 수 있는 기본값; 임시 악보에도 적용됩니다.

  • 음성 아래 고정 레벨, 덕킹 없음, 음성보다 약 10dB 낮음. 레이어는 색상을 추가하고, 큰 소리는 추가하지 않습니다.
  • 내레이션 아래 아르페지오 또는 리드미컬한 필러 없음. 패드, 서브, 테마, 스웰, 라이저, 침묵.
  • 침묵으로의 컷은 리버브 전, 드라이해야 방이 울립니다.
  • 임시 악보와 SFX는 events.json 클록에서 Python으로 합성되며, 대용량 다운로드가 전혀 없습니다. 샘플 라이브러리는 U3까지 기다립니다.

프로세스

  • Windows: 먼저 references/setup.md의 Windows 섹션을 읽으십시오. 경로를 인용하고, 생성된 셸 스크립트를 LF로 유지하고, 프로젝트 경로를 짧게 유지하십시오.
  • 작은 커밋, 검토된 라운드당 하나. 명시적인 경로를 스테이징하십시오. 원시 테이크, 모델, 샘플, node_modules 또는 렌더링을 커밋하지 마십시오. .gitignore를 제공하십시오.
  • 검토 영상: 사용자가 요청할 때만. 변경된 스팬만 2초 컨텍스트와 함께 720p30, 오디오 포함으로 인코딩하십시오.
  • 빌드 가드: 프레임이 내보내진 후 믹스가 변경된 경우 최종 조립을 거부하고, 렌더링이 실행되는 동안 빌드를 거부하십시오. 약속이 아닌 코드(잠금 파일, 내보내기 옆 해시)로 강제하십시오.
  • 입력 해시로 키가 지정된 비용이 많이 드는 단계(정렬, 합성, 스템)를 캐싱하십시오.

문제 발생 시

먼저 references/lessons.md를 읽으십시오. 알려진 함정: 파열음을 먹는 디클리커, 브라우저 캐시에서 제공되는 오래된 믹스, 하나의 마이크에 두 개의 탭, 닫는 중괄호를 삼키는 줄 끝 주석, 스테레오 믹스를 모노로 들리게 하는 공간 오디오 헤드폰.

파일

  • references/workflow.md: 애니메이션틱 및 각 업그레이드 패스, 게이트, 빠른 성과
  • references/events-schema.md: events.json 형식 및 규칙
  • references/motion-canvas.md: 프로젝트 설정, 이벤트로 구동되는 장면, 미리보기, 내보내기, 성능 가드
  • references/music.md: 임시 악보 및 SFX 합성, 하나의 클록에서 MIDI, 샘플, 믹스
  • references/voice.md: 스크립트 음성 규칙, 임시 TTS, 녹음, 선택, 편집
  • references/lessons.md: 요약된 회고
  • references/setup.md: 부트스트래핑, 설치 명령어가 있는 기본값, animator.config.json
  • scripts/check_env.sh, scripts/check_env.ps1: 간결한 도구 보고서(멱등성, 읽기 전용)
  • templates/: events.example.json, Motion Canvas events.ts 및 장면 스켈레톤

관련 스킬