Модель gpt-image-2, выпущенная OpenAI в апреле 2026 года, стала настоящим хитом в сфере генерации изображений: точность рендеринга текста на уровне символов 99%, вывод в 4K, нативная поддержка китайского языка/CJK и интеграция возможностей рассуждения серии O. Однако первый вопрос, который возникает у многих разработчиков после получения доступа к модели: как правильно подключиться к официальному API gpt-image-2? Какие параметры обязательны? Как настроить base_url? И что делать с b64_json в ответе?
В этой статье представлено практическое руководство по интеграции официального API gpt-image-2: от установки SDK и настройки base_url до генерации изображений, редактирования, инпейнтинга (inpainting) и обработки ошибок. Весь код основан на официальном SDK OpenAI и прокси-сервисе APIYI (поля которого на 100% соответствуют официальным). После прочтения вы сможете сразу внедрить gpt-image-2 в свои рабочие проекты.

Чек-лист по подготовке к подключению официального API gpt-image-2
Прежде чем писать первую строку кода, нужно подготовить окружение. Ниже приведен список из 4 обязательных условий для подключения к официальному API gpt-image-2.
Список требований для подключения к официальному API gpt-image-2
| Параметр | Требование | Примечание |
|---|---|---|
| API-ключ | Действующий Bearer Token | Получите через консоль APIYI, тестовый баланс начисляется сразу после регистрации |
| Python SDK | openai >= 1.50.0 |
Старые версии не поддерживают новые параметры images.generate() |
| Node.js SDK | openai >= 4.50.0 |
Типы TypeScript синхронизированы с официальными |
| HTTP-таймаут | ≥ 360 секунд | Реальное время генерации в высоком качестве (2K/4K) составляет 3-5 минут |
| Сетевые требования | Прямой доступ из РФ | api.apiyi.com доступен через любых провайдеров и зарубежные узлы |
Установка SDK для работы с официальным API gpt-image-2
Независимо от выбранного языка программирования, просто установите официальный SDK OpenAI — APIYI полностью совместим с официальными полями запросов, поэтому дополнительные библиотеки не требуются.
# Python
pip install --upgrade openai
# Node.js
npm install openai@latest
# Если используете yarn / pnpm
yarn add openai
pnpm add openai
Процесс получения API-ключа для gpt-image-2
Получить ключ очень просто:
- Зайдите в консоль APIYI на
api.apiyi.com - После регистрации перейдите на страницу «API Tokens»
- Создайте новый токен (рекомендуется использовать отдельные токены для разных проектов для удобства аудита)
- Сохраните токен в переменные окружения (настоятельно не рекомендуется прописывать его в коде напрямую)
🚀 Совет для быстрого старта: При первом подключении к официальному API gpt-image-2 рекомендуем сначала отладить цепочку на низком качестве и разрешении 1024×1024, а затем переходить к высокому качеству и большим размерам. Мы советуем воспользоваться платформой APIYI (apiyi.com) для получения тестового баланса — его хватит для полной проверки PoC.
# Добавьте в ~/.zshrc или ~/.bashrc
export APIYI_KEY="sk-your-token-here"
Настройка base_url для официального API gpt-image-2
Во всем процессе подключения к официальному API gpt-image-2 единственное отличие от оригинального SDK OpenAI — это base_url. Замените api.openai.com на api.apiyi.com, остальной код останется прежним.

Два эндпоинта для работы с API gpt-image-2
APIYI предоставляет два эндпоинта для работы с изображениями, полностью совместимых с OpenAI:
| Эндпоинт | Назначение | Обязательные параметры |
|---|---|---|
POST /v1/images/generations |
Текст-в-изображение (генерация по промпту) | model, prompt |
POST /v1/images/edits |
Редактирование, объединение, перерисовка по маске | model, prompt, image |
Инициализация клиента для gpt-image-2
Ниже приведен код инициализации клиента для Python и Node.js. Не забудьте установить таймаут на 360 секунд или более.
# Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("APIYI_KEY"),
base_url="https://api.apiyi.com/v1", # Переключаемся на прокси APIYI
timeout=600.0, # Обязательно для высокого качества
max_retries=2
)
// Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.APIYI_KEY,
baseURL: "https://api.apiyi.com/v1", // Обратите внимание: baseURL (camelCase)
timeout: 600 * 1000, // В миллисекундах
maxRetries: 2
});
💡 Напоминание о таймауте: Стандартный таймаут в 60 секунд гарантированно приведет к ошибке при генерации в высоком качестве (2K/4K). Мы рекомендуем при подключении через APIYI (apiyi.com) устанавливать таймаут для всех клиентских запросов в диапазоне 360-600 секунд, чтобы избежать преждевременного прерывания длительных операций.
Переходим к практике. Ниже показано, как выполнить первый вызов модели gpt-image-2 для генерации изображений через официальный API, используя три популярных языка программирования.
Генерация изображений с gpt-image-2 через Python
import base64
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("APIYI_KEY"),
base_url="https://api.apiyi.com/v1",
timeout=600.0
)
response = client.images.generate(
model="gpt-image-2",
prompt="A modern minimalist office desk with a vintage typewriter, soft morning light from the window, photorealistic, 8K",
size="1536x1024",
quality="high",
output_format="jpeg",
output_compression=92,
n=1
)
# Важно: APIYI возвращает чистую base64-строку без префикса data:image/...
b64 = response.data[0].b64_json
with open("output.jpg", "wb") as f:
f.write(base64.b64decode(b64))
print("✓ Изображение сохранено в output.jpg")
Генерация изображений с gpt-image-2 через Node.js
import fs from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.APIYI_KEY,
baseURL: "https://api.apiyi.com/v1",
timeout: 600_000
});
const response = await client.images.generate({
model: "gpt-image-2",
prompt: "An e-commerce product photo of a leather backpack on a marble desk, studio lighting",
size: "1024x1024",
quality: "high",
output_format: "png",
n: 1
});
const b64 = response.data[0].b64_json;
await fs.writeFile("output.png", Buffer.from(b64, "base64"));
console.log("✓ Изображение сохранено");
Генерация изображений с gpt-image-2 через cURL
cURL отлично подходит для быстрой проверки работоспособности API-ключа и тестирования новых комбинаций параметров.
curl https://api.apiyi.com/v1/images/generations \
-H "Authorization: Bearer $APIYI_KEY" \
-H "Content-Type: application/json" \
--max-time 600 \
-d '{
"model": "gpt-image-2",
"prompt": "A futuristic cyberpunk city at night, neon signs in mixed Chinese and English",
"size": "2048x1152",
"quality": "high",
"output_format": "jpeg",
"output_compression": 90,
"n": 1
}' | jq -r '.data[0].b64_json' | base64 -d > output.jpg
Обратите внимание: параметр --max-time 600 обязателен — по умолчанию у cURL нет таймаута, но многие оболочки принудительно прерывают соединение через 60 секунд.
Нюансы обработки ответов API для gpt-image-2
Многие разработчики при первой интеграции сталкиваются с трудностями при парсинге base64. Вот несколько распространенных ошибок:
# ✗ Ошибка: APIYI не возвращает поле url
url = response.data[0].url # AttributeError
# ✓ Правильно: используйте b64_json
b64 = response.data[0].b64_json
# ✗ Ошибка: попытка рендеринга чистой b64-строки в браузере
<img src="{b64}"> # Не отобразится
# ✓ Правильно: для рендеринга в браузере нужно добавить префикс
data_uri = f"data:image/jpeg;base64,{b64}"
# <img src="{{ data_uri }}">
# ✓ Правильно: сохранение на диск на стороне сервера
with open("output.jpg", "wb") as f:
f.write(base64.b64decode(b64))
Полный разбор параметров API для gpt-image-2
Понимание диапазонов значений и сценариев использования каждого параметра — ключ к успешному внедрению gpt-image-2 в продакшн.

Таблица основных параметров gpt-image-2
| Параметр | Значение | По умолчанию | Описание |
|---|---|---|---|
model |
"gpt-image-2" |
Обязательно | ID модели |
prompt |
Строка | Обязательно | Промпт, поддерживает смесь языков |
size |
8 пресетов + кастом | auto |
См. таблицу ниже |
quality |
auto / low / medium / high |
auto |
Влияет на стоимость и время |
output_format |
png / jpeg / webp |
png |
Рекомендуем jpeg + 90 |
output_compression |
1-100 | 100 | Только для jpeg/webp |
moderation |
auto / low |
auto |
low снижает чувствительность фильтров |
n |
1-10 | 1 | Кол-во изображений за раз |
Полный список опций размера (size) для gpt-image-2
# 8 официальных пресетов
size = "1024x1024" # 1:1 стандартный квадрат
size = "1536x1024" # 3:2 горизонтальный
size = "1024x1536" # 2:3 вертикальный
size = "2048x2048" # 2K квадрат
size = "2048x1152" # 16:9 горизонтальный (для обоев/постеров)
size = "3840x2160" # 4K горизонтальный
size = "2160x3840" # 4K вертикальный (для обоев смартфона)
size = "auto" # Автоматический выбор моделью
Если вам нужен пользовательский размер, необходимо соблюдать следующие ограничения:
✓ Стороны должны быть кратны 16
✓ Максимальная сторона ≤ 3840px
✓ Соотношение сторон ≤ 3:1
✓ Общее кол-во пикселей от 655,360 до 8,294,400
Например, 1280x720 (720P) допустимо, а 3840x1080 (ультраширокий формат) будет отклонено из-за соотношения сторон > 3:1.
Сравнение качества (quality) и стоимости gpt-image-2
quality — параметр, сильнее всего влияющий на цену. Ниже приведена таблица тарифов (за одно изображение).
| Качество | 1024×1024 | 1024×1536 | 1536×1024 | Сценарии |
|---|---|---|---|---|
low |
$0.006 | $0.005 | $0.005 | Эскизы, превью, быстрая итерация |
medium |
$0.053 | $0.041 | $0.041 | Контент-сайты, иллюстрации |
high |
$0.211 | $0.165 | $0.165 | Товарные фото, постеры, реклама |
💰 Оптимизация затрат: Команды, генерирующие в среднем 100 изображений в день, могут сэкономить до 75%, перейдя с
highнаmedium. Мы рекомендуем сначала подбирать промпты наlowчерез платформу APIYI (apiyi.com), а после утверждения результата переключаться наmedium/highдля финального рендеринга. Это снизит ежемесячный бюджет на генерацию на 30-50%.
Выбор формата вывода (output_format)
Формат влияет на стоимость хранения и скорость загрузки:
# Нужно прозрачный фон? gpt-image-2 не поддерживает, будет ошибка 400
# ✗ output_format="png", background="transparent" → 400 Bad Request
# Веб/мини-приложения: jpeg + сжатие 90
output_format="jpeg", output_compression=90
# Архив высокого качества: png (без потерь)
output_format="png"
# Современные Web-приложения: webp (минимальный вес)
output_format="webp", output_compression=85
Помимо генерации изображений по тексту, модель gpt-image-2 поддерживает три продвинутых сценария редактирования: редактирование изображений, объединение нескольких картинок и локальное перерисовывание (inpainting/outpainting).

Редактирование изображений в gpt-image-2 через официальный API (режим эталонного изображения)
Редактирование с использованием эталонного изображения автоматически включает режим high-fidelity, поэтому не передавайте параметр input_fidelity (запрос будет отклонен).
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("APIYI_KEY"),
base_url="https://api.apiyi.com/v1"
)
# Редактирование одного эталонного изображения
with open("source.jpg", "rb") as img:
response = client.images.edit(
model="gpt-image-2",
image=img,
prompt="Замени фон на закатный пляж, сохрани позу и одежду персонажа на переднем плане",
size="1024x1024",
quality="high"
)
Объединение нескольких изображений в gpt-image-2 (до 16 штук)
Эндпоинт /images/edits поддерживает загрузку до 16 эталонных изображений одновременно. В промпте к ним можно обращаться как «изображение 1/2/3» и так далее.
images = [
open("character.jpg", "rb"), # Изображение 1: персонаж
open("background.jpg", "rb"), # Изображение 2: фон
open("outfit.jpg", "rb"), # Изображение 3: референс одежды
]
response = client.images.edit(
model="gpt-image-2",
image=images,
prompt="Помести персонажа с первого изображения на фон второго, одень его в стиле третьего изображения, сохрани кинематографичное качество",
size="2048x1152",
quality="high"
)
Эта функция невероятно полезна для замены фона товаров в интернет-магазинах, виртуальной примерки одежды, создания раскадровок для комиксов и многого другого.
Локальное перерисовывание (Inpainting) в gpt-image-2
Inpainting выполняется путем указания области для перерисовки через параметр mask. Ключевые правила:
- Маска должна совпадать по размеру с первым эталонным изображением.
- Маска должна быть в формате PNG с альфа-каналом.
- Прозрачные области = области, которые нужно перерисовать.
- Непрозрачные области = области, которые нужно оставить без изменений.
with open("photo.png", "rb") as img, open("mask.png", "rb") as msk:
response = client.images.edit(
model="gpt-image-2",
image=img,
mask=msk,
prompt="Замени область в красной рамке на рыжего кота",
size="1024x1024",
quality="high"
)
Если вам нужно программно создать маску на Python, можно воспользоваться библиотекой PIL:
from PIL import Image
# Создаем маску того же размера, что и исходное изображение, по умолчанию полностью черную (непрозрачная = сохранить)
mask = Image.new("RGBA", (1024, 1024), (0, 0, 0, 255))
# Делаем область для перерисовки прозрачной (alpha=0)
for x in range(400, 700):
for y in range(300, 600):
mask.putpixel((x, y), (0, 0, 0, 0))
mask.save("mask.png")
Обработка ошибок и лучшие практики при интеграции официального API gpt-image-2
При выводе gpt-image-2 в продакшн критически важно проработать три аспекта: коды ошибок, параллелизм и тайм-ауты.
Полная таблица кодов ошибок API gpt-image-2
| HTTP-код | Значение | Рекомендация |
|---|---|---|
400 |
Неверные параметры (выход за границы size, неподдерживаемые поля) | Проверьте ввод; не передавайте input_fidelity или background:transparent |
401 |
Неверный токен | Проверьте Bearer Token и срок его действия |
403 |
Блокировка контент-фильтром | Пересмотрите промпт или добавьте moderation: "low" |
429 |
Лимит запросов / недостаточно средств | Экспоненциальная задержка (retry) + проверка баланса |
5xx |
Ошибка шлюза или бэкенда | Повторите запрос 1-2 раза, если не помогло — отправьте алерт |
| Тайм-аут | Долгая обработка запроса | Установите тайм-аут клиента ≥ 360 секунд |
Экспоненциальная задержка при повторных запросах (Retry)
Ниже приведен пример реализации для продакшна, обрабатывающий ошибки 429 и 5xx:
import time
import random
from openai import OpenAI, RateLimitError, APIStatusError
client = OpenAI(
api_key=os.getenv("APIYI_KEY"),
base_url="https://api.apiyi.com/v1",
timeout=600.0
)
def generate_with_retry(prompt: str, max_retries: int = 5):
delay = 1.0
for attempt in range(max_retries):
try:
return client.images.generate(
model="gpt-image-2",
prompt=prompt,
size="1024x1024",
quality="high"
)
except RateLimitError:
sleep = delay + random.uniform(0, 0.5)
print(f"429 Лимит запросов, повтор через {sleep:.1f}с ({attempt+1}/{max_retries})")
time.sleep(sleep)
delay *= 2
except APIStatusError as e:
if 500 <= e.status_code < 600 and attempt < max_retries - 1:
time.sleep(delay)
delay *= 2
continue
raise
raise RuntimeError("Превышено максимальное количество попыток")
Управление параллелизмом для gpt-image-2
Для пакетных задач используйте asyncio.Semaphore, чтобы ограничить количество одновременных запросов и не перегрузить API:
import asyncio
from openai import AsyncOpenAI
aclient = AsyncOpenAI(
api_key=os.getenv("APIYI_KEY"),
base_url="https://api.apiyi.com/v1",
timeout=600.0
)
async def gen_one(prompt: str, sem: asyncio.Semaphore):
async with sem:
return await aclient.images.generate(
model="gpt-image-2",
prompt=prompt,
size="1024x1024",
quality="medium"
)
async def batch(prompts: list[str], concurrency: int = 30):
sem = asyncio.Semaphore(concurrency)
return await asyncio.gather(*[gen_one(p, sem) for p in prompts])
# Генерация 200 изображений, 30 потоков параллельно
prompts = [f"Вариант изображения товара #{i}" for i in range(200)]
results = asyncio.run(batch(prompts))
Оценка стоимости использования gpt-image-2
Перед запуском оцените бюджет. Примерные ежемесячные затраты:
| Сценарий | Объем в день | Качество | Оценка затрат в месяц |
|---|---|---|---|
| Контент для соцсетей | 30 шт. | medium | ~$48 |
| Карточки товаров | 200 шт. | high | ~$1266 |
| Генерация для SaaS | 1000 раз | medium | ~$1590 |
| Игровые ключевые кадры | 500 шт. | high | ~$3165 |
🎯 Совет по развертыванию: используйте отдельные API-ключи для разных бизнес-направлений — это упростит отслеживание расходов и настройку лимитов. Рекомендуем настроить уведомления о расходах в консоли APIYI (apiyi.com), чтобы получать оповещения при достижении лимитов бюджета.
Наблюдаемость (Observability)
В продакшене обязательно логируйте ключевые метрики каждого запроса:
import time
import logging
logger = logging.getLogger("gpt-image-2")
def call_with_metrics(prompt: str, **params):
start = time.perf_counter()
try:
resp = client.images.generate(model="gpt-image-2", prompt=prompt, **params)
latency = time.perf_counter() - start
logger.info(
"gpt-image-2 успешно",
extra={
"latency_ms": int(latency * 1000),
"size": params.get("size"),
"quality": params.get("quality"),
"n": params.get("n", 1)
}
)
return resp
except Exception as e:
logger.error(f"Ошибка gpt-image-2: {type(e).__name__}: {e}")
raise
FAQ: Часто задаваемые вопросы по API gpt-image-2
Q1: Почему при вызове gpt-image-2 возникает ошибка 400 на параметр input_fidelity?
В gpt-image-2 режим high-fidelity включен автоматически для всех задач редактирования, поэтому параметр input_fidelity больше не поддерживается. Просто удалите его из кода. Если вы мигрируете с gpt-image-1, выполните глобальный поиск по проекту. Сравнить параметры можно в документации APIYI: docs.apiyi.com.
Q2: Почему вызовы API часто завершаются по тайм-ауту?
Генерация в качестве high + разрешение 2K/4K может занимать 3-5 минут. Если в клиенте стоит стандартный тайм-аут 60 секунд, запрос упадет. Решение: установите timeout на 360-600 секунд. В Python SDK это OpenAI(timeout=600), в Node.js — timeout: 600_000, в cURL — --max-time 600.
Q3: Как отобразить b64_json из ответа API на веб-странице?
API возвращает «чистую» base64-строку без префикса, которую браузер не распознает. Нужно добавить заголовок:
const dataUri = `data:image/${format};base64,${b64}`;
imgElement.src = dataUri;
Для бэкенд-сервисов лучше декодировать base64 и сохранять файл в OSS/CDN, отдавая фронтенду прямую ссылку — это ускорит загрузку страницы.
Q4: Можно ли получить прозрачный фон?
На данный момент gpt-image-2 не поддерживает прозрачный фон. Передача background: "transparent" приведет к ошибке 400. Обходной путь: генерируйте изображение на белом/зеленом фоне, а затем используйте библиотеку вроде rembg для удаления фона.
Q5: Как использовать параметр thinking?
thinking — это параметр рассуждения (off / low / medium / high). При его включении модель планирует композицию перед генерацией. Качество выше, но стоимость возрастает (в режиме high — в 4-5 раз). Совет: используйте medium только для сложных постеров с текстом, в остальных случаях оставляйте off. Рекомендуем провести A/B тестирование через APIYI перед внедрением.
Q6: Что делать с ошибкой 403 (контент-фильтр)?
Попробуйте добавить moderation: "low" в запрос, чтобы снизить чувствительность фильтра. Если это не помогло, значит промпт нарушает базовые политики безопасности (насилие, контент с несовершеннолетними, изображения публичных личностей). Важно: moderation: "low" не отключает проверку, а лишь смягчает её.
Q7: Что будет, если неправильно указать base_url?
Если указать https://api.apiyi.com (без /v1), SDK добавит путь /images/generations к неверному адресу, что приведет к 404. Правильный адрес: https://api.apiyi.com/v1. В Python используйте base_url, в Node.js — baseURL (соблюдайте регистр).
Q8: Лучшие практики для объединения нескольких изображений?
Можно использовать до 16 эталонных изображений, ссылаясь на них в промпте как «Изображение 1/2». Советы:
- Первое изображение обычно считается «основным», модель сохраняет его структуру.
- Для сложных задач разбивайте промпт: сначала «Использовать изображение 1 как основу», затем «Смешать с цветовой гаммой изображения 2».
- Редактирование с несколькими изображениями стоит в 1.5-2 раза дороже обычной генерации.
- Сначала отладьте логику на 2-3 изображениях, затем масштабируйте.
Итоги: полный обзор процесса подключения к официальному API gpt-image-2
Пройдя все 9 глав этой статьи, вы теперь владеете полным инженерным подходом к подключению к официальному API gpt-image-2:
- ✅ Подготовка — обновление SDK до последней версии, установка тайм-аута ≥ 360 секунд.
- ✅ Настройка base_url — замена на
https://api.apiyi.com/v1, остальной код идентичен официальному. - ✅ Вызов генерации (текст-в-изображение) — шаблоны на Python, Node.js и cURL.
- ✅ Разбор параметров — 8 предустановок размера + кастомные значения, 3 уровня качества, 3 формата вывода.
- ✅ Редактирование изображений — использование до 16 эталонных изображений, обращение к ним в промпте через «图1/图2» (Изображение 1/Изображение 2).
- ✅ Inpainting (перерисовка) — использование альфа-канала маски для перерисовки прозрачных областей.
- ✅ Обработка ошибок — комплексные решения для кодов 400/401/403/429/5xx.
- ✅ Практика в продакшене — экспоненциальная задержка (backoff), контроль параллелизма, оценка затрат и наблюдаемость.
Напоследок дам совет по внедрению: сначала запустите «Hello World» с качеством low и разрешением 1024×1024, а затем постепенно усложняйте задачу. Это поможет быстро выявить базовые проблемы с версией SDK, тайм-аутами или API-ключом, чтобы не тратить время на отладку «тяжелых» запросов в режиме high и 4K.
Если ваша команда сейчас оценивает варианты интеграции gpt-image-2 или вы уже пишете первую версию кода и столкнулись с ошибками параметров или тайм-аутами, рекомендую запросить тестовый ключ через APIYI (apiyi.com) и прогнать шаблоны из этой статьи. Все примеры основаны на официальном SDK и сервисе-прокси APIYI (поля совпадают на 100%), поэтому они обладают высокой универсальностью и могут быть легко перенесены в ваши проекты.
Справочные материалы
-
Документация модели OpenAI gpt-image-2: официальная информация о возможностях, параметрах и ценах.
- Ссылка:
developers.openai.com/api/docs/models/gpt-image-2 - Описание: включает ключевые функции, такие как 4K-рендеринг, отрисовка текста и интеграция логических рассуждений.
- Ссылка:
-
Руководство OpenAI по генерации изображений: полный рабочий процесс для текст-в-изображение, редактирования и inpainting.
- Ссылка:
developers.openai.com/api/docs/guides/image-generation - Описание: подробный разбор всех параметров size/quality/format.
- Ссылка:
-
Справочник API OpenAI Create Image: полная спецификация полей эндпоинта /v1/images/generations.
- Ссылка:
developers.openai.com/api/reference/resources/images/methods/generate - Описание: авторитетный источник по полям запросов и ответов.
- Ссылка:
-
Официальная документация APIYI: полное руководство по интеграции gpt-image-2.
- Ссылка:
docs.apiyi.com/api-capabilities/gpt-image-2/overview - Описание: содержит примеры на cURL/Python/Node.js и инструкции по обработке кодов ошибок.
- Ссылка:
-
OpenAI Cookbook · Rate Limits: стратегия экспоненциальной задержки при ошибке 429.
- Ссылка:
developers.openai.com/cookbook/examples/how_to_handle_rate_limits - Описание: официальный шаблон кода для обработки лимитов запросов.
- Ссылка:
Автор: Техническая команда APIYI
Дата публикации: 27 апреля 2026 г.
Ключевые слова: подключение к официальному API gpt-image-2, base_url, текст-в-изображение, редактирование изображений, inpainting, APIYI, OpenAI SDK