Покорение Midjourney при помощи Python и прирученного Discord API

Покорение Midjourney при помощи Python и прирученного Discord API

Долго ли котомок ли я взялся за задачу автоматизации генерации картинок в моем боте. Задача казавшаяся на первый взгляд простой оказалась не такой легкой. Первое, что я понял, что у Midjourney нет своего нативного API и единственный возможный на данный момент времени подход — это доступ с своему серверу на Discord. Замечу, что Discord предлагает довольно функциональный API, но вот настройка и тестирование с 0 заняла пару дней. Для начала нужно было создать свой сервер, в нем создать канал и добавить туда Midjourney Bot. Кстати, канал советую сразу делать закрытым, чтобы никто не смог мешать вашей работе. Потом приступил к генерации ключей: тут мне потребовался ключ API, id моего сервера и id моего канала. После этого дело было за малым — писать код.

Пару дней я работал над модулем, и в итоге все заработало. Хотя по ходу работы стало ясно, что доступ к командам для работы с ботом Midjourney я получить не могу. Пришлось делать костыли — получать ссылку на картинку, потом ее качать и резать, потом сохранять в 4 файла. Позднее от работы с файлами я отказался и сохранял картинки в переменные — так оказалось быстрее для работы моего ИИ-бота.

В итоге через я получил готовый модуль в котором была функция, принимавшая промпт и отдававшая 4 переменные с картинками, что мне и было нужно.

Покорение Midjourney при помощи Python и прирученного Discord API

Единственное, пришлось немного доработать промпт для ChatGPT, чтобы помимо переведенной статьи он еще и генерировал для нее текст промыта для Midjourney. Да, кстати, если кому интересно, ChatGPT способен выдавать ответ json формате, и чтобы его удобно было разбирать. Все хорошо, но генерация картинок даже на платном тарифе занимает около минуты и для каждой статьи, генерировать их нет смысла. Только если в статье нет встроенных картинок или если картинки не нравятся. Думаю нужно будет добавить еще один режим — просто генерация картинок, возможно кому-то это будет полезно. Просто взводишь запрос в телеграм бот и получаешь 4 картинки на выбор. Таких ботов масса, но если это будет в коробке с остальным функционалом, вроде тоже не плохо. Как считаете? Так я решил эту маленькую задачку и начла тестирование. Спустя какое-то время мне пришла мысль, что хорошо бы еще делать парсинг других каналов со схожей тематикой, тем самым еще больше увеличив количество потенциальных источников контента.

Но об этом я расскажу в следующий раз…

Всем спасибо за внимание. буду рад вопросам и отзывам. Если кoму-то интересно протестовать работу, милости прошу. мой контакт есть в шапке канала Telegram

Начать дискуссию