
Shorts Maker v2: возобновляемый pipeline генерации коротких AI‑видео на Python
Автор раскрывает, как превратить прототип AI‑видеогенератора в надёжный production pipeline с DDD, чекпоинтами, ограниченной конкурентностью и заменяемыми провайдерами.
В статье на Habr AI разработчик делится опытом создания Shorts Maker v2 — генератора коротких видеороликов, работающего полностью на Python. Основная цель проекта — перейти от экспериментального прототипа к стабильному production pipeline, способному выдерживать сбои и масштабироваться.
Для достижения этой цели автор использовал Domain‑Driven Design (DDD), разделив систему на три уровня: Application, Domain и Infrastructure. Такой подход упростил замену AI‑провайдеров (Stable Diffusion, Runway, Sora и др.) без изменения бизнес‑логики.
Ключевой особенностью v2 стали чекпоинты после каждой сцены. После генерации отдельного кадра система сохраняет промежуточный статус в базе (SQLite) и в облачном хранилище. При падении процесса можно быстро восстановить работу, начиная с последнего успешного чекпоинта, что существенно снижает время простоя.
Для контроля нагрузки введена ограниченная конкурентность: одновременно работают не более N задач (по умолчанию 3), что предотвращает перегрузку GPU‑серверов и API‑лимитов провайдеров. Управление задачами реализовано через asyncio.Semaphore и очередь asyncio.Queue.
Кроме того, автор вынес интерфейсы AI‑провайдеров в отдельный слой, позволяя подключать новые модели (например, Gemini или GPT‑5) через простую реализацию VideoProvider.
Полный код, Docker‑образ и CI‑pipeline доступны в открытом репозитории GitHub, а также предоставлен набор тестов, проверяющих восстановление после искусственно вызванных сбоев.
Эта работа демонстрирует, как из небольшого хакатон‑проекта можно построить масштабируемую и надёжную систему, готовую к реальному продакшн‑использованию.
Для AI‑разработчиков Shorts Maker v2 показывает, что правильная архитектура (DDD) и механизмы восстановления — чекпоинты и ограниченная конкурентность — критичны при переходе от прототипа к продакшн. Плюс, модульный слой провайдеров упрощает экспериментировать с новыми моделями без рефакторинга кода. Студенты могут взять эту структуру как шаблон для своих проектов по генерации медиа, а компании — как пример надёжного pipeline для видеоконтента.


