Communitygithub.com

CrissAlvarezH/reel-studio

Reel Studio 작업 공간에서 나레이티드 설명 영상이 어떻게 만들어지는지 설명합니다. 대본, 그림, 음성, 이미지, 빌드, 보드, 사운드, 무음 테스트, 렌더링 등 모든 시각적 스타일을 지원하며, 제작자의 스튜디오 설정(프로필, 포맷, 음성, 이미지 소스)을 따릅니다. 프로젝트의 videos/ (projects/<id>/videos/) 경로에 있는 신규 또는 수정된 모든 비디오에 사용됩니다. 비디오 스타일은 look과 Remotion 키트를 위한 자체 스킬(styles/<id>/SKILL.md)을 추가하며, LESSONS.md에는 과거 비디오에서 얻은 교훈이 저장됩니다.

reel-studio란 무엇인가요?

이 스킬은 Reel Studio 작업 공간에서 나레이티드 설명 영상이 제작되는 전체 과정을 정의합니다. 대본 작성, 그림 구상, 음성 생성, 이미지 검색 및 다운로드, 빌드, 보드 렌더링, 사운드 믹싱, 무음 테스트, 최종 렌더링까지의 단계를 상세히 안내합니다. 모든 스타일의 비디오에 동일한 프로세스가 적용되며, 각 스타일(SKILL.md)과 포맷(format.json)에 따라 시각적 요소와 제작 방식이 결정됩니다. 또한 스튜디오 설정(프로필, 포맷, 음성, 이미지 소스)이 최우선으로 적용되며, API 키는 .env에 저장되고 도구들은 이를 자동으로 읽습니다. Claude Code, Cursor, Codex 등 AI 에이전트가 Reel Studio 프로젝트에서 비디오를 제작할 때 이 스킬을 참조하여 일관된 워크플로우를 유지할 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CrissAlvarezH/ai-reel-gen-app/tree/HEAD/.claude/skills/reel-studio

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

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

문서

Reel Studio — 비디오 제작 과정

모든 스타일에 대해 프로세스는 동일합니다. 비디오의 모양과 소리는 스타일에 따라 결정되며, 대상, 포맷, 음성, 이미지 소스는 스튜디오 설정에서 가져옵니다. 일반적인 animated-video 스킬은 더 넓은 방법(브레인스토밍, 보드, 무음 테스트, 검토)을 담당하며, 이 스킬과 스타일은 차이가 있는 부분에서 우선 적용됩니다. 추천과 함께 질문하여 "예"가 완전한 답변이 되도록 하세요. 아이디어를 구상하고 프로젝트 보드에 저장하는 것은 content-ideas 스킬이 담당하며, 이 과정이 시작되기 전에 수행됩니다.

작업 공간

  • projects/<id>/ — 프로젝트: 제작자가 비디오를 만드는 하나의 채널(스튜디오의 프로젝트 선택기, 프롬프트는 현재 열려 있는 프로젝트를 알려줍니다). config/ 폴더는 설정(Ajustes)을 보관합니다: profile.json, voice.json, account.json (Instagram, Mi cuenta). account/ 폴더는 해당 계정에서 다운로드한 파일입니다. 요청하지 않은 다른 프로젝트 폴더는 건드리지 마세요.
  • projects/<id>/videos/<slug>/ — 하나의 비디오: 해당 스타일의 템플릿에서 복사된 Remotion 프로젝트입니다. title.txt (스튜디오에서의 이름), style.txt (스타일 ID), audio/vo.txt (내레이션, 음성으로 전달되는 그대로), audio/beats.json (대본 구조), src/format.json (크기, fps, 음량), CREDITS.md, caption.md, out/ (렌더링 파일, 보드, 버전 관리되지 않음).
  • formats/<id>/format.json — 포맷: 비디오의 유형(생성된 음성 또는 제작자 녹음 음성 위의 모든 애니메이션, 제작자가 카메라를 보며 애니메이션과 함께 말하는 방식 등), 화면에 표시되는 내용과 편집 방식. 비디오는 format.txt에 포맷을 명시합니다(없으면 기본값: animated). skill은 자체 지침을 가리키고, overlay는 스타일 템플릿 위에 추가되는 파일을 가리킵니다. "footage": true는 비디오가 footage/ 폴더의 녹화본으로 시작됨을 의미합니다("voiceOnly": true: 오디오만 사용됨).
  • styles/<id>/style.json — 스타일: 팔레트와 각 색상의 의미, 글꼴, 모양, 움직임, 이미지, 피해야 할 사항. skill은 자체 지침을 가리키고, template은 새 비디오가 복사하는 Remotion 프로젝트를 가리킵니다.
  • config/ (루트) — 모든 프로젝트에서 공유하는 설정: images.json (이미지 소스), social.json (스크래퍼).
  • tools/ — 공유 스크립트. LESSONS.md — 과거 비디오에서 얻은 교훈.
  • projects/<id>/inspiration/<account>/ — 프로젝트의 Inspiración 페이지에서 연구한 다른 계정의 릴: account.json (analysis.text: 해당 계정에 효과적인 내용), 각 릴별 reel.json (측정항목, 캡션), transcript.json, analysis.json (후크, 구조, 시각 자료, CTA, 참고할 점), hook.jpg (처음 3초), sheet_NN.jpg (초당 1프레임). 요청 시 각도와 후크로 사용하되, 제작자 프로필에 맞게 조정하고 대본을 절대 복사하지 마세요.

설정은 스튜디오에서 가져옴

Reel Studio는 프로필(언어, 플랫폼, 대상, 길이, 캡션 규칙), 비디오 포맷, 음성, 이미지 소스를 매 턴마다 프롬프트에 제공합니다. 이 설정들은 이 스킬과 스타일보다 우선합니다. 음성 ID나 설정, 크기, 프레임 속도, 음량 목표를 하드코딩하지 마세요.

API 키는 작업 공간의 .env에 저장됩니다(Ajustes에서 설정, 각 키의 용도 옆에 표시: Voz, Extracción de datos). 도구들은 이 키들을 읽습니다. 절대 키를 출력하거나 채팅에서 요청하지 마세요. 키가 누락된 경우 제작자에게 Ajustes에서 추가하도록 요청하세요.

Python: 표준 라이브러리만 사용하는 도구는 python3(Windows에서는 python)으로 실행합니다: tts.py, el_words.py, standin_words.py, commons.py, openverse.py, pexels.py, pixabay.py, unsplash.py, generate_image.py. 패키지가 필요한 도구는 작업 공간의 가상 환경, ../../../../.venv/bin/python(Windows: ../../../../.venv/Scripts/python.exe)으로 실행합니다: cutout.py, audio/mix.py, sheet.py (snap.sh는 이 파일을 사용하거나, venv가 없으면 ffmpeg 사용). 컷아웃을 만드는 스타일은 venv가 필요합니다(Ajustes → Requisitos에서 설치). 아래 경로는 비디오 폴더를 기준으로 합니다.

시작하기 전에

비디오의 포맷을 읽으세요: formats/<format.txt의 ID>/format.json과, 있다면 해당 스킬도 읽으세요. 이 스킬은 해당 유형의 비디오 제작 방법을 설명하며, 아래 단계와 차이가 있는 경우 우선 적용됩니다(예: 제작자 녹화본이 있는 경우 대본 작성이나 음성 생성이 필요 없으며, 편집이 둘 다 제공합니다). 비디오의 스타일을 읽으세요: styles/<style.txt의 ID>/style.json과, 있다면 해당 스킬도 읽으세요. 포맷은 색상, 글꼴, 테두리를 결정하지 않습니다. 이는 스타일의 역할입니다. LESSONS.md(일반 부분과 스타일별 부분)를 읽으세요. 스킬이나 템플릿이 없는 스타일은 기본 스타일의 템플릿(template/)을 기반으로 하고, 모양만 style.json에 따라 변경됩니다. 시작할 때 이를 알리세요.

단계

  1. 새 비디오 — 스튜디오가 첫 메시지에서 생성합니다(폴더, 제목, 스타일, 포맷, 크기). 터미널 또는 일반 대화에서: scripts/new-video.sh <slug> [style] [format].
  2. 대본 — video-script 스킬(후크, 답변 유지, 타이밍, 체크리스트)을 사용하여, 보드에서 가져온 아이디어 노트로 시작합니다. 플랫폼, 언어, 대상, 길이는 프로필에서 가져옵니다. 단어 수는 음성의 측정된 속도 × 목표 초입니다. 목표는 달리 명시되지 않는 한 도달입니다. 숫자는 audio/vo.txt에서 문자로 표기하고("mil cuarenta y dos"), src/captions.ts의 DISPLAY에서 다시 숫자로 매핑합니다. 승인을 받으세요. audio/vo.txt와 audio/beats.json을 작성합니다.
  3. 그림 — 새 에이전트로 비트당 하나의 그림을 브레인스토밍합니다(animated-video → find the pictures). 영화 전체에 걸쳐 시스템을 나타내는 하나의 반복적인 물리적 모티프를 선호합니다(카드 카탈로그 캐비닛 = 서버, 서랍 = 레코드). 그림은 대본의 질문을 열린 상태로 유지합니다: 첫 프레임이 질문을 제기하고, 어떤 그림이나 화면 제목도 내레이션이 도착하기 전에 답을 보여주지 않습니다. 컨셉 승인을 받으세요.
  4. 음성 — python3 ../../../../tools/tts.py audio/vo.txt audio/vo.mp3, 그 다음 ffmpeg -y -i audio/vo.mp3 -ar 48000 public/vo.wav, 그리고 python3 ../../../../tools/el_words.py audio/vo.alignment.json public/vo.wav (src/words.json, src/vo_env.json 생성). 음성이 없을 때: python3 ../../../../tools/standin_words.py audio/vo.txt src/words.json (음성 속도에 맞춰 타이밍, 대체용으로 표시). 음성에 변화가 있을 때 먼저 짧은 샘플을 만드세요. 반환된 오디오를 그대로 사용하세요(요청하지 않는 한 일시 정지를 자르지 마세요). 모든 생성은 문자를 소모합니다: 이유 없이 재생성하지 마세요.
  5. 이미지 — 사용 가능한 검색 및 브라우징 도구를 사용하여 웹에서 자유롭게 검색합니다. 모든 사이트가 소스가 될 수 있습니다. 프롬프트는 선택적 API 통합을 나열하지만, 허용 목록이나 필수 순서는 아닙니다. 해당 API는 활성화되고 구성된 경우에만 사용합니다. 무료 웹 검색에는 소스 설정이 필요 없습니다. 다운로드는 assets/src/에 저장됩니다(버전 관리되지 않음). 모든 이미지를 CREDITS.md에 기록합니다(제목, 작성자, 알려진 경우 라이선스, 원본 링크, 라이선스를 절대 임의로 작성하지 마세요). 스톡 이미지로 해결되지 않을 때는 정확한 동작의 휴대폰 사진을 요청하세요(단색 배경, 좋은 조명). 이미지 처리 방식은 스타일에 따릅니다.
  6. 빌드 — src/lib.ts의 ACTS에서 각 액트의 첫 단어 앞 약 0.08초를 잘라내고, src/captions.ts에서 의미 단위로 캡션을 작성(대본과 단어 단위로 확인)하며, src/film/scenes.tsx에서 액트당 하나의 장면을 만듭니다. 모든 시간은 큐(cue('phrase'), at('phrase'))에서 가져오므로, 새 음성은 영화의 타이밍을 다시 조정합니다. 크기와 프레임은 src/lib.ts(W, H, FPS, f())에서 가져오며, 절대 리터럴 숫자를 사용하지 마세요. 컴포넌트는 스타일에 따라 다릅니다.
  7. 보드 — ./snap.sh out/board <sec> … 명령어로 스틸 이미지와 sheet.png를 렌더링합니다. 비트당 주요 프레임을 보여주고 승인을 받으세요. 시간을 그대로 전달합니다(zsh에서는 공백으로 구분된 목록이 하나의 변수에서 분할되지 않습니다).
  8. 사운드 — audio/mix.py의 큐 시트, 장면이 사용하는 동일한 큐의 시간 사용; ../../../../.venv/bin/python audio/mix.py → public/mix.wav; src/Root.tsx에서 audio: true 설정. 어떤 사운드를 사용할지는 스타일에 따릅니다. 전달 시 어떤 사운드가 합성인지 알리세요.
  9. 무음 테스트 — 첫 번째 전체 컷 전: ffmpeg -i out/<name>.mp4 -vf "fps=2,scale=270:-1,tile=8x5" out/mute/sheet_%02d.png 그리고 해당 시트만 새 에이전트에게 전달합니다(캡션 무시, 다시 설명, 혼란 및 깨짐 목록 작성). 수정 후 스틸 이미지를 다시 확인합니다.
  10. 렌더링 — macOS와 Linux에서 먼저 고아 렌더러를 정리합니다: ps -A -o pid=,ppid=,command= | awk '$2==1 && /chrome-headless-shell/ {print $1}' | xargs kill. 그 다음 CONCURRENCY=3 ./render.sh <name> → out/<name>.mp4, 포맷의 음량으로 정규화됩니다. 지속 시간, 음량, 첫 번째 및 마지막 프레임을 확인합니다. 프로필의 캡션 규칙과 크레딧으로 caption.md를 작성합니다. 시작 부분은 답변을 제공하기보다 후크 질문을 제기합니다. 비디오나 캡션이 사람들에게 특정 단어를 댓글로 달아 무언가를 받도록 요청하는 경우, ManyChat 또는 InstantDM에 붙여넣을 내용을 문자열로 automatizacion.json(Reel Studio → Instrucciones automatización)에 작성합니다: keyword (정확한 단어), reply (댓글에 대한 공개 응답), dm (직접 메시지), link (링크). 각 항목은 그대로 복사되므로 내부에 메모를 넣지 마세요. 누락된 것은 비워두고 링크는 절대 임의로 만들지 마세요. 경로, 공개된 이슈, 건너뛴 확인 사항, 합성 또는 발명된 내용, 크레딧을 보고합니다.

비디오 이후

고객 프로젝트, 비디오, 환경 설정, 사용자 정의 스타일 및 개인 교훈은 로컬에 유지되며 애플리케이션 저장소에서 무시됩니다. 렌더링 후를 포함하여 이를 커밋하거나 푸시하지 마세요. 무시된 데이터를 강제로 추가하지 마세요. 고객 콘텐츠를 위한 별도의 저장소는 제작자의 명시적 요청이 필요합니다.

수정 비용이 발생한 내용을 LESSONS.md에 한 줄씩 이유와 함께 추가합니다. 일반 부분 또는 스타일별 부분 아래에 추가합니다.

게시된 비디오의 수치가 돌아오면 video-script → Review로 읽습니다. 아이디어에서 게시까지 빠르게 진행하는 것이 중요합니다. 많은 비디오가 실패할 것이고 각각이 무언가를 가르쳐 주기 때문에, 새 버전은 최소한만 변경합니다: 승인된 내용을 유지하고, 테스트 중인 내용만 변경합니다(새 후크, 사람들이 떠난 지점의 컷), 변경된 내레이션에 대해서만 음성을 재생성합니다. 요청하지 않은 개선 사항을 추가하지 마세요.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

CrissAlvarezH/animated-video

Make animated videos in code with Remotion (React, SVG, three.js): explainers, character stories, motion graphics, kinetic typography, paper collage and animated infographics, in 2D or 3D, from a script or voiceover, in any aspect ratio. Use when asked to animate a script, make an animated video or Reel, or motion graphics. Not for editing camera footage (video-edit) or AI-generated clips (higgsfield-*).

CrissAlvarezH/new-style

Create a new visual style for the creator's videos in a Reel Studio workspace (styles/<id>/style.json): interview him for its name, feel, colours and what each one means, fonts, motion, where pictures come from, reference links and images, then write the style so it shows in Estilos and new videos can use it. Use when he asks for a new style or presses "Nuevo estilo" on the Estilos page.

CrissAlvarezH/persona-hablando

The "Persona hablando + animaciones" format of a Reel Studio video — the creator talks to camera in his own recording; you transcribe it, agree the cuts with him (pauses, flubs, retakes), cut it, and lay the video's style animations over or between his shots. Use for any video whose format.txt says persona-hablando.

CrissAlvarezH/video-script

Write short-form video scripts that hold viewers, using the creator's own video analytics. Use when choosing the hook of a chosen idea, writing or tightening a script before filming (talking-head or narrated explainer), or turning a posted video's insights into lessons. Coming up with ideas is content-ideas'.

관련 스킬