Claude Info
AI и агенты

claude-shorts

AgriciDaniel/claude-shorts

Инструмент на базе Claude Code для автоматического создания коротких вертикальных видео из длинного контента. Транскрибирует, оценивает сегменты по 5 критериям, рендерит анимированные субтитры через Remotion и экспортирует под YouTube Shorts, TikTok и Instagram Reels.

Установка

terminal
bash
git clone https://github.com/AgriciDaniel/claude-shorts.git

README

claude-shorts

claude-shorts header

Интерактивный инструмент для создания коротких вертикальных клипов из длинных видео на базе Claude Code. Извлекает вирусные вертикальные клипы из длинных видео, используя Claude в роли интеллектуального оркестратора, с премиальными анимированными субтитрами, отрендеренными через Remotion.

Как это работает

Claude Code проводит вас через интерактивный пайплайн из 10 шагов:

  1. Preflight — проверяет входное видео, свободное место на диске, наличие GPU
  2. Transcribe — транскрибирование с GPU-ускорением и временны́ми метками на уровне слов (faster-whisper)
  3. Detect Content — автоматическая классификация: talking-head, запись экрана или подкаст
  4. Analyze — Claude читает полный транскрипт и оценивает 8–12 кандидатов на нарезку
  5. Present — отображает кандидатов в виде таблицы с оценками, хуками и обоснованием
  6. Approve — вы выбираете сегменты, корректируете тайм-коды, выбираете стиль субтитров и платформу
  7. Snap Boundaries — выравнивает точки нарезки по границам слов, концам предложений и паузам в аудио
  8. Prepare — извлекает клипы (FFmpeg stream copy) и вычисляет координаты кадрирования
  9. Render — Remotion рендерит вертикальное видео 1080×1920 с анимированными субтитрами
  10. Export — кодирование с оптимизацией под платформу (YouTube Shorts, TikTok, Instagram Reels)

Демо

Демо-видео/GIF скоро появится — будет показан полный пайплайн от входного файла до готового шорта с субтитрами в стиле Bold.

Возможности

  • Оценка сегментов на базе Claude — рубрика из 5 измерений (сила хука, связность, эмоциональность, плотность ценности, развязка) с взвешенной оценкой. Никакого эвристического поиска по ключевым словам — Claude понимает нарративные дуги.
  • 3 стиля субтитров — Bold (ALL CAPS, жёлтые выделения), Bounce (пружинящая анимация, чередующиеся цвета), Clean (минималистичное появление)
  • Отслеживание курсора — для записей экрана определяет положение курсора мыши через разностный анализ кадров и плавно панорамирует кадрирование вслед за ним
  • Привязка границ к аудио — никогда не режет на середине слова или предложения; расширяет до естественных концов предложений и пауз
  • Рендеринг через Remotion — однопроходный рендеринг на базе React со spring-анимациями, karaoke-подсветкой на уровне слов, текстовыми оверлеями хуков и прогресс-барами
  • GPU-ускорение — CUDA для транскрибирования, NVENC для кодирования при экспорте (с graceful fallback на CPU)

Требования

  • FFmpeg (системный пакет)
  • Python 3.10+
  • Node.js 18+
  • Claude Code (CLI)
  • NVIDIA GPU рекомендуется (для CUDA-транскрибирования + NVENC-кодирования)

Установка

bash
# Клонировать репозиторий
git clone https://github.com/AgriciDaniel/claude-shorts.git
cd claude-shorts

# Установить зависимости Python + Node.js
bash setup.sh

# Установить как скилл Claude Code
bash install.sh

Windows

claude-shorts требует Unix-инструментов (FFmpeg, bash). На Windows используйте WSL 2:

bash
# Внутри WSL
git clone https://github.com/AgriciDaniel/claude-shorts.git
cd claude-shorts
bash setup.sh
bash install.sh

Что делает setup.sh

  • Создаёт виртуальное окружение Python в ~/.shorts-skill/ (или переиспользует ~/.video-skill/, если оно существует)
  • Устанавливает faster-whisper, mediapipe, numpy, opencv-python и PyTorch (вариант с CUDA или CPU)
  • Запускает npm install в директории remotion/
  • Проверяет системные зависимости (FFmpeg, jq)

Использование

В Claude Code вызовите скилл:

/shorts

Затем укажите файл видео по запросу. Claude:

  1. Транскрибирует видео
  2. Представит оценённых кандидатов на сегменты
  3. Спросит, какие сегменты рендерить, стиль субтитров и целевую платформу
  4. Отрендерит и экспортирует готовые шорты

Пример взаимодействия

Вы: /shorts ~/Videos/my-talk.mp4 Claude: [Транскрибирует, определяет тип контента, оценивает сегменты] | # | Время | Дл. | Оценка | Хук | |---|---------------|------|--------|--------------------------------------| | 1 | 04:22 - 05:01 | 39s | 87 | "Nobody talks about this..." | | 2 | 12:45 - 13:28 | 43s | 82 | "Here's the exact framework." | | 3 | 08:11 - 08:52 | 41s | 79 | "I tested this for 6 months." | Claude: Какие сегменты? Стиль субтитров? Платформа? Вы: 1 и 3, стиль bounce, youtube Claude: [Привязывает границы, извлекает клипы, рендерит, экспортирует] Результат: shorts/short_01_yt.mp4, shorts/short_03_yt.mp4

Структура проекта

claude-shorts/ ├── SKILL.md # Интерактивный пайплайн из 10 шагов (скилл Claude Code) ├── CLAUDE.md # Инструкции на уровне проекта ├── install.sh # Установка в ~/.claude/skills/ ├── setup.sh # Установщик зависимостей Python + Node │ ├── scripts/ │ ├── transcribe.py # GPU-транскрибирование через faster-whisper │ ├── detect_content.py # Классификатор типа контента на базе MediaPipe │ ├── compute_reframe.py # Отслеживание лица + курсора + кадрирование │ ├── snap_boundaries.py # Привязка границ к аудио │ ├── preflight.sh # Валидация входных данных + проверка места на диске │ ├── detect_gpu.sh # Определение наличия NVIDIA NVENC │ └── export.sh # Кодирование FFmpeg под конкретную платформу │ ├── remotion/ │ ├── package.json # Remotion v4 + React 19 + Zod │ ├── render.mjs # Оркестратор «один бандл — много рендеров» │ ├── remotion.config.ts │ └── src/ │ ├── Root.tsx # Реестр композиций │ ├── ShortVideo.tsx # Основная композиция │ ├── types.ts # Zod-схемы для пропсов │ ├── components/ │ │ ├── VideoFrame.tsx # Перекадрированное видео с анимированным панорамированием │ │ ├── Captions.tsx # Диспетчер стилей субтитров │ │ ├── BoldCaptions.tsx # Bold ALL CAPS, spring-появление │ │ ├── BounceCaptions.tsx # Пружинящий масштаб, яркие цвета │ │ ├── CleanCaptions.tsx # Минималистичное появление │ │ ├── HookOverlay.tsx # Текст хука в первые 3,5 секунды │ │ └── ProgressBar.tsx # Прогресс-бар

Похожие скиллы