Agent Skill
2/7/2026

shorts-generator

쇼츠 영상 생성 통합 Skill. Claude Vision으로 이미지 분석, Phase 분류, 자막 생성, TTS 음성, FFmpeg 영상 합성 자동화.

G
garimto81
1GitHub Stars
2Views
npx skills add garimto81/claude

SKILL.md

Nameshorts-generator
Description쇼츠 영상 생성 통합 Skill. Claude Vision으로 이미지 분석, Phase 분류, 자막 생성, TTS 음성, FFmpeg 영상 합성 자동화.

name: shorts-generator description: > 쇼츠 영상 생성 통합 Skill. Claude Vision으로 이미지 분석, Phase 분류, 자막 생성, TTS 음성, FFmpeg 영상 합성 자동화. version: 2.0.0

triggers: keywords: - "shorts" - "쇼츠" - "영상 생성" - "마케팅 영상" - "휠 복원 영상" file_patterns: - "/shorts-generator/" - "**/output/*.mp4" context: - "쇼츠 영상 제작" - "이미지 기반 영상 생성" - "마케팅 콘텐츠 제작"

capabilities:

  • list_groups
  • list_photos
  • analyze_images_claude
  • generate_subtitles
  • generate_tts
  • create_video
  • batch_workflow

model_preference: sonnet auto_trigger: false token_budget: 5000

Shorts Generator Skill

PocketBase에서 사진을 가져와 마케팅용 쇼츠 영상을 생성합니다. Claude Read 도구로 이미지를 직접 분석하여 자막과 Phase를 생성합니다.

워크플로우

Phase 1: 사진 다운로드

PocketBase에서 그룹별 사진을 다운로드합니다.

node .claude/skills/shorts-generator/scripts/download-photos.js <group_id> --limit=50

출력:

{
  "count": 15,
  "files": ["l7v0rfmav504yup.jpg", "49zhdkcixcjmgos.jpg", ...]
}

Phase 2: Claude Vision 분석

각 이미지를 Read 도구로 분석합니다.

이미지 분석 방법:

Read("temp/l7v0rfmav504yup.jpg")

분석 프롬프트:

이 휠 복원 작업 이미지를 분석하세요.

JSON 형식으로 반환:
{
  "phase": "overview|before|process|after",
  "subtitle": "15자 이내 마케팅 문구",
  "confidence": 0.0-1.0
}

Phase 분류 기준:
- overview: 차량 전체 모습, 작업장 전경
- before: 손상/오염 상태, 스크래치, 브레이크 더스트
- process: 작업 중, 세척, 도장, 연마
- after: 복원 완료, 깨끗한 상태, 광택

분석 결과 수집: 모든 이미지 분석 결과를 배열로 수집:

{
  "subtitles": [
    {
      "id": "l7v0rfmav504yup",
      "file": "l7v0rfmav504yup.jpg",
      "phase": "after",
      "subtitle": "6시간의 정성이 담긴 결과",
      "confidence": 0.95
    },
    ...
  ]
}

Phase 3: 결과 저장

분석 결과를 JSON 파일로 저장합니다.

node .claude/skills/shorts-generator/scripts/save-subtitles.js --input='{"subtitles":[...]}'

출력:

  • output/subtitles.json 파일 생성
  • Phase 순서로 자동 정렬 (overview → before → process → after)

Phase 4: 영상 생성

기존 CLI를 호출하여 영상을 생성합니다.

node src/index.js create -g <group_id> --auto -n 50 --subtitle-json ./output/subtitles.json --tts

주요 옵션:

  • --auto: 대화형 프롬프트 생략
  • -n 50: 그룹 전체 사진 사용
  • --subtitle-json: Claude Vision 자막 적용
  • --tts: TTS 음성 생성
  • --tts-voice sunhi: 음성 선택 (sunhi/hyunsu/jimin 등)

Phase 5: 결과 보고

생성된 영상 정보를 보고합니다.

항목
출력 파일output/shorts_*.mp4
해상도1080x1920
코덱H.264 High Profile
AI 모델Claude Sonnet 4.6

Phase 분류 기준

Phase시각적 특징자막 톤
overview차량 전체, 작업장 전경소개, 기대감
before손상, 스크래치, 오염문제 인식
process세척, 연마, 도장전문성, 꼼꼼함
after깨끗, 광택, 완성결과, 만족감

자막 작성 규칙

  1. 15자 이내 - 한글 기준
  2. 순한글 사용 - 외래어 최소화
  3. Phase에 맞는 톤 - before는 손상, after는 완성
  4. 다양한 표현 - 동일 패턴 반복 금지

예시:

Phase좋은 예나쁜 예
overview"오늘의 주인공, 마이바흐 GLS""차량입니다"
before"브레이크 더스트와 스크래치 가득""완벽한 휠 광택"
process"꼼꼼한 세척이 기본입니다""정밀 복원 완료"
after"6시간의 정성이 담긴 결과""정밀 복원으로 완성된 휠"

관련 파일

파일설명
src/index.jsCLI 진입점 (영상 생성)
src/api/pocketbase.jsPocketBase API
src/video/generator.jsFFmpeg 파이프라인
src/audio/tts.jsEdge TTS 음성 생성
scripts/download-photos.js사진 다운로드 래퍼
scripts/save-subtitles.js자막 저장 래퍼

주의사항

  1. 이미지 수 제한: 한 번에 최대 20개 권장 (토큰 제한)
  2. 이미지 크기: 큰 이미지는 자동으로 리사이즈됨
  3. 지원 형식: JPG, PNG, WebP
  4. temp 폴더: 분석 후 자동 정리되지 않음
Skills Info
Original Name:shorts-generatorAuthor:garimto81