27 000 UAH
7 ставок
Коротко Потрібна програма на 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. Використовує чи рішення базу даних (яку і навіщо) — або вистачає локальних файлів. Термін і вартість.