Communitygithub.com

mrvijaykr56/youtubeshorts

YouTube Shorts 시각적 감독 및 이미지 생성 스킬. 캐릭터/세계관 일관성을 유지하며 9:16 수직 이미지를 배치 생성하고, Antigravity의 generate_image 도구를 활용해 스토리보드를 시네마틱 Imagen 3 프롬프트로 변환합니다.

youtubeshorts란 무엇인가요?

이 스킬은 AI 에이전트가 YouTube Shorts 제작을 위해 시각적으로 일관된 9:16 수직 이미지를 생성하도록 안내합니다. Antigravity의 `generate_image` 도구를 핵심으로 사용하며, 캐릭터 디자인, 조명, 배경 설정을 고정하는 '캐릭터 DNA 청사진'과 '세계관 및 조명 앵커'를 통해 장면 간 시각적 일관성을 보장합니다. 또한 `ImagePaths` 파라미터를 활용한 시각적 참조 체이닝으로 첫 장면의 시각적 특징을 후속 장면에 전달합니다. 생성 전에는 스토리보드 유효성 검사기와 사용자 승인 단계를 거쳐 토큰 낭비를 방지하며, 생성된 이미지는 YTShorts 렌더링 파이프라인의 표준 명명 규칙에 따라 배포됩니다. 최종적으로 어셈블리 도구를 호출하여 TTS 내레이션, ASS 자막, 음악이 포함된 완성된 .mp4 영상을 생성합니다. 이 스킬은 Antigravity 플랫폼에서 동작하며, 캐릭터 일관성이 중요한 5~20장 분량의 쇼츠 제작에 특히 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/mrvijaykr56/youtubeshorts/tree/HEAD/.agents/skills/shorts-image-director

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

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

문서

YouTube Shorts 시각적 감독 및 이미지 생성 스킬

이 스킬은 에이전트가 Antigravity의 네이티브 generate_image 기능을 사용하여 응집력 있고 시네마틱한 9:16 수직 장면을 생성하도록 안내합니다.


1. 시각적 일관성 프레임워크 (캐릭터 및 세계관 동기화) 👥🌍

쇼츠용 5~20개의 이미지를 생성할 때 스타일이나 캐릭터의 변화(drift)를 피하는 것이 매우 중요합니다. 캐릭터의 얼굴, 옷, 환경이 장면 사이에서 무작위로 바뀌면 영상의 몰입감이 깨집니다.

장면 간 동기화의 3가지 기둥:

  1. 캐릭터 DNA 청사진:

    • 캐릭터가 등장하는 모든 장면에서 동일한 5가지 캐릭터 공식을 그대로 사용합니다. [이름 + 나이/성별] + [헤어스타일 및 색상] + [얼굴 특징] + [정확한 의상 아이템 및 색상]
    • 예시: "마야, 26세 여성 고고학자, 흐트러진 곱슬 검은 머리를 포니테일로 묶음, 주근깨, 올리브색 린넨 사파리 셔츠와 황동 나침반 목걸이를 착용"
    • "그녀는 ~처럼 보인다" 또는 "그 여자는" 같은 일반적인 용어로 대체하지 마십시오.
  2. 세계관 및 조명 앵커:

    • 모든 장면 프롬프트 앞에 공유 환경 설명을 정의합니다. [배경] + [주 광원 및 색온도] + [그림자 스타일] + [분위기]
    • 예시: "지하 고대 이집트 사암 무덤, 깊은 깜박이는 그림자를 드리우는 따뜻한 호박색 횃불, 떠다니는 황금빛 먼지 입자, 어두운 코발트색 배경."
  3. 시각적 참조 체이닝 (ImagePaths 파라미터) 🔗:

    • Antigravity의 generate_image 도구는 네이티브로 ImagePaths (이전 이미지를 시각적 조건 참조로 전달)를 지원합니다.
    • 워크플로우:
      1. 장면 1 생성 (마스터 캐릭터와 조명 설정).
      2. scene_1.jpg 저장.
      3. 장면 2, 3, 4... 에 대해 generate_image 호출 시 ImagePaths: ["<path_to_scene_1.jpg>"] 전달.
      4. 이렇게 하면 장면 1의 시각적 잠재 특징이 Imagen 3에 직접 전달되어 후속 모든 장면에서 얼굴 형태, 의상 색상, 환경 톤을 고정합니다!

2. 사전 검증 및 사용자 승인 🛑

필수 요구 사항 (토큰 낭비 제로): generate_image 호출을 실행하기 전에:

  1. 사전 점검 스토리보드 검증기 실행:
    .\backend\venv\Scripts\python.exe backend\scripts\storyboard_validator.py --json "path/to/script.json"
    
    • 차단 오류가 0개여야 합니다 (예: 금지된 텍스트 토큰 없음, 유효한 9:16 신호, 60초 쇼츠 상한선 이내).
  2. 검증된 스토리보드 및 아트 스타일을 검증 통계와 함께 사용자에게 제시합니다.
  3. 명시적인 사용자 승인을 요청합니다:

    "스토리보드가 모든 사전 안전 검사를 통과했습니다 (오류 0개, 예상 길이 ~X초). 이 [N]개의 9:16 이미지 생성을 진행할까요, 아니면 먼저 특정 장면이나 스타일 파라미터를 수정하시겠습니까?"

  4. 사용자가 명시적으로 확인할 때까지 이미지를 생성하지 마십시오.

3. Antigravity generate_image로 이미지 생성

(사용자 승인 후) 스토리보드의 각 장면에 대해:

  1. 생성 전 중복/캐시 확인 🛑:

    • 대상 폴더(backend/output/<job_id>/)에 scene_{X}.jpg 또는 scene_{X}.png가 이미 존재하고 유효한지(>10KB) 확인합니다.
    • 이미 존재하는 경우, 사용자가 해당 장면을 명시적으로 재생성/재시도하도록 요청하지 않는 한 재생성을 건너뜁니다 (토큰 낭비 방지).
  2. 최종 프롬프트 합성 (고유한 카메라 프레이밍 보장):

    [세계관 앵커] + [캐릭터 앵커] + [장면 액션 및 별개의 카메라 각도] + [전체 아트 스타일 템플릿] + [9:16 수직 구성]
    
    • 이전 장면과 다른 카메라 샷(예: 와이드 vs 매크로 vs 반응)을 사용하여 시각적으로 동일한 스틸이 생성되지 않도록 합니다.
  3. 도구 호출: 다음 파라미터로 generate_image를 호출합니다:

    • AspectRatio: "9:16"
    • ImageName: scene_1, scene_2, scene_3 등 (장면별로 엄격하게 고유해야 함).
    • Prompt: 합성된 프롬프트.
    • ImagePaths: 장면 2..N의 경우 시각적 컨디셔닝을 위해 ["<path_to_scene_1.jpg>"]를 전달합니다.
  4. 배치 생성: 장면을 순차적으로 또는 장면 그룹별로 생성합니다 (쇼츠당 최대 20개).


4. YTShorts 파이프라인에 에셋 배포

Antigravity가 이미지를 생성한 후:

  1. Antigravity는 생성된 이미지를 대화 아티팩트 디렉토리에 저장합니다: C:\Users\<user>\.gemini\antigravity-ide\brain\<conversation-id>\*.png

  2. 이미지를 YTShorts 출력/작업 디렉토리로 복사하거나 링크합니다: d:\WorkSpace\YTShorts\backend\output\<job_id>\ 백엔드에서 요구하는 표준 명명 규칙:

    • scene_1.png
    • scene_2.png
    • scene_3.png
    • ...
  3. 스토리보드 JSON과 쌍을 이룹니다: script.json을 같은 디렉토리에 저장합니다: d:\WorkSpace\YTShorts\backend\output\<job_id>\script.json


5. 비디오 렌더링 트리거 🚀

이미지와 script.json이 backend/output/<job_id>/에 준비되면 독립형 어셈블리 도구를 실행합니다:

.\backend\venv\Scripts\python.exe backend\scripts\assemble_short.py --job_dir "backend/output/<job_id>" --voice in_female --caption_style tiktok --music lofi --resolution 1080p --transition dynamic

이 단일 명령은 자동으로:

  1. 고품질 TTS 내레이션을 합성합니다 (Edge-TTS / KittenTTS).
  2. Whisper를 통해 단어 수준 동기화 ASS 자막을 생성합니다.
  3. 광학 전환(xfade), Ken Burns 팬/줌 모션, 배경 음악(오디오 덕킹 포함), 자막 번인을 한 번에 렌더링하여 최종 1080p/4K .mp4 비디오를 생성합니다!

6. 채널 브랜딩 및 커뮤니티 에셋 생성 🎨📊

9:16 수직 스토리 장면 외에도, 시각적 감독은 Antigravity의 네이티브 generate_image 도구를 사용하여 마케팅 에셋을 생산합니다:

  1. 커뮤니티 탭 이미지 투표 (1:1 정사각형):

    • 캐릭터를 1024x1024 정사각형 카드로 생성하거나 중앙을 기준으로 자릅니다.
    • backend/output/community_poll_assets/에 카드를 저장합니다 (예: poll_1_character.jpg).
    • 이미지 투표는 새 채널에서 일반 텍스트 게시물보다 3~5배 더 많은 도달률을 생성합니다.
  2. 채널 아바타 마스코트 (1:1 정사각형):

    • 반짝이는 표정의 눈을 가진 중앙 정렬 1024x1024 3D 픽사 캐릭터 초상화를 생성하고, 빛나는 스토리북을 들고 있습니다.
    • backend/output/channel_branding/channel_avatar_1024x1024.jpg에 저장합니다.
  3. 파노라마 채널 배너 (16:9 가로):

    • 채널의 반복되는 세계를 보여주는 16:9 파노라마 시네마틱 풍경을 생성합니다.
    • Lanczos 필터로 2560x1440으로 업스케일합니다.
    • backend/output/channel_branding/channel_banner_2560x1440.jpg에 저장합니다.
  4. 외부 API 사용 금지:

    • 항상 Antigravity의 네이티브 generate_image 도구를 우선시합니다. 검증되지 않은 무료 외부 이미지 API로 대체하지 마십시오.

Individual skills in this repo

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

관련 스킬