Сотрудничали с Микитой над разработкой достаточно сложной локальной программы для Windows, которая автоматически создаёт полноценные видеоролики практически без ручного участия.
Проект включал не просто интерфейс или отдельный скрипт, а полный производственный конвейер. Пользователь вводит тему либо загружает собственный сценарий, после чего программа генерирует и позволяет отредактировать текст, создаёт озвучку через TTS, разбивает материал на сцены и отдельные кадры, ищет изображения и видео в открытых лицензированных источниках, проверяет права использования, подбирает наиболее подходящие материалы с помощью LLM и собирает готовое видео через FFmpeg.
В рамках проекта был выполнен очень большой объём работы.
Был разработан полноценный интерфейс на PySide6 в тёмной теме с отдельными экранами для создания видео, очереди, источников, настроек, ключей API, журналов и управления проектами.
Подключено и приведено к единому формату несколько разных источников изображений и видеоматериалов — у каждого свой API, структура ответов, ограничения и технические особенности. Разработчик не просто подключил их формально, а отдельно проверял реальные ответы, устранял проблемы с ограничениями, тайм-аутами, ссылками, качеством изображений и передачей ключей.
Реализована строгая фильтрация по типам лицензий. Программа использует только материалы, разрешённые для коммерческого применения, и автоматически создаёт рядом с каждым роликом отдельный файл с авторами, типами лицензий и ссылками на оригинальные материалы.
Построена многоступенчатая система подбора материалов под смысл каждой сцены, с учётом качества и истории использования, чтобы одни и те же кадры не повторялись между роликами. Предусмотрены повторные поиски и безопасные запасные варианты, если точного материала нет.
Монтажное ядро создано на FFmpeg с аппаратным ускорением через NVIDIA. Программа собирает видео в высоком разрешении и частоте кадров, корректно обрабатывает материалы разных пропорций без деформации, добавляет плавное движение на статичные изображения. Реализована гибкая система монтажных настроек и стилевых пресетов под разные типы каналов.
Программа автоматически создаёт вступительный тизер из сильных моментов ролика, файл субтитров, а при необходимости вшивает субтитры в видео. Также реализованы атмосферные визуальные эффекты с настраиваемой интенсивностью и предпросмотром.
Озвучка создаётся отдельно по сценам через TTS-провайдера. Имя модели вынесено в настройки, поэтому при изменениях со стороны провайдера его можно заменить без исправления кода. В архитектуру заложен отдельный сменный модуль для альтернативного провайдера озвучки, который можно будет активировать в будущем.
Разработчик отдельно измерил реальную скорость разных голосов и языков и сделал автоматическую калибровку длительности сценария — программа сравнивает запрошенную и фактическую продолжительность ролика и постепенно подстраивается.
Реализована полноценная очередь на десятки роликов подряд, с изменением порядка, удалением и последовательной автоматической сборкой. Ошибка одного ролика не останавливает остальные задачи. Очередь сохраняется после закрытия программы и продолжает работу с сохранённого состояния.
Особое внимание уделено надёжности. При сбое, перезагрузке компьютера, исчерпании лимитов API или ручной остановке программа сохраняет уже выполненные этапы и продолжает работу с последнего успешного шага, не оплачивая уже сделанное повторно.
Реализовано управление кэшем: программа автоматически удаляет временные файлы, но сохраняет готовые ролики, лицензии, историю использованных материалов и очередь.
После каждой сборки программа формирует подробный журнал с ключевыми метриками по ролику.
Отдельно хочу отметить подход разработчика к тестированию и коммуникации. Микита регулярно проверял не только факт запуска программы, но и реальные ответы внешних сервисов, качество и стоимость работы, длительность сборки. Все найденные проблемы он сообщал сразу и подробно, даже когда результат оказывался хуже первоначальной оценки, и не пытался скрыть или подогнать показатели — предлагал честный план исправления, в том числе за свой счёт там, где это было справедливо.
Такой уровень прозрачности для меня особенно важен. На протяжении всей работы я понимал, что уже готово, какие есть ограничения и над чем ведётся работа в данный момент.
По итогам я получил портативную Windows-сборку, которая запускается без отдельной установки зависимостей, полный исходный код без обфускации, подробную инструкцию, технический отчёт с замерами, тестовые ролики и сопутствующие файлы.
Проект оказался значительно сложнее обычной программы автоматического монтажа, поскольку объединяет LLM, TTS, компьютерное зрение, множество внешних API, лицензирование контента, FFmpeg, очередь задач и восстановление после сбоев. Микита хорошо разобрался во всех частях системы, предложил много полезных улучшений и в ряде случаев сам находил проблемы, которые невозможно было увидеть только из первоначального технического задания.
Работой и коммуникацией доволен. Продолжаем сотрудничество над следующим этапом.