Загрузка...
Авторская статья Создаем бота для моментальных бесплатных генераций фото
  1. fe4ther
    fe4ther Автор темы 16 сен 2024 в активном поиске... 1683 24 июл 2019

    Не так давно наткнулся на сайт моментальных генераций фото, который вот вот открылся и имеет огромную популярность на западном твиттере и реддите
    [IMG]
    Это фото и ещё 3 таких он сгенерировал буквально за 0.3сек
    Решил проверить как и через что идёт такая быстрая генерация, оказалось что для такой скорости они используют Websocket(вместо привычного HTTP API) и отправляют запрос с их секретным ключём для разработчиков прямо на стороне клиента.

    [IMG]

    Спросив у их владельца напрямую получил ответ, что они разрешают всем кто нашел ключ использовать и играться с ним :finger_up:



    Само апи у них недорогое по сравнению с конкурентами, но благодаря ключу мы сможем генерировать сотни тысяч картинок в день абсолютно бесплатно и без лимитов, а так же работать с изображениями: img2img, inpaint/outpaint, controlnet и различные loras
    [IMG]
    Данный инструмент в руках умелого кодера может приносить до $1000 в день(проверил на себе )

    К слову одна такая генерация на топовой видеокарте 4090 займет у вас 40-60 секунд, в то время как тут абсолютно бесплатно вы ее получите меньше чем за секунду, халява, не правда ли?



    Возможностей с этим у вас куча: от создания неотличимых дипфейк нюдсов до собственного платного сервиса - зависит лишь от вашей фантазии и профессионализма.

    Сегодня я поделюсь примером простого :tg: Telegram бота на питоне для генерации таких картинок:
    Для начала нам необходимо установить на наш компьютер/сервер сам Python.
    Переходим по ссылке https://www.python.org/downloads/release/python-3119/ и выбираем нужную версию:

    [IMG]

    Нас интересует Windows Installer 64-bit, скачиваем, запускаем установщик и ОБЯЗАТЕЛЬНО в первом окне жмем галочку "Add Python to PATH"

    [IMG]

    После установки переходим в консоль(win+r), вводим "cmd" и в открывшемся терминале прописываем команду:

    pip install aiogram websockets

    Ждем загрузки двух библиотек и закрываем терминал
    Запускаем любую удобную IDE (если вы программист), например PyCharm или vscode
    Простым работягам подойдет и блокнот/sublime text


    Я же буду использовать vscode

    Создаем на рабочем столе папку с названием нашего бота, пусть это будет Generator
    Перетаскиваем её в vscode и создаем в этой папке файлик main.py


    Копируем код ниже и вставляем в наш созданный файлик main.py
    Python
    from aiogram import Bot, types, Dispatcher, Router, F from aiogram.filters import Command import asyncio import uuid import json import websockets token = '' # Ваш токен бота взятый из @BotFather runware_api = '' # Ваш личный ключ с ЛК [URL]https://runware.ai/[/URL] bot = Bot(token=token) dp = Dispatcher() router = Router() async def create_image(prompt): # Генерируем картинку async with websockets.connect('wss://ws-api.runware.ai/v1') as websocket: auth_request = [{"taskType": "authentication","apiKey": runware_api}] await websocket.send(json.dumps(auth_request)) # Логинимся и получаем успешный ответ от сервера auth_response = await websocket.recv() n = 1 image_request = [{"positivePrompt": prompt,"model": "runware:100@1",'steps':4,'width':512,'height':512,'numberResults':n,'outputType':['URL'],'taskType':'imageInference','taskUUID':uuid.uuid4().hex}] await websocket.send(json.dumps(image_request)) # Отправляем запрос на генерацию и получаем картинку img = await websocket.recv() data = json.loads(img)['data'][0] return data @router.message(Command('start')) # Добавляем ответ на команду /start async def start(message: types.Message): await message.answer('Привет!\nЯ бот для моментальной генерации картинок, отправь мне на английском любой промпт и я в ту же секунду сгенерирую тебе изображение') @router.message() # Ловим промпты async def gen(message: types.Message): if not message.text: return await message.answer('Отправь мне запрос текстом, я не понимаю другие форматы :(') msg = await message.answer(f'Начинаю генерацию по запросу:\n\n{message.text}') image = await create_image(message.text) await message.answer_photo(image['imageURL'], caption=f'Вот ваша генерация по запросу:\n\n{message.text}') await bot.delete_messages(message.chat.id, [msg.message_id, message.message_id]) async def main(): router.message.filter(F.chat.type == 'private') dp.include_router(router) await dp.start_polling(bot) if __name__ == '__main__': print('Бот для генерации картинок успешно запущен') asyncio.run(main())
    В переменную token вставляем токен от бота(который можно получить в боте BotFather).
    Для смены модели, например на порнушную, замените значение параметра model на любую модель введя ее AIR ID из CiviAI, например на
    ⁡civitai:133005@782002
    ⁡ (в комментариях к статье рассказано об этом более подробно)​
    Запускаем наш файл main.py и видим, что всё работает
    [IMG]
    [IMG]
    [IMG]

    Обратите внимание что у бота ушло всего 4 секунды чтобы получить от вас промпт, отправить на сервер и получить в ответ картинку.



    P.S: У вас нет границ и бот можно улучшать вечность, тут лишь показан базовый пример, который сможет запустить у себя любой нубик и не платить миллионы в месяц за тот же миджорни(который, кстати, хуже опенсорс модели FLUX Dev)


    Сливаю эту информацию потому что не гонюсь за деньгами, поверьте, в жизни есть вещи и по важнее, и я считаю каждый обязан иметь свободный доступ к современным технологиям

    Не знаю сколько проживет схема, но апи ключи действительны и работают уже полтора месяца, а в случае чего на заработанном с абуза можно уже и платно их апи использовать :hi:
    БЕСПЛАТНЫЕ КЛЮЧИ ОТКЛЮЧЕНЫ
    Бесплатные ключи были отключены навсегда. Кто успел за месяц наабузить миллионы - поздравляю. Сейчас есть возможность получить личный апи ключ на их сайте https://runware.ai/ и на баланс капнет 15 пробных долларов. За 1$ можно сгенерировать +- 1600 картинок на Flux Schnell/SD 1.5 и 300 на Flux Dev
    https://docs.runware.ai/en/getting-started/introduction

    Разберётся даже чайник. Но не советую использовать их официальные библиотеки, лучше напрямую ручками через вебсокеты, ибо они только открылись и все дорабатывается
    (по словам разрабов на этой неделе выкатят ControlNet+Loras для FLUX)
    Всем кодерам желаю удачных проектов и миллионы долларов :colobok_cool:
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    16 сен 2024 Изменено
    1. Посмотреть предыдущие комментарии (2)
    2. Igroook
      fe4ther, Красавец,спасибо
    3. aksedocid
      fe4ther, спасибо, бро, годно

Комментарии

    1. Yowori
      Yowori 16 сен 2024 Дизайняша ~ lolz.live/threads/7861550/ 13 636 3 июн 2019
      Полезная статья, пойду попробую что-то интересное написать в этой апишкой.
      [IMG]

      [IMG]
       
      1. Посмотреть предыдущие комментарии (7)
      2. LOLZ
        fe4ther,
        25 сен 2024 Изменено
      3. fe4ther Автор темы
        LOLZ, "positivePrompt": "cat", "negativePrompt": "сюда негатив", вот так
        25 сен 2024 Изменено
    2. CORNER
      вот это замечательно!
       
    3. Исподлобья
      Исподлобья 18 сен 2024 #freeкартофель 111 17 сен 2023
      А как добавить админ панель?
       
      1. fe4ther Автор темы
        Исподлобья, тут пример простого бота без админки и прочего, конкретно по добавлению админок много гайдов на ютубе для aiogram
    4. Nice177
      Nice177 18 сен 2024 Богат, но не материально. :tether: 57 31 окт 2022
      Он щас жестко перегружен,а так хорошая тема вроде)
       
      18 сен 2024 Изменено
      1. Посмотреть предыдущие комментарии (3)
      2. Nice177
      3. fe4ther Автор темы
        Nice177, в скрипте введи в поиск width и поменяй значение 512 на размер твой
      4. sicsadwrld3
        у меня вечный reactivating terminals..
    5. Lyvironix
      Lyvironix 20 сен 2024 АААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА 1363 23 фев 2019
      Неплохая статья, но столька пиздежа навалить это уметь надо. Какие 40-60 секунд блять на 4090, ни знаю не одной опенсорс модели которая так нагрузит её. 1000$ в день тоже сомнительно. Неотличимые дипфейк нюдсы еще ладно, но это даже на 1060 можно сделать, так что тоже плюс хуевый
       
      20 сен 2024 Изменено
      1. Посмотреть предыдущие комментарии (9)
      2. Lyvironix
      3. сиськи
      4. Lyvironix
        сиськи,
    6. mxtvali
      mxtvali 22 сен 2024 0 23 окт 2023
      Есть у кого jailbreak на пусси? + полезные промпты?
       
    7. Ризе
      Ризе 25 сен 2024 8452 13 мар 2021
      Бля, ну хорош, ахуенная статья, симпу не жалко :smile_hookah:
       
    8. Победил
      Победил 25 сен 2024 Миллион статей — там long read либо «вкратце» 14 384 26 июл 2020
      За это авторку?

      > спизди ключ апи
      > установи скрипт
      > бот работает
      И много-много воды аля "я на этой темке зарабатываю миллиарды, но пруфов не будет, потому что потому"

      Плюсом выше пишут, что апи еле-еле работает со скоростью черепахи.
      Со скорости генерации вообще выпал, ага, да, минуту генерируется картинка на 4090 :interesting:
       
      25 сен 2024 Изменено
      1. Посмотреть предыдущие комментарии (2)
      2. fe4ther Автор темы
        moodduckk, шарю, но все же. Это же FLUX. Любая модель на таких видеокартах сгенерирует фотку за 1-2 сек, но конкретно FLUX очень прожорлив даже на топовых. А люди не понимают
      3. moodduckk
        fe4ther, 4090 щелкает flux dev только так. Это же дистиллированный огрызок, а не оригинал
        25 сен 2024 Изменено
      4. Lyvironix
        27 сен 2024 Изменено
    9. LOLZ
      LOLZ 25 сен 2024 2761 26 янв 2019
       
      1. fe4ther Автор темы
        LOLZ,
    10. Bellomore
      Bellomore 25 сен 2024 4268 13 мар 2022
      ладно, ру промпты хуево воспринимает

      [IMG][IMG]
       
      1. fe4ther Автор темы
        Bellomore, конечно, стейбл дифужн же под капотом. можно заморочиться и через gemini переводить автоматом
    11. Lilith
      Lilith 25 сен 2024 Пишу и делюсь мыслями на своей стене. 3766 17 май 2020
      Просто выдаёт набор рандомных картинок

      [IMG]
       
      1. Посмотреть предыдущие комментарии (7)
      2. fe4ther Автор темы
        Lilith, а. ты про сайт. там никак модель не сменить, он от разрабов и там тестовая модель Flux Schnell. Модельку самому менять при запросе на их апи только можно, в статье есть пример кода на питоне
      3. RmTigr
        fe4ther, а как на civiai найти air айди ,не могу найти
      4. fe4ther Автор темы
        RmTigr, В акк войти
    12. user
      user 25 сен 2024 1474 29 ноя 2019
      Хорошо сделано, генерация занимает менее 5 секунд и можно бесплатно делать нюдесы при хороших промптах) Пойду делать основу бота под выхлоп
       
      1. fe4ther Автор темы
        user, красава
    13. Aisan
      Aisan 25 сен 2024 13 708 26 авг 2020
      Нормуль, побаловаться можно
      [IMG]
       
    14. user
      user 25 сен 2024 1474 29 ноя 2019
      Для тех кто хочет поставить бота с хорошей генерацией порнушки и не морочить голову с заменой модели сделаю 2 варианта: мини гид и готовое решение.
      [IMG]
      [IMG]


      Python
      from aiogram import Bot, types, Dispatcher, Router, F from aiogram.filters import Command import asyncio import uuid import json import websockets token = '' # Ваш токен бота взятый из @BotFather runware_api = 'z1ilk4CqKMMMPSm3gynSdrsuoKsECcxK' # Тот самый ключик разработчиков для работы нейросети bot = Bot(token=token) dp = Dispatcher() router = Router() async def create_image(prompt): # Генерируем картинку async with websockets.connect('wss://ws-api.runware.ai/v1') as websocket: auth_request = [{"taskType": "authentication","apiKey": runware_api}] await websocket.send(json.dumps(auth_request)) # Логинимся и получаем успешный ответ от сервера auth_response = await websocket.recv() n = 1 image_request = [{"positivePrompt": prompt,"model": "civitai:133005@782002",'steps':30,'width':832,'height':1216,'numberResults':n,'outputType':['URL'],'taskType':'imageInference','taskUUID':uuid.uuid4().hex}] await websocket.send(json.dumps(image_request)) # Отправляем запрос на генерацию и получаем картинку img = await websocket.recv() data = json.loads(img)['data'][0] return data @router.message(Command('start')) # Добавляем ответ на команду /start async def start(message: types.Message): await message.answer('Привет!\nЯ бот для моментальной генерации картинок, отправь мне на английском любой промпт и я в ту же секунду сгенерирую тебе изображение') @router.message() # Ловим промпты async def gen(message: types.Message): if not message.text: return await message.answer('Отправь мне запрос текстом, я не понимаю другие форматы :(') msg = await message.answer(f'Начинаю генерацию по запросу:\n\n{message.text}') image = await create_image(message.text) await message.answer_photo(image['imageURL'], caption=f'Вот ваша генерация по запросу:\n\n{message.text}') await bot.delete_messages(message.chat.id, [msg.message_id, message.message_id]) async def main(): router.message.filter(F.chat.type == 'private') dp.include_router(router) await dp.start_polling(bot) if __name__ == '__main__': print('Бот для генерации картинок успешно запущен') asyncio.run(main())
      Заходим в код и нажимаем Ctrl+F, вводим "model" (без ковычек) и видим эту строку
      [IMG]
      Нам нужно как раз всё остальное после prompt,"model", а именно
      "civitai:133005@782002",'steps':30,'width':832,'height':1216
      Далее заходим на сайт: civitai.com и проводим регистрацию через любой удобный сервис. Попадаем на любую модель в нашем случае
      Juggernaut XL

      и справа видим
      [IMG]
      Нам нужен AIR, берем полностью это и вставляем в первые ковычки, далее на сайте так же нужно взять высоту и ширину для ваших картинок
      [IMG]
      Меняем steps, как указано в About this version и разрешение, здесь оно портретное.

      Готово, вы можете запускать бота и генерировать хорошие нюдсы для вашего питона
       
      25 сен 2024 Изменено
      1. Посмотреть предыдущие комментарии (5)
      2. Delete_L
        user, есть модели для Inpainting?
      3. morfy228
        kasper19, есть новые варики)
    15. slavchikpro59
      Куча ошибок при запуске хз че делать
       
      1. fe4ther Автор темы
        slavchikpro59, у всех в комментариях все в порядке, что-то не по инструкции делаешь
      2. slavchikpro59
        fe4ther, да я допустил ошибку, уже все в порядке
      3. krekerblya
    16. root_duck
      root_duck 25 сен 2024 :yupiyei: 128 16 апр 2022
      Спасибо за статью, весь вечер сидел генерировал какую то хуйню, :+rep: тебе
       
      1. Посмотреть предыдущие комментарии (5)
      2. root_duck
        Antiplaneta, ты установил зависимости?
      3. Antiplaneta
        root_duck, Ебать, Я СДЕЛАЛ ЭТО!!!! Я дурак, я просто не туда токен вставлял.
    17. markrozen1
      markrozen1 26 сен 2024 ЖИВУ КАЙЙФУЮ 14 24 дек 2017
      [IMG]
      Годится
       
    18. vidmi
      vidmi 26 сен 2024 4 15 мар 2024
       
      26 сен 2024 Изменено
      1. Посмотреть предыдущие комментарии (1)
      2. vidmi
        fe4ther,где именно, не разбираюсь сильно :ehh:
      3. fe4ther Автор темы
        vidmi, там должен быть терминал по идее, либо если ты не используешь виртуальное окружение то нажми Win+R, введи cmd и вставь команды туда
      4. vidmi
        26 сен 2024 Изменено
    19. alex4324
      alex4324 26 сен 2024 Заблокирован(а) 103 4 июн 2022
      Отличная статья, при создании возникли некоторые трудности , но тс помог во всем разобраться :+rep:
       
Top
JavaScript error: