Загрузка...

Актуальный способ создания бота для бесплатных генераций фото

Тема в разделе Статьи создана пользователем webad11 15 ноя 2024. 1451 просмотр

  1. webad11
    webad11 Автор темы 15 ноя 2024 63 2 окт 2024
    Совсем недавно наткнулся на статью - оригинал.
    Автор поделился хорошей платформой для генерации изображений, но быстренько разработчики прикрыли лавочку.
    Я углубился в эту тему так как сам заинтересован.



    Делюсь информацией тем кому это до сих пор актуально.
    Рассказывать буду два способа. Один личный (для себя), другой вполне подойдёт под коммерческие нужды.

    Python

    import requests
    import time
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor

    # Ваш токен Telegram бота
    TELEGRAM_TOKEN = 'Токен бота'

    # Инициализация бота и диспетчера
    bot = Bot(token=TELEGRAM_TOKEN)
    dp = Dispatcher(bot)

    # Функция для генерации изображения
    def generate_image_v2(prompt):
    url = 'https://pornworks.ai/api/v2/generate/text2image'

    payload = {
    "checkpoint": "nude_people",
    "prompt": prompt,
    "resources": [],
    "samplerName": "DPM++ 2M Karras",
    "ratio": "1x1",
    "hr": False,
    "sharpness": 5,
    "cfgScale": 5,
    "performance": "speed",
    "denoisingStrength": 1,
    "fast": False,
    "inpaintMode": "controlnet"
    }

    headers = {
    'Content-Type': 'application/json',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0',
    }

    try:
    # Отправка POST-запроса для генерации изображения
    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status() # Если ошибка в ответе, выбрасываем исключение

    # Получаем ID запроса для дальнейшего опроса
    data = response.json()
    image_id = data['id']
    print(f"Запрос на генерацию изображения отправлен, ID: {image_id}")

    # Ожидание завершения генерации
    image_url = poll_for_image(image_id)
    return image_url # Возвращаем URL сгенерированного изображения

    except requests.exceptions.RequestException as error:
    print(f"Ошибка при генерации изображения: {error}")
    return None

    # Функция для опроса статуса генерации изображения
    def poll_for_image(image_id):
    url = f'https://pornworks.ai/api/v2/generations/{image_id}/state'

    while True:
    try:
    response = requests.get(url, headers={
    'Accept': 'application/json, text/plain, */*',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0',
    })
    response.raise_for_status()

    data = response.json()
    state = data['state']
    results = data.get('results')

    if state == 'done':
    print(f"Генерация изображения завершена: {results}")
    return results['image'] # Возвращаем URL сгенерированного изображения
    else:
    print("Ожидание завершения генерации...")
    time.sleep(2) # Ожидаем 2 секунды перед следующим запросом

    except requests.exceptions.RequestException as error:
    print(f"Ошибка при опросе изображения: {error}")
    return None

    # Обработчик команды /start
    @dp.message_handler(commands=['start'])
    async def start(message: types.Message):
    await message.answer("Привет! Отправь мне любое сообщение, и я сгенерирую картинку!")

    # Обработчик всех сообщений
    @dp.message_handler(content_types=['text'])
    async def handle_message(message: types.Message):
    user_message = message.text
    image_url = generate_image_v2(user_message)

    if image_url:
    await message.answer(f'Вот ваша картинка: {image_url}')
    else:
    await message.answer('Произошла ошибка при генерации картинки. Попробуйте снова.')

    if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
    Необходимые для запуска кода выше модули:
    ⁡aiogram==2.21

    ⁡requests
    Пример генерации:
    [IMG]

    Данная модель очень хорошо генерирует но работает в один поток на IP (при использовании ****** можете довести до ума).
    Python
    import requests
    import base64
    from aiogram import Bot, Dispatcher, types
    from aiogram.utils import executor
    from PIL import Image
    from io import BytesIO
    import time
    import os

    # Your Telegram bot token
    TELEGRAM_TOKEN = 'ТОКЕН БОТА'

    # Initialize the bot and dispatcher
    bot = Bot(token=TELEGRAM_TOKEN)
    dp = Dispatcher(bot)

    # Function to generate image
    def generate_image(prompt):
    url = "https://api-ws.freeflux.ai/v1/images/generate"
    payload = {
    "style": "no_style",
    "color": "no_color",
    "lighting": "no_lighting",
    "model": "flux_1_schnell", #Можно так-же flux_1_dev
    "prompt": prompt,
    "size": "1_1" #Можно размер больше
    }
    headers = {
    "Content-Type": "application/json"
    }
    try:
    response = requests.post(url, json=payload, headers=headers)
    response.raise_for_status()
    data = response.json()
    image_base64 = data.get("result") # Assuming the base64 image is in "result"
    return image_base64 if image_base64 else None
    except requests.exceptions.RequestException as error:
    print(f"Error generating image: {error}")
    return None

    # Function to save base64 image to a temporary file with padding correction
    def save_base64_image(image_base64, output_dir='generated_images', filename="temp_image.png"):
    try:
    # Check if the base64 string has the image data prefix and remove it
    if image_base64.startswith("data:image/png;base64,"):
    image_base64 = image_base64[len("data:image/png;base64,"):] # Remove prefix

    # Ensure padding is correct for base64 decoding
    padding_needed = len(image_base64) % 4
    if padding_needed:
    image_base64 += "=" * (4 - padding_needed)

    # Decode the base64 image data
    image_data = base64.b64decode(image_base64)

    # Generate a timestamp for the filename
    timestamp = int(time.time())
    image_path = os.path.join(output_dir, f"{timestamp}_{filename}")

    # Create the output directory if it doesn't exist
    if not os.path.exists(output_dir):
    os.makedirs(output_dir)

    # Save the image to the file
    image = Image.open(BytesIO(image_data))
    image.save(image_path, "PNG")

    return image_path # Return the path of the saved image
    except (base64.binascii.Error, ValueError, IOError) as e:
    print(f"Error saving base64 image: {e}")
    return None

    # /start command handler
    @dp.message_handler(commands=['start'])
    async def start(message: types.Message):
    await message.answer("Hello! Send me any message, and I'll generate an image for you!")

    # Handler for all text messages
    @dp.message_handler(content_types=['text'])
    async def handle_message(message: types.Message):
    user_message = message.text
    image_base64 = generate_image(user_message)

    if image_base64:
    temp_image_path = save_base64_image(image_base64)
    if temp_image_path:
    with open(temp_image_path, 'rb') as photo:
    await message.answer_photo(photo, caption="Here is your generated image! Something beautiful, just for you!")
    os.remove(temp_image_path) # Clean up temporary file
    else:
    await message.answer("Failed to save the generated image. Please try again.")
    else:
    await message.answer("An error occurred while generating the image. Please try again.")

    if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
    Потребуются следующие библиотеки:
    ⁡requests

    ⁡Pillow

    ⁡aiogram==2.21
    Пример генерации:
    [IMG]


    Процесс установки полностью описал ниже, должно быть понятно каждому.

    1. Устанавливаем PYTHON3 - КЛИК
    2. Создаём папочку с проектом, создаём файл app.py, туда кидаем нужный вам код​
    3. В коде заменяем "токен бота" на ваш токен, получить его можно здесь: КЛИК
    4. Открываем POWERSHELL или CMD, переходим в папку с проектом ( cd ПУТЬ К ПАПКЕ)​
    5. Вводим pip3 install ⁡requests ⁡Pillow aiogram==2.21​
    6. Мы уже подготовили рабочее пространство, осталось запустить (python3 app.py)​
    Если все шаги были выполнены корректно - бот запустится. Пишем ему /start, проверяем.
    API используется не какой-то официальный, достал с помощью реверс инжиниринга.
    Если кто-то найдёт что-то интересное в нём о чём я не упомянул, пишите
    .



    РЕКОМЕНДУЮ БОТА ДОДЕЛАТЬ ПОД СВОИ НУЖДЫ, НА МАССОВОЕ ИСПОЛЬЗОВАНИЕ (ДЕПЛОЙ) ЛУЧШЕ НЕ ЮЗАТЬ ЭТОТ КОД
    USDT TRC20 - TAZBSEBVv9buUaDHbumiqhtsdQKMdwe1Jj


    Так-же планирую поделиться и другими бесплатными ресурсами. Если тема будет интересна - следующее это бесплатная генерация видео ИИ.
    Буду рад узнать какие направления вам ещё интересны.

    Данный код может приносить хорошую прибыль и аудиторию. На своём примере говорю, за один комментарий под видео ТТ - 800 подписчиков в группе ТГ

    Используйте данный инструмент с головой.
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    15 ноя 2024 Изменено
  2. webad11
    webad11 Автор темы 15 ноя 2024 63 2 окт 2024
    UPD! Вижу тема не получила никакого актива, завтра удалю.
     
    1. Посмотреть предыдущие комментарии (7)
    2. webad11 Автор темы
      даня, гений, тема что стоит в авторках не актуальна, логично что надо обновить на актуальную
    3. даня
      webad11, то есть ты спиздил тему поменял пару букв и всё победа?
    4. webad11 Автор темы
      даня, чё ты доебался гений, посмотри оригинал, разные статьи с разной информацией
    5. Посмотреть следующие комментарии (1)
  3. N1C1
    N1C1 15 ноя 2024 3 16 окт 2021
    Просто используй gemini
     
    1. webad11 Автор темы
      N1C1, интересго как ты API с gemini подключишь к боту, или будешь генерировать 18+ контент
  4. Jargonium
    Jargonium 15 ноя 2024 Верификация площадок - https://lolz.live/threads/6007490/ 9764 25 ноя 2020
    Ооо, это же Хомиак по красной ковровой дорожке идёт занимать топ 1 по симпатиям
     
    1. Nice177
      Jargonium, У него мало симпатий
  5. ELIZHABET
    Хорошая статья, спасибо!
     
    1. webad11 Автор темы
  6. dassdaasddas
    dassdaasddas 16 ноя 2024 фурмарк не аксиома 176 11 авг 2018
    1. webad11 Автор темы
  7. fe4ther
    fe4ther 16 ноя 2024 Заблокирован(а) 2011 24 июл 2019
    ну это мегахуйня а не сервисы, вижу мою ориг тему упоминают, решил оставить коммент. Во первых, там генерации занимают от минуты до бесконечности. Во вторых, код кривой, написан на чатгпт видимо. В третьих, если вы не успели за 3 месяца наабузить денег, в миллион раз выгоднее будет пополнить 20$ на ранвейр и генерить за эту стоимость около 20к картинок(наценку в вашем сервисе ставите х10, к примеру)

    [IMG]
    тут вообще без комментариев...
     
    1. webad11 Автор темы
      fe4ther, спасибо за коммент, теперь разложу по полочкам

      1. Есть два сервиса в статье, второй сервис стабильно и быстро обрабатывает ответы.
      2. Я в статье указал что код для демонстрации технологии, использовать его не лучшая идея (не долбись в глаза и читай нормально)
      3. Харе рекламировать runware, все уже поняли что ты им жопу лижешь, только вот я вчера протестил, 1$ - за 100 картинок вышло, такое себе. Если нужны пруфы - скину скриншот.

      Не зазнавайся, я тут за бесплатно распинаюсь, кидаю всем решения, ему что-то не нравится.
    2. fe4ther
      webad11, [IMG]
      в душе не ебу где ты там взял 100 картинок за бакс. мой проект вроде два месяца живет, потрачено меньше 3 долларов, сгенерировано 1300 картинок(и то, в лучшем доступном качестве, могло быть дешевле намного), которые принесли огромный доход
      16 ноя 2024 Изменено
    3. webad11 Автор темы
      fe4ther, у меня за 1 час ушло 1$, обычный juggernaut (трафик не сильно большой но стабильный)
  8. sqully
    sqully 21 ноя 2024 Заблокирован(а) 160 19 мар 2021
Top
Загрузка...