Загрузка...
Авторская статья Создаем бота для моментальных бесплатных генераций фото
  1. fe4ther
    fe4ther Автор темы 16 сен 2024 Заблокирован(а) 2011 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. KiroOZ
      KiroOZ 26 сен 2024 5 19 июл 2020
      Если кто бота на базе джаггера сделал, киньте линк :da:
       
      1. alex4324
        KiroOZ, выше кидали чекни
      2. KiroOZ
      3. alex4324
        KiroOZ, нет у меня все работает
    2. EGRedd
      EGRedd 26 сен 2024 Goose Ť∅pśķÿ 298 4 дек 2022
      Если честно - по промтам очень плохо генерирует. Качество неплохое, но ужасная работа с промтами
       
      1. Посмотреть предыдущие комментарии (2)
      2. P0wer_bla4er
        EGRedd, меняй модель и увеличь steps
      3. fe4ther Автор темы
        EGRedd, по промптам все такое же как и в обычном сд, часто нужно юзать и негативные для лучшего результата, можешь юзать Flux Dev, его айди runware101@1, он лучше чем текущая в теме но генерирует на 2-3 сек дольше
    3. Какажук
      Какажук 27 сен 2024 1133 7 дек 2016
      Не нашёл в доке img2img как выглядит его скелет запроса?
       
      1. Какажук
        fe4ther, Пасяба, можно ссыль на эту панельку?
    4. jakeholp
      jakeholp 28 сен 2024 55 8 авг 2019
      :roflanFacepalm:ну какие 40-60 секунд на 4090, ты там чтоли 12к разрешения картинку хотел сгенерить
       
      1. fe4ther Автор темы
        jakeholp, мне лень в третий раз таким как ты объяснять. Купишь 4090 и проверишь сам :finger_up: Флюкс дев это тебе не сд 1.5
    5. HashNCode
      HashNCode 28 сен 2024 Печатает... 19 907 2 мар 2024
      Подогрел мужчину :)
      [IMG]
       
      1. fe4ther Автор темы
    6. GaijinAssasin
      а что все так за скорость взъелись, Flux модель на pytorch 2.4 особенно на 4090 ( к которой зеленые очень бережно драйвера делают ) может и быстрее.

      На своей машине с 4070 и с флюксом, 896 х 1152 фотки генятся по 1.2 иттерации/sec
       
    7. Streams
      Streams 30 сен 2024 1 1 авг 2019
      1. Streams
        Streams, бот же не учитывает предыдущие сообщения?
    8. dibilTV
      dibilTV 30 сен 2024 Не продаётся 311 15 мар 2017
      Сейчас бы писать на питоне
       
      1. Посмотреть предыдущие комментарии (15)
      2. fe4ther Автор темы
        dibilTV, нет идеально одежду определяет а дальше маску и в инпаинт, на выходе раздетая девушка. вот модель selfie_multiclass_256x256.tflite если надо скрипт определения скину
      3. dibilTV
        fe4ther, да блиа, я хз, я раньше думал - о крута, ща раздевать кого хочу буду, а ща когда понимаю как это работает изнутри - как-то похуй стало, как будто не впечатляет уже. А тех кто не знает - неплохо впечатляет, как-то так, меньше знаешь - крепче спишь)
      4. Kalipso
    9. silicate
      silicate 1 окт 2024 80 24 окт 2020
      по моему ввели ограничение на генерацию в 40 картинок за сессию
       
      1. Посмотреть предыдущие комментарии (2)
      2. fe4ther Автор темы
        silicate, смотря какая модель, некоторые и по минуте может генерировать, их сервер не вечный. с флюкс все норм
      3. silicate
        fe4ther, ну сейчас флюкс на тесте был,ночью норм было
        щас барахлит но лан
        все равно годнота
        [IMG][IMG]
        ловите обои на раб стол
      4. silicate
        silicate, UPD: что-то с флюксом,более 30 не хочет за раз генерировать
        остальные модели вроде норм
    10. b0x
      b0x 2 окт 2024 1 26 май 2022
      Sorry, you've been blocked

      You are unable to access fastflux.ai
       
      1. fe4ther Автор темы
        b0x, у меня все нормально. значит правила нарушал, регай акк и юзай платные ключи
    11. princ32
      princ32 4 окт 2024 Батя съебался в восемь лет, мама любила дочку 82 24 янв 2018
      Спасибо, давно искал что то похожее. Можно к пизженным новостям фотки генерировать)
       
    12. LOLZ
      LOLZ 5 окт 2024 2998 26 янв 2019
      все, прикрыли
       
      1. fe4ther Автор темы
        LOLZ, разве? анонса не было
        и мой проект ворк
      2. fe4ther Автор темы
        LOLZ, апи лег просто, все норм будет (думаю)
        обновление скорее всего выкатывают долгожданное
        5 окт 2024 Изменено
    13. princ32
      princ32 5 окт 2024 Батя съебался в восемь лет, мама любила дочку 82 24 янв 2018
      Апи не отвечает, сука
       
      1. fe4ther Автор темы
        princ32, обновляют чето, минут 5 назад заработало и опять легло
        обещали http апи добавить и лоры для флюкса
        5 окт 2024 Изменено
      2. princ32
        fe4ther, этот пес заработал
      3. fe4ther Автор темы
        princ32, найс... дай бог всю жизнь будет работать
    14. aezakmi
      aezakmi 5 окт 2024 Я летаю по Киото, эти люди - миражи 21 16 май 2023
      после прочтения статьи, я могу генерить нюдсы и продавать их на онлике
       
    15. Malizur
      Malizur 6 окт 2024 4 16 июн 2020
      После замены AIR Id выдает ошибку KeyError: 'data' В чем может быть причина?
       
      1. fe4ther Автор темы
        Malizur, попробуй другие айди, мб этой модели нет в их базе
    16. KidoDEV
      Я правильно же понял, статья просто про использования API ?)
       
      1. fe4ther Автор темы
        KidoDEV, в статье пример бота встроен
    17. neponqw
      neponqw 7 окт 2024 1 28 май 2023
      как сделать чтобы бот в группе работал?
       
      1. fe4ther Автор темы
        neponqw, внизу кода есть строчка ставящая фильтр на приват чаты, убери ее и все
    18. Delete_L
      Delete_L 7 окт 2024 226 13 дек 2020
      апихи ещё работают?
       
      1. Посмотреть предыдущие комментарии (1)
      2. Delete_L
        fe4ther,
        Код
        Бот для генерации картинок успешно запущен
        Cause exception while process update id=103434722 by bot id=5404997519
        ConnectionClosedError: no close frame received or sent
        Traceback (most recent call last):
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\protocol.py", line 963, in transfer_data
        message = await self.read_message()
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\protocol.py", line 1033, in read_message
        frame = await self.read_data_frame(max_size=self.max_size)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\protocol.py", line 1108, in read_data_frame
        frame = await self.read_frame(max_size)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\protocol.py", line 1165, in read_frame
        frame = await Frame.read(
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\framing.py", line 68, in read
        data = await reader(2)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\asyncio\streams.py", line 706, in readexactly
        raise exceptions.IncompleteReadError(incomplete, n)
        asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of 2 expected bytes

        The above exception was the direct cause of the following exception:

        Traceback (most recent call last):
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 309, in _process_update
        response = await self.feed_update(bot, update, **kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 158, in feed_update
        response = await self.update.wrap_outer_middleware(
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\middlewares\error.py", line 25, in __call__
        return await handler(event, data)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\middlewares\user_context.py", line 56, in __call__
        return await handler(event, data)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\fsm\middleware.py", line 42, in __call__
        return await handler(event, data)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\event\telegram.py", line 121, in trigger
        return await wrapped_inner(event, kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\event\handler.py", line 43, in call
        return await wrapped()
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 276, in _listen_update
        return await self.propagate_event(update_type=update_type, event=event, **kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\router.py", line 146, in propagate_event
        return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\router.py", line 141, in _wrapped
        return await self._propagate_event(
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\router.py", line 174, in _propagate_event
        response = await router.propagate_event(update_type=update_type, event=event, **kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\router.py", line 146, in propagate_event
        return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\router.py", line 141, in _wrapped
        return await self._propagate_event(
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\router.py", line 166, in _propagate_event
        response = await observer.trigger(event, **kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\event\telegram.py", line 121, in trigger
        return await wrapped_inner(event, kwargs)
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\aiogram\dispatcher\event\handler.py", line 43, in call
        return await wrapped()
        File "D:\хлам\core\deepnude\main.py", line 41, in gen
        image = await create_image(message.text)
        File "D:\хлам\core\deepnude\main.py", line 28, in create_image
        img = await websocket.recv()
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\protocol.py", line 568, in recv
        await self.ensure_open()
        File "c:\Users\Acer\AppData\Local\Programs\Python\Python310\lib\site-packages\websockets\legacy\protocol.py", line 939, in ensure_open
        raise self.connection_closed_exc()
        websockets.exceptions.ConnectionClosedError: no close frame received or sent
      3. fe4ther Автор темы
      4. Delete_L
        fe4ther, чем вызвано или как исправить?
      5. Посмотреть следующие комментарии (4)
    19. white_window
      white_window 7 окт 2024 4 10 янв 2024
      У меня чета ошибка вылетает, жалуется на line 18[IMG]
       
      1. fe4ther Автор темы
        white_window, бро либо пробелы либо таб используй для отступов , совмещать нельзя
    20. Rpprrr
      Rpprrr 9 окт 2024 1 9 окт 2024
      [IMG]
      Что за ошибка, кто знает?
       
      1. Moriar7
        Rpprrr, нет ключа 'data'. Посмотри какой ответ тебе приходит.
Top
Загрузка...