Долго ли котомок ли я взялся за задачу автоматизации генерации картинок в моем боте. Задача казавшаяся на первый взгляд простой оказалась не такой легкой. Первое, что я понял, что у Midjourney нет своего нативного API и единственный возможный на данный момент времени подход - это доступ с своему серверу на Discord. Замечу, что Discord предлагает довольно функциональный API, но вот настройка и тестирование с 0 заняла пару дней. Для начала нужно было создать свой сервер, в нем создать канал и добавить туда Midjourney Bot. Кстати, канал советую сразу делать закрытым, чтобы никто не смог мешать вашей работе. Потом приступил к генерации ключей: тут мне потребовался ключ API, id моего сервера и id моего канала. После этого дело было за малым - писать код.
Вот что вышло
Пару дней я работал над модулем, и в итоге все заработало. Хотя по ходу работы стало ясно, что доступ к командам для работы с ботом Midjourney я получить не могу. Пришлось делать костыли - получать ссылку на картинку, потом ее качать и резать, потом сохранять в 4 файла. Позднее от работы с файлами я отказался и сохранял картинки в переменные - так оказалось быстрее для работы моего ИИ-бота.
В итоге я получил готовый модуль в котором была функция, принимавшая промпт и отдававшая 4 переменные с картинками, что мне и было нужно. Единственное, пришлось немного доработать промпт для ChatGPT, чтобы помимо переведенной статьи он еще и генерировал для нее текст промпта для Midjourney. Да, кстати, если кому интересно, ChatGPT способен выдавать ответ json формате, и чтобы его удобно было разбирать.
Все хорошо, но генерация картинок даже на платном тарифе занимает около минуты и для каждой статьи генерировать их нет смысла. Только если в статье нет встроенных картинок или если картинки не нравятся. Думаю нужно будет добавить еще один режим - просто генерация картинок, возможно кому-то это будет полезно. Просто вводишь запрос в телеграм бот и получаешь 4 картинки на выбор. Таких ботов масса, но если это будет в коробке с остальным функционалом, вроде тоже не плохо. Как считаете?
Так я решил эту маленькую задачку и начал тестирование. Спустя какое-то время мне пришла мысль, что хорошо бы еще делать парсинг других каналов со схожей тематикой, тем самым еще больше увеличив количество потенциальных источников контента.
Но об этом я расскажу в следующий раз...
Всем спасибо за внимание. буду рад вопросам и отзывам. Если кому-то интересно протестовать работу, милости прошу. мой контакт есть в шапке канала Telegram
Подписывайся на Telegram Мамкин Автоматизатор