Генерация изображений

POST/api/v1/images создаёт изображения по текстовому описанию, а модели, которые это умеют, — и по образцам. Ответ приходит сразу, одним JSON.

Запрос

Обязательные поля — model (модель, которая выдаёт изображения) и prompt. Необязательные:

  • n — сколько изображений, целое от 1 до 10;
  • size — auto, уровень разрешения (512, 768, 1K, 1.5K, 2K, 4K) или точный размер ШИРИНАxВЫСОТА;
  • resolution — уровень разрешения;
  • aspect_ratio — соотношение сторон, например 16:9;
  • quality — auto, low, medium, high, xhigh или max;
  • output_format, background, output_compression — формат файла, фон и сжатие;
  • seed — для повторяемого результата;
  • input_references — изображения-образцы для редактирования;
  • user — идентификатор вашего пользователя.

Какие значения подходят модели, видно в её parameters (ниже). Другие поля модели не передаются, а с "stream": true запрос получит 422.

curl https://infergate.ru/api/v1/images \
  -H "Authorization: Bearer $INFERGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-2.5-flash-image",
    "prompt": "акварельная лиса в заснеженном лесу",
    "n": 1
  }'

Ответ

data — массив изображений в base64 (b64_json) с типом файла в media_type, usage.cost_rub — стоимость запроса в рублях:

{
  "created": 1727000000,
  "data": [{ "b64_json": "iVBORw0KGgo...", "media_type": "image/png" }],
  "usage": { "prompt_tokens": 11, "completion_tokens": 1290, "total_tokens": 1301, "cost_rub": 4.0365, "cost": 0.039, "fx_rate": 103.5 }
}

Модели изображений тарифицируются за изображение, мегапиксель или токены — по цене на странице модели (подробнее о ценах).

Модели изображений

GET/api/v1/images/models — модели, которые принимает POST/api/v1/images. В supported_parameters перечислены параметры, которые понимает модель, а у моделей с ценой за единицу есть media_price.

curl https://infergate.ru/api/v1/images/models \
  -H "Authorization: Bearer $INFERGATE_API_KEY"

В parameters — допустимые значения по имени поля запроса:

  • {"type": "enum", "values": [...]} — список значений (aspect_ratio, resolution, quality и другие);
  • {"type": "range", "min": …, "max": …} — диапазон (n, input_references — сколько образцов можно передать);
  • {"type": "boolean"} — параметр поддерживается (seed).

Если значения для модели неизвестны, поля parameters нет, а {} означает, что настраиваемых параметров у модели нет. Например:

"id": "recraft/recraft-v4.1",
"parameters": {
  "aspect_ratio": { "type": "enum", "values": ["1:1", "4:3", "3:4", "16:9", "9:16", "auto"] },
  "n": { "type": "range", "min": 1, "max": 6 },
  "input_references": { "type": "range", "min": 0, "max": 1 }
}