API
API
Nano Banana Pro API
ИзображениеNano Banana Pro API обеспечивает высококачественную генерацию изображений в 2K с поддержкой апскейла до 4K, улучшенным пониманием промптов, точным рендерингом текста, более проработанным освещением и расширенным контролем композиции. Интегрируйте API, чтобы добавить в приложения более точную и готовую к продакшену генерацию изображений.
Тело
application/jsonmodelstringобязательноnano-banana-proinput.promptstringобязательноОпишите изображение, которое нужно создать, или изменения для референсных изображений. Пробелы в начале и конце строки удаляются.
Максимальная длина: 5 000 символов
input.imagesstring[]необязательноНеобязательные URL референсных изображений. Используйте только общедоступные HTTPS URL. Для генерации изображений по тексту поле можно не передавать.
Максимум элементов: 14
input.aspect_ratiostringнеобязательноСоотношение ширины и высоты результата. Auto позволяет модели выбрать значение автоматически.
По умолчанию: auto
input.resolutionstringнеобязательноУровень разрешения результата; регистр символов не учитывается. Не передавайте поле или оставьте его пустым, чтобы использовать значение по умолчанию.
По умолчанию: 2k
Примеры запросов
POST /api/v1/createcurl -X POST https://nanobanana.io/api/v1/create \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"input": {
"prompt": "Кинематографичная продуктовая фотография футуристической камеры в форме банана"
}
}'POST /api/v1/create · HTTP 201{
"data": {
"task_id": "task_example",
"model": "nano-banana-pro",
"status": "processing",
"credits": 50
}
}Опрашивайте этот endpoint с возвращённым ID задачи до её завершения или ошибки. Рекомендуем выполнять polling каждые 5 секунд для получения актуального статуса.
POST /api/v1/check{
"task_id": "task_example"
}Ответ
Статус задачи, возвращаемый POST /api/v1/check. ID, URL и временные метки ниже приведены для примера.
idstringобязательноИдентификатор задачи в data.id совпадает с task_id в запросе проверки.
statusstringобязательноfailed_reasonstringнеобязательноВозвращается только при status failed и объясняет причину ошибки. Для completed и processing это поле отсутствует.
Завершено · completed
Ссылки для скачивания находятся в data.data.results.
POST /api/v1/check · HTTP 200{
"data": {
"id": "task_example",
"created_at": 1791244800,
"model": "nano-banana-pro",
"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": "nano-banana-pro",
"status": "failed",
"data": null,
"failed_reason": "Generation failed."
}
}Расход кредитов
Расход кредитов на запрос, создающий одно изображение.
| Разрешение | 1K | 2K | 4K |
|---|---|---|---|
| Одно изображение | 30 | 30 | 50 |
Необязательные параметры не указаны: 50 кредитов
Явно укажите перечисленные параметры input, чтобы использовать соответствующий тариф. Запросы на несколько изображений могут расходовать больше кредитов.
Поле credits в ответе POST /api/v1/create показывает число кредитов, списанных за задачу.
