API

GPT Image 2.5 API

Изображение

API GPT Image 2.5 предоставляет вашему приложению доступ к самым передовым моделям OpenAI для генерации и редактирования изображений. Создавайте изображения по тексту или редактируйте референсы с гибким соотношением сторон и выводом в 1K, 2K или 4K. Выбирайте flare для быстрой повседневной генерации высокого качества, а sunburst — для требовательных творческих задач и точного редактирования.

Авторизация

Bearerstringheaderобязательно

API-ключ для авторизации запросов

Тело

application/json
modelstringобязательно
gpt-image-2-5
input.promptstringобязательно

Опишите желаемое изображение: объект, композицию, стиль и освещение. При редактировании укажите, что нужно изменить и что сохранить в референсах. Пробелы в начале и конце удаляются.

input.modestringнеобязательно

Выберите вариант GPT Image 2.5. flare используется по умолчанию и ориентирован на скорость для качественной повседневной генерации и быстрых итераций. sunburst ориентирован на высокие требования к качеству и точность редактирования, особенно когда важны аккуратные изменения референсных изображений.

Оба режима поддерживают генерацию по тексту и редактирование изображений. Не передавайте input.images для генерации по тексту или добавьте референсы для редактирования. Сравнивайте режимы с одинаковыми промптом, референсами, соотношением сторон и разрешением.

По умолчанию: flare

flaresunburst
input.imagesstring[]необязательно

Необязательные URL референсных изображений. Используйте только общедоступные HTTPS URL. Для генерации изображений по тексту поле можно не передавать.

input.aspect_ratiostringнеобязательно

Соотношение ширины и высоты результата. auto позволяет модели выбрать подходящую композицию. Выберите соотношение из списка, чтобы задать формат: 1:1 для квадратных изображений, 9:16 для вертикальных или 16:9 для горизонтальных.

По умолчанию: auto

auto1:12:33:23:44:39:1616:921:9
input.resolutionstringнеобязательно

Уровень разрешения результата. Используйте значения 1k, 2k или 4k в нижнем регистре для выбора соответствующего уровня. Укажите это поле явно, если требуется определённое разрешение.

По умолчанию: 2k

1k2k4k

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

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gpt-image-2-5",
  "input": {
    "prompt": "Кинематографичная продуктовая фотография футуристической камеры в форме банана"
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "gpt-image-2-5",
    "status": "processing",
    "credits": 5
  }
}

Опрашивайте этот endpoint с возвращённым ID задачи до её завершения или ошибки. Рекомендуем выполнять polling каждые 5 секунд для получения актуального статуса.

POST /api/v1/check
{
  "task_id": "task_example"
}

Ответ

Статус задачи, возвращаемый POST /api/v1/check. ID, URL и временные метки ниже приведены для примера.

idstringобязательно

Идентификатор задачи в data.id совпадает с task_id в запросе проверки.

statusstringобязательно
completed означает успешную генерацию, а data.data содержит результаты. При других статусах data.data равно null.
failed_reasonstringнеобязательно

Возвращается только при status failed и объясняет причину ошибки. Для completed и processing это поле отсутствует.

Завершено · completed

Ссылки для скачивания находятся в data.data.results.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "gpt-image-2-5",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.png"
      ],
      "processing_time": 18
    }
  }
}

Другие статусы

При processing или failed значение data.data равно null. Этот пример показывает failed: только failed содержит failed_reason. При processing продолжайте проверку, при failed прекратите её.

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "gpt-image-2-5",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

Расход кредитов

Расход кредитов на запрос, создающий одно изображение.

Расход кредитов на запрос, создающий одно изображение.
Разрешение1K2K4K
Одно изображение123650

Необязательные параметры не указаны: 5 кредитов

Явно укажите перечисленные параметры input, чтобы использовать соответствующий тариф. Запросы на несколько изображений могут расходовать больше кредитов.

Поле credits в ответе POST /api/v1/create показывает число кредитов, списанных за задачу.