Communitygithub.com

Ting7770/stickman

코드로 시네마틱 스틱맨 스토리 비디오를 MP4로 제작하고, ElevenLabs 음성 해설 스크립트, YouTube 제목 및 썸네일 프롬프트를 생성합니다. /stickman 또는 모든 스틱맨 애니메이션 요청에 사용하세요.

stickman란 무엇인가요?

이 스킬은 사용자가 제공한 주제를 완전한 스틱맨 영화로 변환합니다. 모든 작업은 순수 코드로 렌더링되며, 2D 평면 캐릭터, 황혼 팔레트, 영화 스타일의 카메라 워크, 실제 사운드를 사용합니다. 출력물은 MP4 비디오, 음성 해설 스크립트, YouTube 제목, 썸네일 프롬프트의 네 가지로 구성됩니다. Claude Code를 포함해 Claude가 코드를 실행할 수 있는 모든 환경에서 작동하며, 무료 플랜에서도 사용 가능합니다. 별도의 유료 도구나 AI 이미지/비디오 도구가 필요하지 않으며, ElevenLabs는 음성 해설에만 선택적으로 사용됩니다. 이 스킬은 사용자의 요청에 따라 스토리 아이디어 구상, 비디오 제작, 음성 해설 스크립트 작성, 제목 및 썸네일 생성을 수행하며, 각 단계마다 사용자와 상호작용하여 완성도를 높입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ting7770/claude-video-skills/tree/HEAD/stickman

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

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

문서

/stickman

주제를 완전한 스틱맨 영화로 바꿔보세요. 순수 코드로 렌더링된 평면 2D 캐릭터, 황혼 팔레트, 영화 스타일의 카메라 워크, 실제 사운드를 제공합니다. 이 스킬은 네 가지 출력물을 다룹니다: 비디오, 음성 해설 스크립트, YouTube 제목 및 썸네일 프롬프트.

Claude가 코드를 실행할 수 있는 모든 곳(Claude 무료 플랜 포함)에서 작동합니다. 유료 도구가 필요 없으며 AI 이미지나 비디오 도구를 사용하지 않습니다. ElevenLabs는 음성 해설에만 선택적으로 사용됩니다.

아래 모든 내용은 이 스킬의 폴더(이 파일이 있는 폴더)를 기준으로 합니다. 절대 경로를 한 번 찾아 모든 스크립트에 사용하세요. Claude Code에서는 ${CLAUDE_SKILL_DIR}입니다. 아래 명령어에서는 SKILL로 부르세요. python3을 사용하고, Windows에서는 python을 사용하세요.

1단계: 요청사항 파악

사용자는 전체 패키지 또는 일부를 원할 수 있습니다. 요청된 것만 수행하세요:

요청수행할 작업
스토리 아이디어아래 "스토리 아이디어"를 수행한 후 중단
비디오 제작2-6단계
음성 해설 스크립트 작성references/script-playbook.md를 읽고 스크립트 전달 후 중단
제목 또는 썸네일references/packaging-playbook.md를 읽고 쌍을 전달 후 중단
전체 패키지스크립트, 비디오, 제목 및 썸네일 프롬프트 순서

스토리 아이디어

길이가 명시되지 않은 경우, 먼저 비디오 길이를 물어보세요. 그런 다음 5개의 아이디어를 번호와 함께 제공하여 사용자가 번호로 선택할 수 있게 하세요. 각 아이디어는 짧은 이름, 무슨 일이 일어나는지 설명하는 한 문장, 그리고 결말을 포함합니다. 각 아이디어를 해당 길이에 맞추세요: 20초 미만은 캐릭터 하나와 간단한 전환 하나를 의미합니다. 아이디어는 references/engine.md에 있는 내용으로 쉽게 애니메이션화할 수 있어야 하며, 각각 독창적이어야 합니다. 나중에 "아이디어 3번 만들어"라는 요청은 해당 아이디어를 의미합니다.

2단계: 제작 전 질문

요청에 이미 명확하지 않은 경우, 다음을 하나의 메시지에 함께 묻고, 가능한 경우 질문 도구를 사용하세요. 이미 답변된 내용은 건너뛰세요. 답변할 사람이 없는 경우 기본값을 사용하고 그렇게 말하세요.

  1. 스타일: 2D 또는 3D? 기본값 2D. 둘 다 동일한 외관을 사용합니다. 3D는 장면 주위의 실제 카메라 이동을 추가합니다.
  2. 길이: 얼마나 긴가요? 기본값 30초. MP3가 있는 경우 음성 해설이 길이를 결정합니다.
  3. 음성 해설: 예 또는 아니오? MP3가 첨부된 경우 건너뛰세요. 예인 경우, 사용자가 MP3와 스크립트 텍스트를 제공하거나, ElevenLabs용 스크립트 작성을 요청하고 MP3를 가져옵니다. SRT는 필요하지 않습니다.
  4. 음향 효과: 예 또는 아니오? 기본값 예.
  5. 배경 음악: 예 또는 아니오? 기본값 아니오. 예인 경우, 업로드된 트랙이 있으면 그것을 사용하고, 없으면 코드로 만든 음악 배경을 사용합니다.
  6. 스토리보드: 스토리보드를 먼저 보고 싶으신가요? 요청에 이미 명시되지 않은 경우 항상 물어보세요. 답변할 사람이 없는 경우 건너뛰세요.

음악, 효과 또는 음성을 가정하지 마세요. 조용한 방 분위기는 음악이 아닙니다.

3단계: 설정

python3 SKILL/scripts/doctor.py
python3 SKILL/scripts/new_film.py film        # 3D의 경우 --3d 추가

doctor.py는 누락된 항목을 설치합니다. Chromium을 전혀 실행할 수 없는 경우 "렌더링이 불가능한 경우"로 이동하세요.

그런 다음 다음 순서로 읽으세요:

  1. references/style-bible.md: 외관과 절대 변하지 않는 규칙.
  2. references/production.md: 빠른 경로와 알려진 함정.
  3. references/engine.md: 도구 모음. 다시 그리는 대신 재사용합니다.
  4. references/film-craft.md: 무성 또는 단편 영화를 위한 스토리와 샷.

해당되는 경우 추가로 읽으세요: references/script-playbook.md(스크립트 작성용), references/voiceover.md(MP3용), references/sound.md(믹스용), references/symbolic-beats.md(약 1분 이상 영화용), references/3d.md(3D용).

4단계: 영화 계획

드로잉 코드를 작성하기 전에 다음을 작성하세요. 코드 내에서 계획하면 슬라이드가 나오지 영화가 나오지 않습니다:

  1. 산만한 시청자도 이해할 수 있는 한 문장.
  2. 각 비트에 동작, 느낌, 카메라, 사운드가 있는 비트 시트.
  3. 하나의 세계: 모든 캐릭터와 소품의 고정 위치 목록. 모든 샷은 그 세계에 대한 카메라일 뿐입니다.
  4. 초가 아닌 컷 프레임 기준의 샷 리스트. 30초당 8-11샷을 목표로 하고, 지형을 보여주는 와이드 샷을 포함하세요.
  5. 패키지가 요청된 경우 썸네일 순간. 실제 장면으로 존재해야 합니다.

스토리보드가 요청된 경우, 렌더링 전에 5단계의 "스토리보드"를 따르세요.

5단계: 제작

  1. 엔진 파일은 유지하고 film/film.js를 교체하세요. 스타터 영화의 패턴부터 시작하세요.
  2. 가장 바쁜 순간의 스틸을 확인하고 이미지를 보세요: python3 SKILL/scripts/stills.py film sheet.jpg 1 4.5 9 .... 두 번의 라운드는 정상입니다.
  3. 스토리보드(요청된 경우). python3 SKILL/scripts/storyboard.py film을 실행하세요. film/storyboard.jpg에 각 샷의 번호가 매겨진 미리보기를 작성하며, 최종 영화와 동일한 코드로 그려집니다. 사용자에게 각 행에 샷 번호, 시간, 내용, 카메라, 사운드가 있는 표를 보여주고 이미지를 보여주거나 보내세요. 이미지를 여기서 보여줄 수 없는 경우 파일을 보내거나 표만 제공하고 그렇게 말하세요. 그런 다음 중단하고 기다리세요. 요청에 따라 영화를 변경하고, 많이 변경된 경우 스토리보드를 다시 실행한 후 사용자가 승인한 후에만 렌더링하세요.
  4. film/audio_mix.py의 표시된 블록을 사운드 브리프에 맞게 편집하세요.
  5. 다음 하나의 명령으로 렌더링, 믹싱, 결합 및 감사를 수행하세요:
python3 SKILL/scripts/build.py film --out my-film.mp4

환경이 명령 시간을 제한하는 경우 백그라운드에서 실행하고 폴링하세요. 동일한 명령을 다시 실행하면 각 샷이 자체 파일이므로 재개됩니다. 수정 후 --shots 3 7을 사용하여 해당 샷만 다시 수행하거나 --audio-only로 사운드를 리믹스하세요.

6단계: 확인 후 전달

build.py는 감사로 끝납니다. 모든 ISSUE를 수정하거나 플래그가 지정된 순간이 의도된 것임을 명시하세요. 그런 다음 인코딩된 파일에서 생성된 film/contact_sheet.jpg를 확인하세요. 감사가 감지할 수 없으므로 눈으로 직접 확인하세요:

  • 얼굴이 의도된 감정으로 읽히고, 눈썹이 실수로 화나 보이지 않는가.
  • 손이 잡고 있는 것을 닿고 있으며, 얼굴을 가로지르는 것이 없는가.
  • 모든 걷기 동작에서 팔이 올바른 방향으로 구부러지는가.
  • 문이 먼저 열리고 캐릭터가 들어가는가.
  • 캐릭터가 샷 간에 물체와 같은 거리를 유지하는가.
  • 장식용 원이 어디에도 없는가.

MP4와 함께 짧은 메모를 전달하세요. 믹스를 들을 수 없다고 솔직히 말하세요: 측정했으니 사용자가 들어봐야 한다고 알리세요. 실행하지 않은 검사를 주장하지 마세요. 사용자가 제목과 썸네일을 요청한 경우, 패키징 플레이북의 쌍을 추가하세요.

렌더링이 불가능한 경우

코드 실행이나 브라우저를 사용할 수 없는 경우, 가능할 때 python3 SKILL/scripts/bundle_player.py film을 실행하세요. 그러면 영화를 재생하고 실시간 WebM을 기록하는 하나의 HTML 파일이 생성됩니다. 아무것도 실행할 수 없는 경우, 누락된 것이 무엇인지 말하고 렌더링이 필요 없는 스크립트, 제목 및 썸네일 프롬프트를 제공하세요. WebM을 MP4로 이름을 바꾸지 마세요.

독창성 규칙

사용자가 공유하는 참조 비디오, 제목, 썸네일 또는 트랜스크립트는 일반적인 패턴(길이, 표현, 구조, 페이싱)에만 사용하세요. 다른 사람의 작업에서 특정 내용을 복사하거나 저장하지 말고, 전제, 캐릭터, 플롯, 대사 또는 외관을 재사용하지 마세요. 모든 영화는 고유한 스토리를 가집니다.

관련 스킬