Communitygithub.com

legenda-impacto

Premiere Pro용 9:16 세로 동영상에 고임팩트 자막을 생성합니다. 편집 가능한 그래픽(.mogrt)을 사용하며, 단어별 애니메이션, 작은 행+큰 행(흰색 또는 빨간색)과 일반 자막을 번갈아 표시하고, 대문자 응축 폰트를 사용하여 항상 안전 영역 내에 배치합니다.

legenda-impacto란 무엇인가요?

이 스킬은 Premiere Pro에서 9:16 세로 동영상(Reels/Shorts/TikTok)을 위한 'Legenda Impacto(임팩트 자막)' 템플릿을 적용합니다. 사용자가 'legenda impacto(임팩트 자막)' 또는 'o modelo de legenda(자막 모델)'을 요청할 때 사용됩니다. 스킬은 사용자의 Premiere Pro 트랜스크립트 JSON을 읽어 Python 스크립트로 블록을 계획하고, 각 블록에 대해 단어별 애니메이션이 적용된 편집 가능한 .mogrt 그래픽을 생성합니다. 자막은 소문자 행(흰색)과 큰 행(흰색 또는 빨간색)을 번갈아 표시하거나 일반 텍스트 행으로 표시되며, 대문자 Impact 폰트를 사용합니다. 안전 영역(왼쪽/오른쪽 10%)을 엄격히 준수하며, 텍스트가 넘칠 경우 자동으로 축소하거나 최대 3줄까지 줄 바꿈합니다. 사용자는 생성된 블록을 검토하고 수정한 후, ExtendScript를 통해 Premiere Pro 시퀀스에 직접 적용할 수 있습니다. 빨간색 자막에는 'RGB Color Balance' 효과가 적용됩니다. 이 스킬은 Premiere Pro MCP 인터페이스 또는 CEP 파일 브릿지를 통해 작동하며, Python 3.9+와 Pillow가 필요합니다. 또한 assets/ 폴더에 단어별 .mogrt 파일이 있어야 합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gbrand-lab/premiere-legendas-skills/tree/HEAD/skills/legenda-impacto

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

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

문서

Legenda Impacto (임팩트 자막)

Reels/Shorts/TikTok용 고임팩트 자막 템플릿입니다. 사용자가 이 템플릿으로 동영상에 자막을 추가해 달라고 요청할 때, 아래 설명대로 매개변수를 다시 묻지 않고 적용하세요.

사전 요구사항

  • Premiere Pro (2027/27.0에서 테스트; ExtendScript 사용) 및 Python 3.9+ (pip install -r requirements.txt로 Pillow 설치 필요).
  • Premiere에서 ExtendScript를 실행할 방법: Premiere MCP (execute_extendscript) 또는 CEP 파일 브릿지 — 저장소 루트의 docs/PREMIERE-BRIDGE.md 참조.
  • 폰트: Impact (Windows와 macOS에 기본 탑재) 및 선택적으로 Anton. 폰트를 찾을 수 없으면 CAPTION_FONT_DIR을 설정하세요.
  • 단어별 .mogrt 패키지 (*_WbW.mogrt)가 assets/에 있어야 함 — 저장소에 포함되어 있지 않습니다 (assets/LEIA-ME.md 참조). 이 파일들은 "Anim Speed"/"Out Animation" 컨트롤과 텍스트 필드가 있는 Essential Graphics 템플릿입니다.

매개변수 (진실의 원천: style.json 및 scripts/plan_blocks.py)

  • 형식 9:16 (1080x1920). 텍스트는 대문자, 중앙 정렬, y_center 0.54 (중앙보다 약간 아래).
  • 폰트 Impact. 작은 행 56px (흰색), 큰 행 140px, 일반 행 76px; 필요한 경우 축소 (최소 60%).
  • 블록은 1~6개 단어로 구성되며, 구두점, 0.45초 초과 일시 중지 또는 3.3초 초과 지속 시간 기준으로 분할; 단일 단어(예: o, de, que)로 끝나지 않음.
  • 블록 유형: big_below (위에 작은 행 + 아래에 큰 행, 기본값), big_above (강한 단어가 큰 행으로 위에), single_big, single_small 및 일반 (1행 또는 길면 2행, 표준 크기, 흰색). 각 블록은 40% 확률로 일반 텍스트가 되며, 같은 유형이 최대 2회 연속 가능.
  • 숫자/돈/강한 단어(strong 목록)가 있는 큰 행은 빨간색 #F2381C, 최대 2회 연속 빨간색, 4블록 동안 없으면 1회 강제.
  • 애니메이션: 블록별로 assets/에 있는 .mogrt 중 무작위 선택 (이전과 중복 없음); 같은 블록의 두 행은 동일한 것을 사용. 출력 시 Out Animation 해제(컷). Anim Speed 150 (블록 < 1초면 200).
  • 안전 영역(고정 규칙): Premiere의 title safe(80% x 80% = 각 측면 10% 여백) 밖으로 텍스트가 나가지 않음. make_graphics_script.py에서 구현 (layout_text + clamp_y; style.json의 safe_margin_x/y 및 safe_tolerance): 유효 너비 = 1 - 2*0.10 - 0.02 = 너비의 78% (1080px 기준 842px). 맞지 않는 행: 1) min_scale(60%)까지 축소; 2) 그래도 맞지 않으면 2개(최대 3개) 행으로 분할 (균형 있게 자르고 필요한 만큼만 축소); 크기는 내림 처리되므로 가장 긴 행이 여백을 초과하지 않음. 블록 전체도 높이의 10%~90% 사이에 위치.
  • 전달: 사용자가 복사를 요청하지 않는 한 표시된 시퀀스에 직접 편집 (복사본 만들지 않음).

단계별 절차

  1. 프로젝트 확인: 사용자에게 어떤 프로젝트/시퀀스가 열려 있는지 확인하고 대상 시퀀스를 활성화 (ExtendScript는 활성 시퀀스에서 작동).
  2. 트랜스크립션: 사용자가 Premiere에서 JSON 내보내기 (텍스트 > 트랜스크립션 > 메뉴 ... > 내보내기; Documents 폴더에 "<시퀀스 이름>.json" 저장).
  3. 계획: PYTHONIOENCODING=utf-8 python -I <skill>/scripts/plan_blocks.py <트랜스크립션.json> <폴더>/blocks.json 실행. 요약과 [확인 필요] 단어(신뢰도 < 0.75)를 표시. blocks.json에서 오류 수정 (small/big 필드).
  4. 트랙: 비디오 트랙 목록을 확인. V1 = 비디오. 작은 행은 V2(인덱스 1), 큰 행/일반 행은 V3(인덱스 2), 빨간색 행은 모든 트랙 위에 새 트랙(인덱스 = 현재 트랙 수) 사용. 화면을 가리는 기존 자막/제목 클립이 있으면 비활성화.
  5. 배치 생성: python -I <skill>/scripts/make_graphics_script.py blocks.json <폴더>/lote.js --tracks 1,2,<빨간색인덱스> [--seed N] -> lote_01.js... (각 8클립) 및 lote_clips.json.
  6. 실행 전 여백 확인: python -I <skill>/scripts/check_margins.py <폴더>/lote_clips.json — 결과가 fora da margem: 0 (최대 너비 <= 78%)이어야 함.
  7. 각 배치 실행 Premiere에서 (ExtendScript, script 필드, IIFE + return, JSON.parse/stringify만 사용), 한 번에 하나씩, ok=8/8 확인. 브릿지가 불안정하면 각 배치 전에 연결 확인. 절대 한꺼번에 보내지 말 것 (수십 개 클립을 한 번에 보내면 Premiere가 멈춤).
  8. 빨간색: 빨간색 트랙의 클립을 나열하고 "RGB Color Balance" 효과 적용 (빨강 242, 초록 56, 파랑 28). 클립당 한 번만 — 다시 적용하면 효과가 중복되어 빨간색이 어두워짐 (다시 실행해야 하면 빨간색 트랙 클립을 삭제하고 다시 만드세요).
  9. 확인: 클립의 텍스트/폰트/크기/위치를 다시 읽고 check_margins.py를 다시 실행; 프레임 내보내기가 작동하면 3-4프레임(빨간색, 일반, 2행) 내보내고, 그렇지 않으면 사용자에게 여백 가이드를 켜고 확인해 달라고 요청. 프로젝트 저장.
  10. 전달: 수행된 작업, 의심스러운 단어 및 동영상에서 확인하지 못했음을 알림.

빠른 조정

원하는 것수정할 항목
크기/폰트/위치style.json (mogrt_size_small/big/plain, mogrt_font, y_center, gap)
여백style.json의 safe_margin_x/y, safe_tolerance
일반 텍스트 비율 변경--plain-prob (기본값 0.4)
다른 무작위성--seed
빨간색 비율/블록 크기 변경plan_blocks.py의 RULES 또는 --config regras.json
텍스트 수정blocks.json 수정 후 배치 재생성

대안: 투명 비디오 (.mogrt를 Premiere가 지원하지 않는 경우에만)

render_captions.py blocks.json out.mov --duration <초> --fps 30 명령으로 ProRes 4444 (알파 채널 포함)를 생성합니다 (5프레임 'pop' 인트로, 기본 빨간색, 편집 불가). 가져온 미디어로 타임라인에 배치. 45초 렌더링에 약 5분 소요.

알려진 한계

  • 애니메이션은 템플릿의 시간에 따라 실행되며, 각 단어가 발화되는 정확한 시점과 일치하지 않습니다.
  • 욕설 자동 검열 ("P*RRA")은 지원되지 않습니다 (blocks.json에서 수동 편집).
  • 문장 분할이 어색할 수 있으므로 실행 전에 블록 목록을 검토하세요.
  • .mogrt의 색상은 스크립트로 변경할 수 없습니다 (따라서 빨간색에 색상 효과를 적용).

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬