30.09.2026 721 материалов

Как автоматизировать создание recap-видео из манхвы с помощью открытого AI-пайплайна

Разработчик создал AniFlow — открытый инструмент, который превращает главы манхвы в готовые recap-видео с озвучкой. Пайплайн работает целиком локально и не требует подписок.

Как автоматизировать создание recap-видео из манхвы с помощью открытого AI-пайплайна

Весь конвейер — от скачивания страниц до рендеринга готового видео с озвучкой — запускается на домашней машине без единого API-ключа. Вопрос лишь в том, хватит ли вам терпения на настройку и хватит ли GPU на генерацию.

Что такое AniFlow и зачем он нужен

На YouTube существуют каналы с миллионами подписчиков, которые публикуют короткие видео-рецензии манхвы (корейских комиксов). Формат простой: драматичная озвучка поверх плавно сдвигающихся панелей, 8–12 минут на ролик, десятки тысяч просмотров. Индийский разработчик Аашиш Кумар Махато решил автоматизировать этот процесс и выложил свой инструмент под лицензией MIT.

Репозиторий: github.com/aashish254/Aniflow

AniFlow — это не единое приложение в привычном смысле, а скорее конвейер из нескольких модулей, связанных скриптами. Каждый этап решает конкретную задачу компьютерного зрения или генерации текста. Разберём архитектуру по шагам — с акцентом на то, что реально работает, а где автору приходится идти на компромиссы.

Этап 1: загрузка главы

Пользователь указывает URL главы на вебтун-платформе или путь к локальной папке с изображениями. Скрипт скачивает страницы в порядке чтения. На этом этапе технических сложностей нет — по сути, это парсинг изображений с сайта, аналогичный любому веб-скрейперу.

Этап 2: детекция панелей (YOLOv8) — самый сложный шаг

Манхва отличается от классических комиксов: страницы оформлены как вертикальные полосы (webtoon-формат), а панели могут быть произвольной формы, часто с непрямоугольными границами и сложными перекрытиями.

Для разбиения страницы на отдельные кадры используется YOLOv8 — одна из самых популярных моделей детекции объектов в реальном времени. Модель обучена на размеченных данных — разработчик указывает границы панелей, а YOLOv8 учится их находить.

Автор открыто признаёт: это оказалась самая трудоёмкая часть проекта. Детектор, обученный на одной серии, плохо работает на другой из-за радикальных различий в стилях рисовки. Даже в рамках одного жанра арт может варьироваться от минималистичного до детализированного. Получить стабильную точность на широком корпусе манхвы — задача, которая до конца не решена.

Инженерный компромисс: автор в ретроспективе признаёт, что стоило больше времени потратить на разнообразие обучающих данных, а не на подкручивание архитектуры модели. Это классическое наблюдение в машинном обучении — качество данных почти всегда важнее хитрости модели.

Этап 3: распознавание текста и диалогов

После вырезания панелей запускается второй проход детекции — на этот раз для поиска пузырей с речью. Далее применяется OCR (оптическое распознавание символов), чтобы извлечь текст диалогов.

OCR на корейских, японских или английских текстах внутри иллюстраций — задача нетривиальная. Шрифты в манхве стилизованы, пузыри могут перекрываться с артом, а качество сканов варьируется. Какой именно OCR-движок используется в AniFlow, автор не уточняет — потенциальная точка отказа.

Извлечённый текст служит «сырьём» для написания сценария озвучки.

Этап 4: удаление пузырей и инпейнтинг

Для режима «рассказанная история» (narrated recap) нужно убрать речевые пузыри с изображений, чтобы озвучка шла поверх чистого арта. Это задача инпейнтинга — заполнения вырезанной области подходящими по контексту пикселями.

Современные диффузионные модели (Stable Diffusion и аналоги) умеют делать инпейнтинг, но на детализированных фонах манхвы результат часто заметен: размытые края, неправильные текстуры, несовпадение стиля. Автор называет это второй по сложности проблемой проекта. Уровень «артефактности» не раскрыт — без массового тестирования сложно оценить, насколько хорошо это работает на практике.

Этап 5: генерация сценария (LLM)

Извлечённые диалоги и визуальный контекст отправляются в языковую модель. По умолчанию используется Ollama (локальный запуск LLM), опционально — Gemini или Claude через облако. Модель получает промпт, настроенный на «драматичный» стиль recap-каналов, и генерирует текст озвучки панель за панелью.

Что это значит на практике: качество сценария напрямую зависит от промпта и от способности модели понимать контекст визуальной истории. LLM не «видит» изображения напрямую — она работает с извлечённым текстом диалогов и, вероятно, с кратким описанием содержимого панелей. Если на каком-то кадре действие понятно только по картинке, но не по репликам, текст может получиться неточным.

Этап 6: озвучка (TTS)

Для преобразования текста в голос используется синтез речи (Text-to-Speech). Варианты:

  • Edge TTS — бесплатный движок от Microsoft, работает через интернет, но не требует API-ключа.
  • Kokoro — локальная TTS-модель, полностью оффлайн.
  • ElevenLabs — платный сервис с высоким качеством, опционально.

Предусмотрена мультиголосность: один голос для повествования, другой — для диалогов. Это стандартная практика для recap-каналов, и её реализация на уровне TTS давно не представляет технической сложности.

Этап 7: рендеринг видео (FFmpeg)

Финальный шаг — сборка всего в готовый вертикальный ролик. Используется FFmpeg — классический инструмент для обработки видео на уровне командной строки. Поверх панелей применяется эффект Ken Burns (медленное панорамирование и зум), добавляются фоновая музыка, субтитры, водяные знаки.

Выходной формат — вертикальное видео, готовое для загрузки на YouTube или TikTok. Два режима:

  • Dialogue recap: оригинальные пузыри с текстом остаются видимыми, озвучка читает только диалоги.
  • Narrated recap: пузыри удалены, AI рассказывает историю целиком в стиле recap-канала.

Батч-режим и автономность

AniFlow поддерживает пакетную обработку — можно загрузить 50+ глав и запустить конвейер на ночь. Заявлено, что вся обработка идёт локально: Ollama для текста, Kokoro или Edge TTS для голоса, FFmpeg для видео. Никаких подписок, никаких данных не покидает машину.

Это выглядит привлекательно на бумаге, но есть нюансы. Локальный запуск LLM требует значительных ресурсов — даже quantized-модели в 7B параметров потребляют 6–8 ГБ видеопамяти. Батч из 50 глав с детекцией YOLOv8, инпейнтингом и TTS на одном GPU может занять не одну ночь, а несколько. Автор не приводит бенчмарков времени обработки — это заметный пробел.

Что реально нового

AniFlow не изобретает отдельные технологии — YOLOv8, инпейнтинг, LLM и TTS существуют и применяются по отдельности. Ценность проекта в том, что он связывает эти этапы в единый пайплайн с веб-интерфейсом и делает это под открытой лицензией.

До этого энтузиасты recap-каналов либо делали всё вручную (вырезка панелей, монтаж, запись голоса), либо использовали закрытые платформы с подписками. Локальный open-source аналог — ниша, которую AniFlow пытается занять.

Ограничения и вопросы

Скептицизм здесь уместен по нескольким причинам:

  • Релиз v0.1.0 — это начальная стадия. Ни о какой зрелой инфраструктуре речи не идёт.
  • Нет бенчмарков: автор не публикует данные о точности детекции панелей, качестве инпейтинга или времени обработки.
  • Лицензионные риски: автоматическая переработка чужих комиксов в видео — зона авторского права. Многие recap-каналы существуют на грани fair use; автоматизация процесса лишь усугубляет вопрос.
  • Качество на выходе: без демонстрации на широком наборе серий невозможно оценить, насколько «upload-ready» получаются видео. Рекламные примеры из README могут не отражать типичный результат.

Итого

AniFlow — интересный инженерный проект, демонстрирующий, как далеко продвинулись инструменты компьютерного зрения и генеративного AI. Полностью локальный пайплайн без подписок — реальное достижение, если ресурсов машины хватает.

Для массового использования инструмент пока сыров: v0.1.0, нет метрик, нет масштабного тестирования. Но как proof of concept и отправная точка для энтузиастов — вполне достойный вклад. Если вас интересует автоматизация контента на основе комиксов и вы готовы мириться с ограничениями раннего релиза, репозиторий открыт для экспериментов.