hyperion-reels
Horosheff · Horosheff/hyperion-reels
This Cursor plugin uses 20+ subagents, Whisper, and FFmpeg to automatically cut long videos into short vertical clips for social media.
Гиперион — субагентская нарезка Shorts/Reels: 20+ агентов Cursor, Whisper, FFmpeg, 4 режима монтажа, publish desk и параллельная публикация в YouTube, Instagram, TikTok, VK, RuTube и Дзен.
Preview
What you can do with it
- Automatically create YouTube Shorts from webinars.
- Convert podcasts into Instagram Reels.
- Produce TikTok videos from talking head footage.
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
Гиперион
Субагентская система для нарезки Shorts / Reels · режимы монтажа · publish desk · YouTube · Instagram · TikTok · VK · RuTube · Дзен
Гиперион · 20+ субагентов · Cursor Agent · Whisper · FFmpeg · обложки · параллельная публикация
Что это
Гиперион (hyperion) — плагин для Cursor, который превращает длинное видео (вебинар, эфир, урок, подкаст, talking head) в набор вертикальных клипов для YouTube Shorts / Instagram Reels / TikTok / Telegram / VK / Дзен.
Система не режет «по таймеру». Субагенты понимают речь, выбирают законченные мысли в диапазоне min–max из UI (например 30–90 с), отбраковывают слабое, уточняют границы и только потом режут, субтитруют и упаковывают.
Что нового в 0.4.8
| Возможность | Суть |
|---|---|
| Чёткость Q1 | Все даунскейлы — scale:flags=lanczos + лёгкий unsharp после кадрирования: картинка перестаёт «мылить» |
| Цвет Q2 | HDR-исходники (iPhone smpte2084/HLG) — zscale+tonemap=hable → bt709, больше никакой «серой» картинки; SDR — лёгкий грейд |
| Encode-полировка | level 5.1 (4.1 ломал 1080×1920@60), потолок битрейта 12M/24M release, fps-cap 60 для slow-mo источников |
| Отключаемо | VIDEOSHORTS_SHARPEN=0, VIDEOSHORTS_COLOR_GRADE=0 |
Что нового в 0.4.7
| Возможность | Суть |
|---|---|
| Логи в файл | scripts/vs_logging.py: каждый ключевой скрипт пишет videoshorts-memory/logs/<script>.log (ротация 3×2 МБ), crash-traceback больше не теряется; VIDEOSHORTS_LOG_LEVEL / VIDEOSHORTS_LOG_DIR |
| Лимиты API платформ | validate metadata отклоняет заведомо непроходящие поля: YouTube title 100 / description 5000 / tags 500, Instagram/TikTok caption 2200, Telegram caption 1024, VK/RuTube title 100 |
| Data-flow контракты | docs/DATA-FLOW.md: входы/выходы каждого субагента, гейты, все env-ручки в одной таблице |
| P1-остатки | Таймаут стадий run_pipeline.py, атомарная запись pipeline-fix-queue.md |
| Тесты | 54 юнит-теста: json_store, UI security, лимиты метаданных, agent_gate, vs_logging |
Что нового в 0.4.6
| Возможность | Суть |
|---|---|
| Атомарные JSON | scripts/json_store.py: tmp + os.replace + межпроцессный lock — publish-queue.json, latest-results.json, run-status.json больше не бьются при параллельной публикации |
| Security UI bridge | Path confinement /ui/ → ui/ только, denylist secrets/.env/.git, same-origin CSRF gate на POST, CORS вместо * — echo только localhost-Origin |
| Таймауты везде | ffmpeg/whisper/Playwright publish/login больше не висят вечно: VIDEOSHORTS_FFMPEG_TIMEOUT, VIDEOSHORTS_WHISPER_TIMEOUT, VIDEOSHORTS_PUBLISH_TIMEOUT, VIDEOSHORTS_PUBLISH_CLIENT_TIMEOUT, VIDEOSHORTS_LOGIN_TIMEOUT + stderr tail в логах |
| Playwright в deps | ensure_dependencies.py проверяет и ставит playwright + chromium браузер |
| Editorial-bundle gate | boundary-refiner и cutter обязаны прогонять validate_agent_artifacts.py editorial-bundle перед резкой |
Что нового в 0.4.5
| Возможность | Суть |
|---|---|
| YouTube Shorts | Playwright Studio: recommended hashtags, теги Shift+Enter, плейлист, Public |
| Instagram Reels | Playwright Reels без Windows file dialog |
| Мультипубликация | Results UI: галочки → все платформы стартуют параллельно |
| TikTok / VK / RuTube / Дзен | Встроенные Playwright-клиенты в том же «Опубликовать по галочкам» |
| 4 режима монтажа | Обычный · Вебинар · Подкаст · Продажи |
| Slim Agent P0 | Решения пишет агент (decision_source=agent), не эвристика |
| Длина клипов из brief | clip_count / min_sec / max_sec — spread short/mid/long |
| Publish desk | Results UI → галочки → обложки → очередь READY_TO_PUBLISH |
| UI Гиперион | Локальный bridge http://127.0.0.1:8765/ — загрузка, параметры, результаты |
20+ субагентов работают как монтажная студия: intake, transcriber, editor, boundary-refiner, cutter, guardian, metadata, packager, cover-writer, publish-prep и другие.
Кнопки
Схема работы
flowchart LR
A[📹 Длинное видео] --> B[🧠 Whisper + смысл]
B --> C[✂️ Редакция субагентов]
C --> D[🎬 Монтаж 9:16 · 4 режима]
D --> E[🔤 Субтитры]
E --> F[✅ Guardian QA]
F --> G[📝 SEO titles]
G --> H[📦 Publish bundle]
H --> I[☑️ Выбор клипов]
I --> J[🖼 Обложки + очередь]
J --> K[🚀 YouTube / IG / TikTok / VK / RuTube / Дзен]
Подробная схема: docs/ARCHITECTURE.md
Роли агентов: docs/AGENTS.md
Публикация (SEO → галочки → обложки → очередь → параллельный publish): docs/PUBLISH.md
Монитор Playwright (по умолчанию №1 = правый): docs/PLAYWRIGHT-DISPLAY.md
Пайплайн одной строкой
Intake → Whisper → Cleanup∥Candidates → Moments → Editor
→ Boundary(+montage) → Cutter(+loudnorm, layout) → Subtitles∥Metadata
→ Burn → Guardian → Packager → Results UI → Covers → Publish queue
→ YouTube∥Instagram∥TikTok∥VK∥RuTube∥Дзен
Slim P0: scorekeeper / virality / dramaturg / audio-polisher / post-render — внутри editor / boundary / cutter / guardian (отдельные Task только для ремонта).
⚡ Быстрая установка
Windows (рекомендуется)
git clone https://github.com/Horosheff/hyperion-reels.git
cd hyperion-reels
.\bootstrap-videoshorts.ps1
.\install-plugin.ps1
Затем перезапустите Cursor.
Полная инструкция без ошибок (для людей и для нейросетей):
👉 docs/INSTALL.md
Что делает bootstrap
| Шаг | Действие |
|---|---|
| 1 | Проверяет Python 3.10+ |
| 2 | Ставит pip-зависимости (faster-whisper, OpenCV, MediaPipe…) |
| 3 | Пытается установить FFmpeg (winget install Gyan.FFmpeg) |
| 4 | Пишет отчёт videoshorts-memory/dependencies-report.json |