Перейти к содержимому
EN

Изображения

Два эндпоинта: POST /v1/images/generations для генерации по тексту и POST /v1/images/edits для работы по картинке-образцу.

import base64
img = client.images.generate(
model="flux-2-pro",
prompt="Портрет рыжего кота в скафандре, студийный свет",
# aspect_ratio/resolution — расширения Mixen: OpenAI SDK такие kwargs
# не принимает, поэтому их передают через extra_body
extra_body={"aspect_ratio": "2:3", "resolution": "2k"},
)
with open("cat.png", "wb") as f:
f.write(base64.b64decode(img.data[0].b64_json))
Поле Описание
model Идентификатор картиночной модели или псевдонимы dall-e-3 / gpt-image-1
prompt Описание изображения
n Сколько картинок, от 1 до 4
size Явный размер WxH
aspect_ratio Соотношение сторон, например 16:9; по умолчанию 1:1
resolution 1k, 2k или 4k; по умолчанию 1k
quality low или medium — только у моделей с такой ручкой
background transparent | opaque | auto — только GPT Image 2.5; transparent требует output_format: png или webp
output_format png | jpeg | webp — только GPT Image 2.5; по умолчанию png
response_format Принят для совместимости и игнорируется: ответ всегда содержит b64_json, url не отдаётся

size и пара aspect_ratio + resolution — два способа сказать одно и то же. Указывайте что-то одно.

Допустимые значения у каждой модели свои и приходят в каталоге полями sizes, aspect_ratios, resolutions. Значение вне списка вернёт 400.

Допустимые значения у каждой модели свои и приходят в каталоге полями sizes, aspect_ratios, resolutions. Значение вне списка вернёт 400.

Длина промпта ограничена, лимит у каждой модели свой и приходит в каталоге полем prompt_max_chars. Превышение вернёт 400 до списания:

Модель Максимум
GPT Image 2.5 (Flare/Sunburst) 20 000 символов
GPT Image 2 32 000 символов
MAI-Image 2.5 / 2.6 (все тиры) 20 000 символов
Grok Imagine Image 2.0 8 000 символов
Qwen Image 3, Flux 2 жёсткого отказа нет — длинный текст тихо усекается вендором
Nano Banana, Seedream лимит не публикуется

Лимиты получены живыми отказами апстрима на заведомо огромном промпте (сверка 2026-09-10) и официальными доками; актуальное значение всегда смотрите в prompt_max_chars каталога.

Серия gpt-image-2.5-flare (быстрый тир) и gpt-image-2.5-sunburst (тир точности) добавляет:

  • Прозрачный фон — background: "transparent" вырезает объект без подложки; формат должен быть png или webp (JPEG не держит альфу). auto отдаёт решение модели по промпту, opaque принудительно заливает фон.
  • До 16 картинок-образцов в /v1/images/edits — собирайте коллажи из товаров, референсов стиля и персонажей.
  • Промпт до 20 000 символов (prompt_max_chars в каталоге) — загружайте брифы целиком.
  • Форматы кадра от 1:3 до 3:1 — включая ультра-широкие 3:1 и вертикальные 1:3, до 4K.
curl https://api.mixen.ai/v1/images/generations \
-H "Authorization: Bearer $MIXEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"prompt": "Логотип Mixen AI, неоновая молния, монохром",
"aspect_ratio": "1:1",
"background": "transparent",
"output_format": "png"
}'

В каталоге ручка объявлена полями background и output_formats; чужой модели эти параметры вернут 400.

POST /v1/images/edits принимает multipart/form-data: одну или несколько картинок в поле image, плюс те же параметры, что у генерации.

curl https://api.mixen.ai/v1/images/edits \
-H "Authorization: Bearer $MIXEN_API_KEY" \
-F model=gpt-image-2.5-sunburst \
-F image=@cat.png \
-F image=@space-suit.png \
-F prompt="Переодень кота в костюм космонавта, фон оставь"

Принимает ли модель картинки-образцы на вход — boolean-флаг references в каталоге.

Тарификация образцов: у моделей, которые апстрим тарифицирует по SKU «изображение» (например Qwen Image 3 и Grok Imagine), каждая входная картинка добавляется в чек — база за генерацию + ставка за образец (колонка «Вход / изображение» в таблице провайдеров на витрине). У моделей без такой ставки чек остаётся плоским.

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

Оба эндпоинта отвечают синхронно, готовой картинкой. Генерация занимает от нескольких секунд до полуминуты — ставьте таймаут HTTP-клиента не меньше 120 секунд, иначе оборвёте запрос, за который уже списаны деньги.

POST /v1/images/price принимает то же тело, что и POST /v1/images/generations, и возвращает сумму, не запуская генерацию и ничего не списывая. Считается той же формулой, что и фактическое списание (разрешение × n), поэтому котировка совпадает с чеком; валидация тоже общая — невалидные параметры дадут те же 400/404, что и запуск.

Исключение — модели с токен-тарифом (microsoft/mai-image-*): апстрим биллит по фактическим токенам, поэтому списание приходит по чеку usage генерации — квота остаётся близкой оценкой (как длительность у Seed Audio).

{
"object": "price",
"model": "gpt-image-1",
"model_id": "gpt-image-2",
"price": {"rub": 12.0069, "usd": 0.13},
"per_unit": {"rub": 4.0023, "unit": "image"},
"quantity": 3,
"params": {"aspect_ratio": "16x9", "resolution": "2k", "size": null, "quality": null, "n": 3}
}

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