27 000 UAH
12 ставок
Коротко Нужна программа на Python, которая запускается у меня на ПК (Windows) и делает faceless-видео формата «закадровый голос + сменяющийся видеоряд из фото и клипов» — как исторические документалки на YouTube (пример прикреплю отдельно).
Я ввожу тему → программа пишет сценарий, озвучивает, подбирает под каждый кусок текста видео/фото из бесплатных архивов, склеивает → выдаёт готовый MP4.
Только для меня. Без сайта, без пользователей, без продажи. Один пользователь — я.
Как работает (по шагам) 1. Ввод. Открывается простое окно. Я ввожу тему ролика и выбираю голос озвучки из списка (**список голосов подтягивается автоматически из ElevenLabs по API** — доступные на моём аккаунте). Жму «Создать». (Второй режим: вставить готовый сценарий вместо генерации.)
2. Сценарий. Программа через LLM API (OpenAI/Anthropic, ключ в настройках) пишет сценарий по теме, заданной длины.
3. Разбивка на сцены. LLM делит сценарий на сцены и для каждой возвращает: текст сцены; тип визуала: видео или фото; поисковый запрос (развёрнутая фраза, что должно быть в кадре); пометку «highlight» + оценку важности 1-10 (для интро, см. ниже). 4. Озвучка. Текст отправляется в ElevenLabs API выбранным голосом → аудио. Под длину аудио каждой сцены режется видеоряд.
5. Подбор видео/фото — из бесплатных источников по API (см. список ниже). Под каждый источник запрос формируется по-своему (для точности). Если в одном не нашлось — пробует следующий.
6. Проверка (максимум 3 шага на сцену). Шаг 1: программа берёт первый найденный вариант (видео/фото) по запросу. Шаг 2: отправляет кадр в LLM — «подходит под сцену?». Подходит → стоп. Шаг 3 (если не подходит): программа переключается на поиск фото (по точному запросу фото найти проще, чем видео, — так гарантированно попадаем по смыслу) и берёт его с усиленным движением (зум + панорама). Больше 3 шагов на одну сцену не делать — это экономит бюджет LLM и гарантирует, что кадр в тему.
7. Сборка через ffmpeg/moviepy: клипы и фото под тайминг озвучки, фото оживляются зумом (эффект Кена Бёрнса), голос поверх, простые переходы. Выход: MP4 1920×1080.
Правила видеоряда (важно — за это отвечает программа) Первые 60 секунд — интро-тизер: нарезка самых эффектных клипов из всего ролика (берутся сцены с высшей оценкой важности, где есть видео) под отдельный текст-вступление от LLM («в этом видео вы узнаете…»), кадры без пояснений, как интрига. Потом переход и основная часть. Чередование: видео-вставка минимум каждые ~6 секунд, нельзя много фото подряд. Доля видео: не меньше ~40% времени — живые клипы, остальное — фото с зумом. Длина кадра: 4-6 секунд (и фото, и видео). Не мельтешить, не держать статику долго. Для чисто исторических тем, где видео нет — фото с усиленным движением (зум + панорама).
Источники (все бесплатные, с API) Современное видео+фото: Pexels, Pixabay. Историческое / архивное (public domain): Wikimedia Commons, Archive.org,Library of Congress, Europeana, NASA, Smithsonian Open Access,Flickr Commons, openverse.
Каждый источник — отдельный модуль, легко добавить новый. Использовать только public domain / свободные лицензии с правом коммерческого использования. Никакого парсинга чужих YouTube/сайтов, кусков фильмов, картинок «из гугла».Уникальность подбора Чтобы видео не совпадали с чужими: брать случайный клип из топ-выдачи (не первый), вести базу уже использованных (не повторять), опционально — лёгкая обработка клипа (кроп/зеркало/ скорость).
Опции (вкл/выкл в настройках) Только фото — если включено, видео собирается ЧИСТО из фото, без видео-клипов. Каждое фото ОБЯЗАТЕЛЬНО с движением (зум и/или панорама, эффект Кена Бёрнса) — даже в этом режиме не должно быть статичных «мёртвых» кадров, минимальная динамика всегда. Если выключено — стандартный режим (фото + видео-клипы с чередованием, как в правилах видеоряда). Без озвучки — если включено, видео собирается по тексту БЕЗ генерации голоса: код НЕ обращается к ElevenLabs и не накладывает озвучку (видеоряд подбирается по тексту сцен, тайминг кадров — по правилам/параметрам, без привязки к аудио). Если выключено — автоматически делает озвучку по тексту через ElevenLabs, как обычно. Атмосферный оверлей — если включено, поверх всего видеоряда накладывается полупрозрачный слой с плавающими частицами / пылью / светящимися боке / лёгким туманом (particle / dust / bokeh / fog overlay, режим наложения screen/add), чтобы кадры выглядели живыми и кинематографичными. При установке программы кладётся набор из 5-8 популярных оверлеев (частицы, пыль,copyбоке, туман, лёгкое киношное «зерно») в локальную папку — я выбираю нужный из списка. Регулируемая прозрачность/яркость оверлея (ползунок 0-100%), чтобы эффект не был ниcopyслишком тусклым, ни слишком выраженным — я сам настраиваю силу. Желательно, чтобы оверлей можно было накладывать и на УЖЕ готовое видео отдельноcopy(постобработка: взять готовый MP4 → выбрать оверлей → задать прозрачность → сохранить),
а не только при сборке. Откуда взять оверлеи для комплектации (свободная лицензия): Pexels, Pixabay (запросыcopy«particle overlay», «bokeh overlay», «dust overlay», «light leaks», «film grain»),
Mixkit, Videezy. Исполнитель подбирает 5-8 штук и кладёт в папку программы. Субтитры (вшить или отдельным .srt). Обработка клипов для уникальности. Разрешение/формат, длина видео, доля видео, глубина поиска.Технические требования Python. Модульная структура (источники и LLM — через сменные модули, чтобы легко заменить или добавить). Все API-ключи — в файле настроек, не в коде. Простое окно (GUI на выбор исполнителя — Tkinter/PyQt), запуск двойным кликом. README с инструкцией, понятные логи, комментарии в коде.Что даю я API-ключи (ElevenLabs, LLM, где нужна регистрация — оформлю). Платное оплачиваю сам. Примеры видео-референсов (прикреплю) и примеры тем для тестов.Приёмка (готово, если) Запускаю → окно → ввожу тему, выбираю голос → «Создать» → получаю готовый MP4. Видеоряд по смыслу текста, чередование видео/фото, интро-тизер 60 сек, озвучка поверх. Работает минимум с 6 бесплатными источниками, с fallback между ними. Проверка кадров через LLM: макс. 3 шага на сцену (нашли → LLM проверил → если нет, фото с движением как верняк). Уникальность: рандомизация + база использованного. Только легальные источники. Есть README, запускается с нуля.Передача результата Весь исходный код — в открытом виде (все файлы), без обфускации + собранная рабочая версия. Я могу сам запустить из исходников по инструкции (README: установка, ключи, запуск). Код должен быть чистым, прокомментированным и понятным, чтобы **любой другой программист мог продолжить работу** над ним, если понадобится (не привязка к автору). **Вся повседневная работа — через интерфейс (кнопки, поля, ползунки, выпадающие списки), БЕЗ необходимости трогать код.** Все настройки (тема, голос, опции, оверлей, папки, длина, форматы) меняются в окне программы, а не редактированием файлов. Код на руках — только как моя собственность и страховка, а не как способ управления программой. Все права на код после оплаты — мои.Управление местом на диске (важно) Программа не должна забивать диск. Реализовать: После сборки видео все промежуточные файлы (скачанные клипы, временные куски, аудио-нарезки) автоматически удаляются — на диске остаётся только готовый MP4. Лимит на кэш (параметр в настройках, напр. 5 ГБ): при превышении старые скачанные файлы удаляются автоматически (сначала самые старые). Папку для готовых видео и для временных файлов я задаю в настройках. Показывать, сколько места занято, и кнопка «очистить кэш» вручную.Прошу указать в отклике Примеры похожих работ (ffmpeg/moviepy, работа со стоковыми/архивными API, ElevenLabs/LLM). Предложение по GUI. Использует ли решение базу данных (какую и зачем) — или хватает локальных файлов. Срок и стоимость.