Я победил и таки сделал нового бота!
Автор: SangoПомните, ранее я писал про идею бота на основе сервиса perchance.org (https://author.today/post/466172)? А потом три дня назад писал что проект встал на стопор из-за проблем с получением ключа (https://author.today/post/467746)?
В общем, я таки победил это дело!
В какой-то момент решил погуглить свой вопрос, вдруг я не первый кто задумал подобный проект и выложил в интернет решение?
Правду говорят — все давно придумано за нас. Гугл навел меня на гитхаб на небольшой проектик:
https://github.com/tinjano/perchance-image-generator
Пятнадцать минут изучения кода — и я вычленил нужные функции получения и проверки валидности userKey. Подход использован радикально отличный от моих прошлых попыток слать нужные запросы вручную. Код просто запускает браузер, открывает страничку генерации, и вычленяет из запросов искомый userKey. Примитивно, прямолинейно, эффективно.
Да, у меня были подобные мысли. Но в плане таких подходов и инструментов имею мало опыта, плюс мои варианты были слишком громоздки. Здесь же использовалась незнакомая мне ранее библиотека, которая решила эту задачу в пару десятков строк кода.
В общем со вчерашнего дня гоняю нового бота на стабильность. Еще есть небольшие огрехи. Пару раз зависала функция получения ключа. Иногда генерации не срабатывают и требуется простить сгенерировать картинку по 2-3 раза. Но прогресс что называется — налицо.
Даже ввод на русском и кнопки прикрутил:
Сильно развивать этот проект, превращая в подобие своего основного бота, пока не планирую. Во-первых может банально перекрыться сервис, и бот станет бесполезным. Во-вторых у него меньше гибкости по сравнению с персональной стаблой. Зато картинки генерируются быстро. Плюс сервис очень круто рисует в некоторых стилях. В планах добавить поддержку еще двух разрешений (помимо текущего 512×768), какой-нибудь «стиль-улучшалку» для повышения качества генерации. Ну и может перебор стилей.
С утра тестировал бот на выдуманном за минуту запросе:
Молодая японская женщина с огромной голой грудью, крестики на сосках, портрет крупным планом, торчащие соски, традиционная прическа, румянец, на фоне горы Фудзи, masterpiece, best quality, UHD, 4k, 16k, details
Да, захотелось японских огромных сисек. Портрет — чтобы случайно не светила своим «вареником». Сразу скажу что «крестики на сосках» не вышли, видимо модели используемые сервисом такое не умеют. Фудзи тоже не всегда выдавало, но тут уже естественный рандом генераций. Генерил на разных стилях просто посмотреть где что да как:
Вообще очень нравится как сервис работает в "аниме". Другие стили из тех что добавил в проект зашли меньше. Ну ещё фурри-стиль тоже прямо очень зашел. "Под карандаш" неплохо иногда выдаёт. Реализм правда ещё не пробовал, надо будет проверить.
По поводу шаринга бота для желающих. Да, используются мощности сервиса, не личные, так что вроде можно было бы "всем и каждому". Но на данный момент бот не заточен на обработку запросов от разных юзеров, да ещё и в режиме параллельности или очередности. Банально никогда с такими задачами не сталкивался и потому не знаю как это реализовать (я ж всё-таки программист-любитель). Также из-за особенности используемой библиотеки playwright (которая как раз запускает браузер и тащит запросы) бота скорее всего не получится упаковать в отдельный exe-файл. Могу буду выложить куда-нибудь код, но надо будет самостоятельно регать своего чат-бота, ставить python, ставить нужные библиотеки (а там есть свои нюансы)...
Ну и непосредственно доступ к самому сервису (https://perchance.org/pretty-ai) никто не отменял. Там всё просто и удобно, не хуже чем в моём боте. Разве что запросы на английском вводить надо...