Перейти к основному содержанию
POST
/
v1
/
images
/
generations
cURL
curl 'https://www.llmeasy.ru/v1/images/generations' \
  -H 'Authorization: Bearer sk-***REDACTED***' \
  -H 'Content-Type: application/json' \
  --data '{
    "model": "gpt-image-2",
    "prompt": "Футуристичный постер AI-продукта на светлом фоне, стеклянная фактура, чистая композиция, премиальный технологичный стиль",
    "n": 1,
    "size": "1024x1024",
    "response_format": "b64_json",
    "output_format": "png"
  }'
{
  "created": 1710000000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...(truncated)"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.llmeasy.ru/llms.txt

Use this file to discover all available pages before exploring further.

POST /v1/images/generations Endpoint text-to-image использует тело запроса application/json. Передайте prompt, держите HTTP-запрос открытым и прочитайте готовое изображение из data[0].b64_json в том же ответе.
Используйте https://www.llmeasy.ru/v1 как Base URL. API Key LLMEasy передается через Authorization: Bearer YOUR_API_KEY.
В Playground справа можно заполнить Authorization и тело запроса, а затем отправить запрос напрямую на https://www.llmeasy.ru/v1/images/generations.
Не помещайте API keys во frontend-код браузера, Git-репозитории, тикеты, скриншоты или логи. Для server-side proxy calls храните ключи только в переменных окружения сервера или secret manager.

Рекомендуемые значения

Передавайте эти поля явно в каждом запросе:
{
  "model": "gpt-image-2",
  "n": 1,
  "response_format": "b64_json",
  "output_format": "png"
}
Чтобы сгенерировать несколько изображений, отправляйте несколько независимых запросов. Не рассчитывайте на один запрос с n > 1.

Рекомендуемые размеры

sizeСоотношениеСценарий
autoAutoАвтоматический выбор размера
1024x10241:1Квадратные изображения, аватары, обложки, assets
1536x10243:2Landscape-постеры, баннеры, сцены
1024x15362:3Portrait-обложки для мобильных и постеры
1536x11524:3Стандартные landscape-изображения, product images, content graphics
1152x15363:4Стандартные portrait-изображения, mobile covers, vertical posters
2048x20481:1High-resolution квадратные изображения
2048x115216:9High-resolution landscape-изображения
3840x216016:94K landscape-изображения
2160x38409:164K portrait-изображения
size задает ожидаемое соотношение сторон и уровень размера. Фактические пиксели в ответе могут быть сопоставлены или скорректированы сервером. Используйте размеры декодированного изображения, а не принудительную обрезку до запрошенного значения.

Сохранение изображения

Успешный ответ следует OpenAI-совместимой форме image response:
{
  "created": 1710000000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA...(truncated)"
    }
  ]
}
Прочитайте data[0].b64_json и сохраните его как base64 image content. Ответ может содержать дополнительные поля, например revised_prompt; клиент должен разрешать такие поля. Всегда задавайте output_format: "png". Затем сохраняйте декодированное изображение как .png без проверки file headers.
import base64
import json
from pathlib import Path

response = json.loads(Path("response.json").read_text(encoding="utf-8"))
b64_json = response["data"][0]["b64_json"]

if "," in b64_json and "base64" in b64_json.split(",", 1)[0]:
    b64_json = b64_json.split(",", 1)[1]

image_bytes = base64.b64decode(b64_json)
Path("output.png").write_bytes(image_bytes)
Не рассчитывайте, что output_format: "jpeg" или output_format: "webp" сразу вернет JPEG или WebP-файл. Текущий endpoint может по-прежнему вернуть PNG. Если продукту нужен JPEG или WebP, сначала получите PNG и конвертируйте его в своем коде.

Поток ответа

Endpoint синхронный. После отправки POST /images/generations держите текущий HTTP-запрос открытым до ответа сервера. При успешной генерации содержимое изображения возвращается в data[0].b64_json. Endpoint не возвращает task_id; отдельного status query или endpoint для скачивания результата нет.

Timeout и повторные попытки

  • Задавайте timeout HTTP-клиента в несколько минут.
  • Повторяйте transport errors, 408, 409, 425, 429 и 5xx.
  • Не повторяйте автоматически 400, 401, отсутствующие параметры и некорректные запросы.
  • Используйте exponential backoff, например 3s, 8s, 15s.
  • Если дубли изображений недопустимы, записывайте собственный request ID перед retry.

Смежные документы

Авторизации

Authorization
string
header
обязательно

Используйте API Key LLMEasy как bearer token. Не публикуйте API keys во frontend-коде, скриншотах, логах, тикетах или Git-репозиториях.

Тело

application/json
model
enum<string>
по умолчанию:gpt-image-2
обязательно

Используйте фиксированное значение gpt-image-2.

Доступные опции:
gpt-image-2
Пример:

"gpt-image-2"

prompt
string
обязательно

Prompt для генерации изображения.

Пример:

"Футуристичный постер AI-продукта на светлом фоне, стеклянная фактура, чистая композиция, премиальный технологичный стиль"

n
integer
по умолчанию:1

Рекомендуется фиксировать значение 1. Для нескольких изображений отправляйте несколько отдельных запросов.

Требуемый диапазон: 1 <= x <= 1
Пример:

1

size
enum<string>
по умолчанию:1024x1024

Размеры и соотношения сторон изображения. auto выбирает размер автоматически; 1024x1024 и 2048x2048 — 1:1; 1536x1024 — 3:2; 1024x1536 — 2:3; 1536x1152 — 4:3; 1152x1536 — 3:4; 2048x1152 и 3840x2160 — 16:9; 2160x3840 — 9:16. Фактический размер может быть сопоставлен или скорректирован сервером, поэтому клиенту следует ориентироваться на реальные размеры декодированного изображения.

Доступные опции:
auto,
1024x1024,
1536x1024,
1024x1536,
1536x1152,
1152x1536,
2048x2048,
2048x1152,
3840x2160,
2160x3840
Пример:

"1024x1024"

response_format
enum<string>
по умолчанию:b64_json

Рекомендуется фиксировать b64_json, чтобы стабильно сохранять изображение.

Доступные опции:
b64_json
Пример:

"b64_json"

output_format
enum<string>
по умолчанию:png

Рекомендуется фиксировать png. Не рассчитывайте, что jpeg или webp всегда вернутся напрямую в выбранном формате.

Доступные опции:
png
Пример:

"png"

Ответ

Результат генерации изображения.

OpenAI-совместимый ответ с изображением. Клиентам следует читать data[0].b64_json и учитывать возможные дополнительные поля, например revised_prompt.

created
integer
Пример:

1710000000

data
object[]