Как я с помощью ИИ подкаст сгенерил.Сегодня расскажу вам, как я с помощью нескольких инструментов и пары часов дороги в автобусе бесплатно настроил пайалайн создания вполне сносных ИИ-подкастов с
видео и сабтитрами.
Суть задачи: есть хорошо оформленный еженедельный дайджест
ИИ-новостей в виде статьи, нужно преобразовать его в аудио-подкаст с хоть каким-то внятным видеорядом и сабтитрами.
Стек технологий:-
Claude API для создания сценария на озвучку из статьи;
- Python +
ElevenLabs API для озвучки;
-
Pictory AI для генерации видеоряда и сабтитров;
Разберемся по пунктам:
Claude APIНедавно компания Anthropic выкатила свою модель Claude 3 Opus, и она божественна. После недели заигрываний с ней у меня сложилось чёткое ощущение, что она обходит GPT-4 почти во всём. И однозначно она обходит его в создании сценариев для подкаста.
Потому, идем в Claude API (предварительно получив 5$ на его тестирование), задаем инициирующий промпт, где четко описываем как должен выглядеть ваш подкаст. Я решил разбивать статью на двух ведущих (спасибо за идею подкасту
Оля и Штучный интеллект), о чем в промпте прям так и писал, мол есть два ведущих, Рон и Гермиона, и вот так-то они должны взаимодействовать. Гермиона задает вопросы, Рон отвечает, Гермиона дополняет и делает переход на следующую тему. Примерно такой промпт по содержанию.
Дальше нужно получить реплики ведущих, лучше в каком JSON-формате. Потому в пропмте описываем формат ответа: у меня это список json-объектов с полями id (порядковый номер реплики), name (имя ведущего) и text (содержание реплики). С этим файлом уже можно работать и скармливать его вашему любимому python.
На всё про всё ушло пол часа - час. Но в следующие разы это займёт минут пять, ибо системный инициирующий промпт уже готов.
Python + ElevenLabs APIДальше я навоял простенький скрипт на питончике, который бежит по джейсону и озвучивает реплики разными голосами в зависимости от имен ведущих, сохраняет их на диск в формате .mp3. Сам скрипт лежат
вот тут, их мне помогал писать ИИ, 24ый же год на улице. Из приятного, у Elevenlabs есть много настроек голосов, и можно играться с настройками их эмоциональности. Я выкрутил эмоции почти на максимум, мне нравится. Бесплатных минут генерации Elevenlabs даёт примерно 15-20, а дальше можно новый акк зарегать, чего уж.
Итого: написание скриптов и тестирование настроек голосов заняло часа два, но при повторении действий займёт минуты три, ибо надо будет только json обновить и запустить скрипт.
СклейкаДальше склеиваю полученные .mp3 в один файл и подкладываю фоновую музыку. Я ленивый, сделал это за три минуты через Premier Pro.
Pictory AIЭтот замечательный сервис позволяет загрузить в него итоговый аудио-файл, получить из него текстовые блоки, на основании которых сервис генерирует сцены и сабтитры. Каждую сцену можно тонко настраивать вручную, менять сабы, менять стоковые видео для сцен, выделять акценты в сабах и кучу всего ещё. Итоговые сцены можно в два клика синхронизировать с аудио-дорожкой, надо ее только повторно загрузить в проект с сгенеренными сценами.
Этот этап для меня был самым долгим, так как я решил самостоятельно расставить акценты в сабах и кое-где поменять видео у сцен.
Ушло на всё минут тридцать, и при повторении это время не уменьшается (хотя, можно забить на кастомизацию, и сделать всё за минут 5).
После этого я экспортиртнул видео в FullHD прям на сайте Pictory AI, залил его на Ютуб и радовался. На пробном периоде они дают экспортировать 3 видео, ну а дальше вы знаете что делать xD
Итоговый выпуск подкаста вы можете посмотреть тут:
https://youtu.be/iF68Lt0foms. Не поленитесь оставить там комментарий на английском языке.
Сам я результатом удивлён прям сильно, ибо по факту технологии позволяют программисту средней руки за пару часов настроить пайплайн создания ИИ-подкастов студийного качества, с последующей генерацией выпусков за десятки минут с хорошим аудио и сносным видео-рядами. Вау. Двадцать первый век как есть.