Communitygithub.com

cordel

짧은 설명 영상(9:16, 16:9 또는 1:1)을 항상 'cordel' 시각 스타일(references/estilo.md 참조)로 제작합니다. 주제, 형식, 길이, 해상도, 엔진을 입력받아 장면을 계획하고, 스토리보드를 그리고, 나레이션을 작성하고, 애니메이션을 적용하고, 단일 배경 음악을 넣어 최종 결과물(final/video-final.mp4 + final/manifesto.json)을 제공합니다.

cordel란 무엇인가요?

이 스킬은 'cordel'이라고 불리는 특정 시각 스타일을 따르는 짧은 설명 영상을 제작하는 AI 에이전트 전용 스킬입니다. 사용자가 주제, 형식(9:16, 16:9, 1:1), 길이(2.5초 배수), 해상도, 영상 생성 엔진(local, kling, seedance)을 제공하면, 스킬이 10단계 프로세스를 통해 자동으로 완성된 영상을 만듭니다. Claude Code, Cursor, Codex 등 Python 스크립트와 PIL(Pillow)을 실행할 수 있는 모든 AI 코딩 도구에서 작동합니다. 먼저 `references/estilo.md`(스타일 바이블)와 규칙들을 참고하여 장면 계획을 세우고, 스토리보드 프롬프트를 생성하여 이미지로 만든 후, 각 스토리보드를 잘라내고 애니메이션을 적용합니다. 이후 사용자가 제공한 음성 파일이나 TTS 엔진으로 나레이션을 만들고, 단일 배경 음악과 합쳐 최종 영상을 렌더링합니다. 프로세스 중간중간 검증 단계가 있어 결과물의 품질을 보장하며, 실패 시 `references/licoes.md`에 기록하여 스킬 자체를 지속적으로 개선합니다. 중요 기능으로는 일관된 캐릭터 유지(연속적인 스토리보드 생성), '너(you)'로 시작하는 공감 기반 내레이션, 정확한 단어 표시 확인, 그리고 로컬 엔진을 기본으로 하는 무료 실행이 있습니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/inematds/estilo-em-skill/tree/HEAD/exemplos/cordel/skill

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

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

문서

스타일 스킬: cordel

이 스킬은 항상 동일한 스타일로 비디오를 제작합니다. 스타일은 references/estilo.md(바이블)에 정의되어 있습니다. 콘텐츠는 요청에 따라 생성됩니다. 스타일에 영감을 준 비디오의 캐릭터, 로고 또는 텍스트를 절대 복사하지 마세요.

SKILL_DIR = 이 파일이 있는 폴더입니다. 스크립트는 SKILL_DIR/scripts/에 있으며 python3로 실행됩니다. 비디오 프로젝트 폴더(기본값: 현재 폴더)에서 작업하세요. 모든 결과물은 해당 폴더의 saida/와 final/에 저장됩니다.

시작하기 전에

  1. references/estilo.md, references/regras-storyboard.md, references/regras-video.md를 읽고, references/licoes.md(이 스타일로 이미 발생한 문제)가 있으면 그것도 읽으세요.
  2. 도구를 확인하세요: ffmpeg -version, python3 -c "import PIL". 누락된 것이 있으면 → 설치할 것을 알려주고 중단하세요.

1단계 – 5가지 데이터 (누락된 항목은 자유 텍스트로 질문하고, 기본값을 제안하세요)

데이터옵션기본값
주제한 문장— (필수)
형식9:16 · 16:9 · 1:19:16
길이초 단위; 2.5의 배수로 변환됨15
해상도예: 1080x1920형식에 따른 해상도 (9:16 → 1080x1920, 16:9 → 1920x1080, 1:1 → 1080x1080)
엔진local (무료, 테스트 완료) · kling · seedance (프롬프트만 생성, 테스트되지 않음)local

2단계 – 장면 계획

python3 SKILL_DIR/scripts/cenas.py --tema "<주제>" --duracao <s> --formato <f> --resolucao <WxH> --motor <m>

장면 수(각 2.5초)와 스토리보드 수(장면 최대 6개)를 보여줍니다. 길이가 정규화되었다는 알림이 뜨면 사용자에게 알리세요.

3단계 – 대본 (직접 작성)

references/regras-video.md를 따라 roteiro.json을 작성하세요 (장면당 최대 6단어, 장면당 하나의 큰 키워드, 첫 번째 장면은 시청자의 고통이나 열망으로 시작, "당신"을 사용):

{"personagem": "여러 장면에 등장하는 캐릭터, 항상 동일하게 설명 (옷, 색상, 액세서리)",
 "cenas": [{"texto_tela": "단어", "fala": "짧게 말하는 문장", "acao": "보이는 동작", "camera": "zoom_in"}]}

personagem은 모든 스토리보드 요청에 포함됩니다 (없으면 각 스토리보드가 새로운 사람을 생성함). 그 다음:

python3 SKILL_DIR/scripts/cenas.py ... --roteiro roteiro.json     # 같은 명령어 + 대본

4단계 – 스타일 적용 스토리보드

템플릿 + 바이블 + 계획 + 캐릭터를 기반으로 요청(스토리보드당 하나)을 구성하세요:

python3 SKILL_DIR/scripts/pedido_storyboard.py          # → saida/storyboards/pedido-storyboard-N.txt

각 요청을 다시 작성하지 않고 이미지 생성 도구로 보내세요 (Codex: image_gen; Claude Code: 사용 가능한 이미지 도구, 또는 사용자에게 생성 및 저장 요청). saida/storyboards/storyboard-N.png에 저장하세요. 요청을 변경하려면 템플릿(modelos/prompt-storyboard.md)이나 바이블을 수정하고, 생성된 텍스트는 수정하지 마세요.

  • 한 번에 하나씩 생성하세요. 두 번째부터는 이전 스토리보드를 참조 이미지로 전달하세요 (연속성 유지).
  • 이미지를 열고 regras-storyboard.md 목록(올바른 그리드, 글자 단위 정확한 단어, 스타일, 연속성)과 대조하여 확인하세요. 단어를 확대해서 확인하세요. 나쁨 → 다시 생성(최대 2회)하고 references/licoes.md에 기록하세요.

5단계 – 자르기

python3 SKILL_DIR/scripts/recortar.py --plano saida/plano.json      # --respiro 0.08 (기본값)은 줌에서 단어를 보호

6단계 – 애니메이션

python3 SKILL_DIR/scripts/animar.py                      # 로컬 엔진: 느린 줌/팬 + 디졸브
python3 SKILL_DIR/scripts/animar.py --motor kling --so-prompts      # 테스트되지 않음: 명령어만 생성
python3 SKILL_DIR/scripts/animar.py --motor seedance --so-prompts   # 테스트되지 않음: 프롬프트만 생성

kling/seedance의 경우 사용자가 자신의 계정에서 실행하고, 그 후 클립이 saida/clipes/로 돌아옵니다.

7단계 – 나레이션 (단일 음성)

python3 SKILL_DIR/scripts/narrar.py --arquivo voz.wav            # 사용자가 전체를 녹음함
python3 SKILL_DIR/scripts/narrar.py --falas-dir falas/           # 사용자가 장면별로 하나씩 녹음함
python3 SKILL_DIR/scripts/narrar.py --comando '<tts> {texto} {saida}'   # 모든 로컬 TTS
python3 SKILL_DIR/scripts/narrar.py --inemavox --inemavox-dir <폴더> --ref <voz.wav>
python3 SKILL_DIR/scripts/narrar.py --edge                       # 테스트되지 않음 (온라인 서비스)

TTS를 사용하는 경우 narrar.py는 음성이 문장 뒤에 가끔 추가하는 '꼬리'를 자르고, 단어 수에 비해 너무 긴 발화를 다시 생성합니다(--tentativas 3). 발화가 장면을 초과했다는 알림이 뜨면 대본에서 발화를 줄이고 다시 실행하세요. 가능하면 로컬 전사(transcription)로 나레이션을 확인하세요(문장이 대본과 일치하는지); 문제가 있는 발화 → narrar.py ... --refazer N은 장면 N만 다시 생성합니다.

8단계 – 단일 배경 음악으로 합성

python3 SKILL_DIR/scripts/montar.py [--trilha assets/trilha/x.mp3] [--volume 0.5]

assets/trilha/에 음악이 없으면 → 사용자에게 어떤 음악을 사용할지 물어보세요(사용자 소유 또는 라이선스 허가된 것). 여러 개 있으면 → 선택하도록 요청하세요.

9단계 – 확인 (필수)

python3 SKILL_DIR/scripts/validar.py --duracao <s> --resolucao <WxH>
python3 SKILL_DIR/scripts/folha.py                 # final/folha-final.jpg: 각 장면의 한 프레임

validar.py가 PASSOU를 출력하고 final/folha-final.jpg를 직접 확인(읽기 쉬운 텍스트, 잘못된 글자 없음, 모든 패널에서 동일한 스타일)한 후에만 "완료" 라고 말하세요. 실패하면 무엇이 부족한지 알려주세요.

10단계 – 스킬 개선

각 비디오 제작 후 references/licoes.md에 (항목당 한 줄씩) 무엇이 잘못되었고 이를 방지할 규칙을 기록하세요. 스타일 또는 스토리보드 규칙인 경우 프롬프트뿐만 아니라 estilo.md/regras-storyboard.md도 함께 수정하세요.

관련 스킬