Загрузка...
Author's article We create a bot for instant free photo generation
Sep 16, 2024
fe4ther
31,385
67
  1. fe4ther
    fe4ther Topic starter Sep 16, 2024 Banned 2011 Jul 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:
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
    1. View previous comments (2)
    2. Igroook
      fe4ther, Красавец,спасибо
    3. aksedocid
      fe4ther, спасибо, бро, годно

Comments

    1. Yowori
      Yowori Sep 16, 2024 Эльфографика грядёт ~ https://lolz.live/threads/7861550/ 15,708 Jun 3, 2019
      Полезная статья, пойду попробую что-то интересное написать в этой апишкой.
      [IMG]

      [IMG]
       
      1. View previous comments (7)
      2. LOLZ
        fe4ther,
      3. fe4ther Topic starter
        LOLZ, "positivePrompt": "cat", "negativePrompt": "сюда негатив", вот так
    2. CORNER
      CORNER Sep 16, 2024 Только что :happycat:
      вот это замечательно!
       
    3. Исподлобья
      Исподлобья Sep 18, 2024 #freeкартофель 112 Sep 17, 2023
      А как добавить админ панель?
       
      1. fe4ther Topic starter
        Исподлобья, тут пример простого бота без админки и прочего, конкретно по добавлению админок много гайдов на ютубе для aiogram
    4. Nice177
      Nice177 Sep 18, 2024 Богат, но не материально. :tether: 51 Oct 31, 2022
      Он щас жестко перегружен,а так хорошая тема вроде)
       
      1. View previous comments (3)
      2. Nice177
      3. fe4ther Topic starter
        Nice177, в скрипте введи в поиск width и поменяй значение 512 на размер твой
      4. sicsadwrld3
        у меня вечный reactivating terminals..
    5. Lyvironix
      Lyvironix Sep 20, 2024 1369 Feb 23, 2019
      Неплохая статья, но столька пиздежа навалить это уметь надо. Какие 40-60 секунд блять на 4090, ни знаю не одной опенсорс модели которая так нагрузит её. 1000$ в день тоже сомнительно. Неотличимые дипфейк нюдсы еще ладно, но это даже на 1060 можно сделать, так что тоже плюс хуевый
       
      1. View previous comments (9)
      2. Lyvironix
      3. сиськи
      4. Lyvironix
        сиськи,
    6. mxtvali
      mxtvali Sep 22, 2024 0 Oct 23, 2023
      Есть у кого jailbreak на пусси? + полезные промпты?
       
    7. Ризе
      Ризе Sep 25, 2024 :peace: КУПЛЮ SUPERCELL - https://lolz.live/threads/8534452/ 11,874 Mar 13, 2021
      Бля, ну хорош, ахуенная статья, симпу не жалко :smile_hookah:
       
    8. Архистратиг
      Архистратиг Sep 25, 2024 аниме малышка продается - https://lolz.live/threads/7421153/ 16,649 Jul 26, 2020
      За это авторку?

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

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

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

      [IMG]
       
      1. View previous comments (7)
      2. fe4ther Topic starter
        Lilith, а. ты про сайт. там никак модель не сменить, он от разрабов и там тестовая модель Flux Schnell. Модельку самому менять при запросе на их апи только можно, в статье есть пример кода на питоне
      3. RmTigr
        fe4ther, а как на civiai найти air айди ,не могу найти
      4. fe4ther Topic starter
        RmTigr, В акк войти
    12. ВоркПоРУ
      ВоркПоРУ Sep 25, 2024 https://lolz.live/threads/8981756/ | VDS сервера в Москве 1504 Nov 29, 2019
      Хорошо сделано, генерация занимает менее 5 секунд и можно бесплатно делать нюдесы при хороших промптах) Пойду делать основу бота под выхлоп
       
      1. fe4ther Topic starter
    13. Aisan
      Aisan Sep 25, 2024 Ничего не продаю и не создаю. Не пишите мне 15,761 Aug 26, 2020
      Нормуль, побаловаться можно
      [IMG]
       
    14. ВоркПоРУ
      ВоркПоРУ Sep 25, 2024 https://lolz.live/threads/8981756/ | VDS сервера в Москве 1504 Nov 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 и разрешение, здесь оно портретное.

      Готово, вы можете запускать бота и генерировать хорошие нюдсы для вашего питона
       
      1. View previous comments (6)
      2. morfy228
        kasper19, есть новые варики)
      3. SussyBbaKKA
        ВоркПоРУ, Все вставил но выдает ошибки сразу же после того как написал промпт в бот, ошибки такие же, как были при нулевом балансе на своем апи ключе
    15. slavchikpro59
      Куча ошибок при запуске хз че делать
       
      1. View previous comments (1)
      2. slavchikpro59
        fe4ther, да я допустил ошибку, уже все в порядке
      3. krekerblya
      4. SussyBbaKKA
    16. root_duck
      root_duck Sep 25, 2024 Banned 277 Apr 16, 2022
      Спасибо за статью, весь вечер сидел генерировал какую то хуйню, :+rep: тебе
       
      1. View previous comments (5)
      2. root_duck
        Antiplaneta, ты установил зависимости?
      3. Antiplaneta
        root_duck, Ебать, Я СДЕЛАЛ ЭТО!!!! Я дурак, я просто не туда токен вставлял.
    17. markrozen1
      markrozen1 Sep 26, 2024 ЖИВУ КАЙЙФУЮ 14 Dec 24, 2017
      [IMG]
      Годится
       
    18. vidmi
      vidmi Sep 26, 2024 4 Mar 15, 2024
       
      1. View previous comments (1)
      2. vidmi
        fe4ther,где именно, не разбираюсь сильно :ehh:
      3. fe4ther Topic starter
        vidmi, там должен быть терминал по идее, либо если ты не используешь виртуальное окружение то нажми Win+R, введи cmd и вставь команды туда
      4. vidmi
    19. alex4324
      alex4324 Sep 26, 2024 104 Jun 4, 2022
      Отличная статья, при создании возникли некоторые трудности , но тс помог во всем разобраться :+rep:
       
Loading...
Top