Программа на Python, описанная ниже, генерирует мемы, используя различные сервисы и API, включая ChatGPT. Она позволяет загрузить изображение и автоматически сгенерировать для него подписи.
Подготовка
Убедитесь, что Python установлен. Скачайте редактор кода (например, Visual Studio Code). Создайте проект и добавьте основной файл. Рекомендуется использовать виртуальное окружение. Создайте его командой python -m venv .venv (или python3 -m venv .venv). Активируйте его командой ..venvScriptsactivate (Windows) или source .venv/bin/activate (Linux/macOS).
Установка библиотек
Установите библиотеку Pillow для работы с изображениями: pip install pillow.
Обработка изображений и добавление текста
Программа состоит из этапов: открытие и обработка изображения, генерация текста, размещение текста на изображении и сохранение результата.
Импортируйте необходимые классы. Загрузите изображение (сохраните шаблон в проекте). Для рисования текста используйте класс ImageDraw. Пример (на английском):
from PIL import Image, ImageDraw, ImageFont
img = Image.open("meme_template.jpg")
draw = ImageDraw.Draw(img)
text_top = "Top text"
text_bottom = "Bottom text"
draw.text((x_top, y_top), text_top, fill="black")
draw.text((x_bottom, y_bottom), text_bottom, fill="black")
img.save("meme.jpg")
Замените x_top, y_top, x_bottom, y_bottom на нужные координаты.
Для кириллицы используйте шрифт с её поддержкой:
from PIL import Image, ImageDraw, ImageFont
font = ImageFont.truetype("arial.ttf", size=30) # Замените "arial.ttf" на путь к вашему шрифту
# ... остальной код ...
draw.text((x_top, y_top), text_top, font=font, fill="black")
draw.text((x_bottom, y_bottom), text_bottom, font=font, fill="black")
Интеграция с ChatGPT
Для генерации текста используйте ChatGPT. Зарегистрируйтесь на OpenAI и получите API ключ. Установите библиотеку openai: pip install openai.
В коде укажите API ключ и создайте функцию:
import openai
openai.api_key = "YOUR_API_KEY"
def generate_meme_text(prompt):
response = openai.Completion.create(
engine="text-davinci-003", # или другая подходящая модель
prompt=prompt,
max_tokens=60,
n=1,
stop=None,
temperature=0.7,
)
text = response.choices[0].text.strip()
return text
# Пример использования:
prompt = "Generate two lines of meme text: line 1, line 2"
top_text, bottom_text = generate_meme_text(prompt).split(',')
Подберите эффективный prompt для генерации текста для верхней и нижней частей мема. Разделите результат на две части.
Создание мемов
Используя сгенерированный ChatGPT текст и функцию обработки изображений, создайте автоматическую генерацию мемов. Изменяйте картинки, координаты текста и параметры запроса к ChatGPT.
Полученная программа автоматически генерирует мемы на основе загруженного изображения и текста, сгенерированного ИИ. Это позволяет создавать мемы быстро и эффективно.