Учебник

Генерация картинок для бизнеса через ChatGPT и API

Вашим менеджерам приходится заказывать картинки дизайнеру по 2-3 дня, а срочные обложки для соцсетей или товаров встают. Разбираем, как через ChatGPT или простой Python-скрипт генерировать изображения за минуты - без найма дизайнера и без изучения сложных программ. Получите готовый скрипт для массовой генерации карточек для блога.

Макс Космов··6 мин чтения

У вашего менеджера по контенту уходит по 2-3 дня на заказ картинки дизайнеру, а срочная обложка для поста или карточка товара встаёт. При этом ChatGPT умеет рисовать прямо в чате, а через API - генерировать пачками за копейки. Никакого найма дизайнера, никаких курсов. Разбираем, как за вечер настроить генерацию картинок для бизнеса - хоть в чате, хоть через скрипт.

Разберём на примере небольшой стройфирмы, которой нужно быстро делать карточки для соцсетей и обложки для статей на сайте. Это пример, а не реальный кейс автора.

GPT Image 1 vs GPT Image 2: что изменилось

GPT Image 1 (gpt-image-1) - модель 2025 года, наследник DALL-E 3. Главные плюсы: лучше понимает сложные инструкции, рисует более реалистичные материалы, умеет делать прозрачный фон (background=transparent).

GPT Image 2 (gpt-image-2) - флагман 2026 года. Он точнее следует промпту (описанию): результат совпадает с запросом в 85-95% случаев против 70-80% у предшественника. Лучше рисует текст на латинице, руки и анатомию, работает быстрее.

GPT Image 1 будет устаревшим (устаревший) в октябре 2026. Новые проекты лучше сразу делать на gpt-image-2.

Отличие от Midjourney и Flux: стиль GPT Image - «иллюстрированная реальность»: чистые линии, читаемые детали, меньше художественного шума. Для инфографики, обложек и брендированного контента - это плюс. Для концепт-арта с богатой текстурой - Midjourney по-прежнему сильнее.

ChatGPT-интерфейс: генерация через диалог

На тарифе ChatGPT Plus ($20/мес) и выше можно генерировать картинки прямо в чате. Просто опишите, что нужно, - ChatGPT сам поймёт, что нужна картинка, и нарисует.

Примеры запросов в чате:

  • «Нарисуй обложку для статьи про ремонт квартир: инструменты на столе, минималистичный стиль»
  • «Создай иконку для мобильного приложения стройфирмы: мастерок, flat design, синий цвет»
  • «Сделай иллюстрацию: уютный офис, ноутбук на столе, утренний свет»

Главное преимущество чата - итерации. После первой картинки можно уточнить:

  • «Сделай фон темнее и убери людей»
  • «Добавь надпись РЕМОНТ на вывеске»
  • «Поменяй стиль на акварель»

ChatGPT помнит контекст диалога и дорабатывает картинку.

Встроенное редактирование холста: в интерфейсе ChatGPT есть инструмент выделения области. Рисуете область на картинке и пишете, что заменить. Без кода и API.

API Generations конечная точка API: первый вызов на Python

Если нужно генерировать картинки пачками (например, для каждой статьи блога или для карточек товаров), используйте API OpenAI. Пример ниже - базовый вызов: передаёте промпт, размер и качество.

from openai import OpenAI
import base64
from pathlib import Path

client = OpenAI(api_key="sk-your-key-here")

response = client.images.generate(
 model="gpt-image-2",
 prompt="A minimalist product photo: ceramic coffee cup on white marble, morning light, professional studio photography",
 size="1536x1024",
 quality="high",
 output_format="png",
 background="auto",
 n=1
)

# Получаем base64 или URL в зависимости от response_format
image_url = response.data[0].url
print(f"Image URL: {image_url}")

Обратите внимание: client.images.generate - синхронный вызов, но для сложных промптов может занять 30-120 секунд. В боевой среде (боевая среда) используйте асинхронный клиент AsyncOpenAI.

Параметры API

size - размер изображения. Доступные значения для gpt-image-2:

  • 1024x1024 - квадрат (стандарт, самый быстрый)
  • 1536x1024 - горизонтальный (3:2)
  • 1024x1536 - вертикальный (2:3)

Другие соотношения сторон не поддерживаются напрямую. Для нестандартных форматов (16:9, 9:16) нужно генерировать ближайший поддерживаемый размер и кадрировать.

quality - три уровня:

  • low - быстро (~5-15 сек), меньше деталей. Для прототипирования.
  • medium - баланс скорость/качество (~15-45 сек). Для большинства продуктовых задач.
  • high - максимальная детализация (~45-120 сек). Для финального вывода.

output_format - png (без потерь), jpeg, webp. PNG рекомендуется, если нужна прозрачность (фон).

background - auto (модель сама решает), transparent (прозрачный фон, только в PNG), opaque (белый фон). transparent полезен для иконок и продуктовых фото - объект без фона.

n - количество вариантов (1-4). При n=2-4 каждый вариант стоит как отдельная генерация.

API Edits конечная точка API: inpainting через маску

Edits конечная точка API позволяет изменить часть изображения через маску. Маска - PNG того же размера, что оригинал, где белые пиксели = область для изменения, чёрные = сохранить.

Пример: у вас есть фото товара, и вы хотите заменить фон на тёмный мрамор.

from openai import OpenAI
from PIL import Image, ImageDraw
import io

client = OpenAI()

# Загружаем оригинальное изображение
with open("original.png", "rb") as f:
 original_data = f.read()

# Создаём маску: белый прямоугольник в нижней части (для замены фона)
img = Image.open("original.png")
width, height = img.size
mask = Image.new("RGBA", (width, height), (0, 0, 0, 255)) # Чёрный = сохранить
draw = ImageDraw.Draw(mask)
draw.rectangle([0, height//2, width, height], fill=(255, 255, 255, 0)) # Белый = заменить

mask_bytes = io.BytesIO()
mask.save(mask_bytes, format="PNG")
mask_bytes.seek(0)

# Отправляем запрос
response = client.images.edit(
 model="gpt-image-2",
 image=open("original.png", "rb"),
 mask=mask_bytes,
 prompt="Replace the background with a dark marble texture, professional studio lighting",
 size="1024x1024",
 quality="medium"
)

print(response.data[0].url)

Применения: убрать нежелательный объект (маска над объектом, промпт «remove this, fill with background»), заменить фон, добавить элемент, изменить текст на вывеске или баннере.

Ценообразование 2026: сколько стоит одна картинка

Цены gpt-image-2 через API (актуальны на середину 2026, проверяйте на platform.openai.com):

Размер Low Medium High
1024x1024 $0.011 $0.042 $0.167
1536x1024 $0.016 $0.063 $0.250
1024x1536 $0.016 $0.063 $0.250

Сравнение: Flux 1.1 pro через Replicate - $0.040 за 1024×1024. Midjourney Standard - $30/мес с неограниченным relax. При 200 генерациях/мес GPT Image medium (1024x1024) обходится в ~$8.40, Flux 1.1 pro - ~$8, Midjourney Standard - $30 с неограниченным количеством.

Вывод: для малых объёмов (до 500/мес) GPT Image через API сопоставим с Flux по цене. Для больших объёмов Midjourney relax значительно дешевле. Для автоматизации - Flux или GPT Image.

Практика: скрипт массовой генерации OG-изображений

Задача: для каждой статьи блога стройфирмы сгенерировать OG-карточку 1200×630 с заголовком.

from openai import OpenAI
import requests
import json
from pathlib import Path

client = OpenAI()

articles = [
 {"slug": "python-basics", "title": "Python с нуля за 30 дней", "topic": "programming tutorial"},
 {"slug": "ai-tools", "title": "10 AI-инструментов для разработчика", "topic": "AI tools overview"},
 {"slug": "git-flow", "title": "Git Flow: полный гайд", "topic": "version control workflow"}
]

output_dir = Path("og_images")
output_dir.mkdir(exist_ok=True)

for article in articles:
 prompt = (
 f'Blog post cover image for article "{article["title"]}". '
 f'Topic: {article["topic"]}. '
 f'Modern tech blog style, clean design, subtle gradient background, '
 f'no text in image (text will be added separately). '
 f'Professional and engaging visual metaphor for the topic.'
 )
 
 # OG размер 1200x630 не поддерживается напрямую - генерируем 1536x1024 и кадрируем
 response = client.images.generate(
 model="gpt-image-2",
 prompt=prompt,
 size="1536x1024",
 quality="medium",
 output_format="jpeg"
 )
 
 img_url = response.data[0].url
 img_data = requests.get(img_url).content
 
 output_path = output_dir / f"{article['slug']}.jpg"
 with open(output_path, "wb") as f:
 f.write(img_data)
 
 print(f"Generated: {output_path}")

print("Done!")

Для промышленного использования добавьте: retry-логику, очередь задач (Celery или asyncio), кэширование уже сгенерированных изображений по slug.

Ограничения

Время генерации: для quality=high и сложных сцен - до 2 минут. В синхронных HTTP-запросах это проблема (таймауты). Решение: генерировать в фоновой задаче, сохранять URL, отдавать фронтенду после готовности.

Консистентность персонажей: как и у всех диффузионных моделей без специальных механизмов (аналог Omni Reference из Midjourney), GPT Image не гарантирует одинакового персонажа в разных генерациях. Для нарративного контента с повторяющимися персонажами - Midjourney с Omni Reference или fine-tuned модели.

Ограничения контента: OpenAI применяет фильтры безопасности. Некоторые темы (медицина, политика, известные люди) требуют осторожных формулировок. Для обхода ограничений - локальный Stable Diffusion без фильтров.

Rate limits: по умолчанию 5 изображений в минуту на Tier 1. Для боевая среда-нагрузки нужен Tier 2+ (от $50 потраченных на API). Подробнее на platform.openai.com/docs/guides/rate-limits.

Частые вопросы

Чем gpt-image-2 принципиально лучше DALL-E 3?

Dall-E 3 доступен как dalle-3 в API. gpt-image-2 лучше по: точности следования промпту (особенно для сложных композиций с несколькими элементами), рендерингу текста внутри изображений (на латинице), прозрачному фону (background=transparent), детализации материалов. На простых промптах разница минимальна. На сложных многоэлементных сценах - заметная.

Как передать изображение для редактирования через API?

Через Edits конечная точка API: client.images.edit(image=open("file.png", "rb"), mask=mask_file, ...). Требования: PNG формат, размер совпадает с маской, не более 4096×4096 пикселей, не более 20 MB. Маска должна быть PNG с альфа-каналом: прозрачные пиксели = область для изменения, непрозрачные = сохранить.

Какой quality выбрать для продакшна?

Для большинства боевая среда-задач - medium. Разница с high есть, но не критична для web-контента. High имеет смысл для: финальных маркетинговых материалов, печатного контента, детализированных иллюстраций. Low - только для быстрого прототипирования и тестирования промптов.

Как генерация GPT Image отличается от Midjourney стилистически?

GPT Image тяготеет к чистоте и точности следования описанию. Midjourney V7 добавляет художественную интерпретацию и «настроение» даже на нейтральных промптах. На одном промпте «coffee cup on table, morning light» GPT Image даст аккуратную фотографию, Midjourney - атмосферную иллюстрацию с характером. Для брендированного контента, где важна точность, - GPT Image. Для художественных проектов - Midjourney.

Есть ли rate limits на API и как работать в пакетной обработке?

Да. Tier 1 (менее $50 потрачено): 5 изображений в минуту. Tier 2 (от $50): 20/мин. Tier 3 (от $100): 50/мин. Для пакетной обработки: добавить time.sleep(12) между запросами на Tier 1 (60 сек / 5 = 12 сек). На Tier 2+: использовать asyncio с семафором на количество параллельных запросов. При ошибке 429 - exponential backoff: ждём 2^n секунд перед повторной попыткой.

Что дальше

Следующая тема: Stable Diffusion локально - установка ComfyUI и Forge, SDXL и Flux без облака.

Больше материалов - в AI Компас и на сайте ai-uchebnik.ru.

AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.