Кузница коротких видео из длинных подкастов
Кладёте двухчасовое интервью в папку input/ — забираете готовые вертикальные клипы с вшитыми субтитрами, описаниями и хештегами. Всё локально: ни одна секунда звука не уходит в облако.
- Python 3.10+
- faster-whisper large-v3
- llama.cpp + Gemma
- FFmpeg / NVENC
- MIT
- ~5 минна час аудио (fast-режим, RTX 5060 Ti)
- 5 ролейLLM-конвейер: scout → judge → metadata
- 9:16умный кроп с трекингом лица
- 0 ₽облачных API — всё на вашей машине
// пайплайн
От записи до рилса — четыре удара молота
Оркестратор ведёт каждый файл через стадии и кэширует результаты: упавший этап перезапускается, готовые не пересчитываются. Нажмите на стадию — расскажу подробнее.
faster-whisper large-v3 на CUDA превращает звук в текст с пословными таймкодами. Два режима: fast — батчевый, ~5 минут на час звука, и quality — последовательный с контекстом, вытягивает тихие и шумные записи. Встроенная защита от галлюцинаций гасит бесконечные «Спасибо.» на тишине.
Опциональная диаризация (pyannote) размечает, где чья реплика, — чтобы клип не обрывал собеседника на полуслове и кроп знал, за чьим лицом следить.
Ролевой конвейер на локальных Gemma-моделях через llama.cpp: разведчик находит кандидатов, чистильщик выкидывает мусор, редактор подрезает границы, судья выставляет виральные оценки, а метаданные пишут описание и пять хештегов к каждому клипу. Watchdog перезапускает зависшую генерацию.
- scout
- →
- cleanup
- →
- refine
- →
- judge
- →
- metadata
FFmpeg + NVENC (~5× быстрее софтверного кодирования) нарезает клипы, ведёт вертикальное окно 9:16 за лицом спикера с медианным сглаживанием и вшивает стилизованные ASS-субтитры. Рядом с каждым клипом — reel_XX.md с описанием и reels_preview.mp4 со всеми клипами подряд.
// транскрибация
Быстро или дотошно — решаете вы
Один и тот же час аудио — два сценария. Переключите режим и сравните.
Fast — батчевый: сегменты обрабатываются независимо. Идеален для чистых студийных записей и быстрых черновиков.
// smart crop
Кадр сам следит за спикером
MediaPipe находит лица на нескольких точках клипа, и окно 9:16 плавно ведётся за спикером с медианным сглаживанием — без дёрганья. Нет лица — честный центр-кроп с пометкой в логе.
// интерфейс
Браузерный GUI — без сервера
Статические страницы с Material Design 3: собирают config.yaml один-в-один с конфигом пайплайна, а визуальный редактор ASS-стиля с превью на «телефоне» сохраняет стиль прямо туда, откуда его читает рендер. Двуязычный, RU/EN.



// что ещё в кузнице
Мелочи, которые экономят вечера
- 📦Batch-обработка
Несколько видео в
input/— Forge проходит их по очереди, пропуская уже готовые стадии. - 🛡️Анти-галлюцинации
Temperature-ladder и repetition penalty гасят зацикливания Whisper на тишине и музыке.
- 🐶Watchdog для LLM
Модель молчит дольше таймаута — генерация перезапускается автоматически.
- 🎚️Типы клипов
Stories, Reels и Highlights настраиваются отдельно: количество и длительность.
- ♻️Перегенерация без AI
rerender_videos.pyпересобирает видео с новыми параметрами, не повторяя анализ. - 🧯Деградация без падений
OOM — батч делится пополам вплоть до CPU; нет NVENC — тихий откат на libx264.
// результат
Что окажется в output/
output/my_podcast/ ├── video.json # транскрипт с таймкодами ├── diarization.json # спикеры (опционально) └── gemma4/ ├── judge_report.json # оценки виральности ├── moments.json # финальные моменты ├── reels.md # сводка клипов ├── reels/ │ ├── reel_01.mp4 # готовый клип 9:16 с сабами │ ├── reel_01.md # описание + 5 хештегов │ └── reel_01.srt └── reels_preview.mp4 # все клипы одним файлом
Час монтажа — за чашку кофе
Открытый код, MIT, подробный USER_GUIDE и русскоязычный README. Если Forge экономит вам вечера — можно поддержать разработку.
Поддержать Podcast Reels Forge Кузница экономит вам вечера монтажа — купите автору кофе. donationalerts.com/r/bormotoon