Загрузка...
Авторская статья Создаем бота для моментальных бесплатных генераций фото
  1. fe4ther
    fe4ther Автор темы 16 сен 2024 в активном поиске... 2012 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)

Комментарии

Top