API
API
Nano Banana 2.1 API
ИзображениеAPI Nano Banana 2.1 обеспечивает более чёткие изображения и точное редактирование. Создавайте изображения по текстовым промптам или редактируйте референсы с гибкими соотношениями сторон и разрешением до 4K. Интегрируйте API, чтобы добавить в приложение генерацию и редактирование изображений высокого качества.
Тело
application/jsonmodelstringобязательноnano-banana-2-1input.promptstringобязательноОпишите изображение, которое нужно создать, или изменения для референсных изображений. Пробелы в начале и конце строки удаляются.
input.imagesstring[]необязательноНеобязательные URL референсных изображений. Используйте только общедоступные HTTPS URL. Для генерации изображений по тексту поле можно не передавать.
input.aspect_ratiostringнеобязательноСоотношение ширины и высоты результата. Auto позволяет модели выбрать значение автоматически.
По умолчанию: auto
input.resolutionstringнеобязательноУровень разрешения итогового изображения. Используйте значения 1k, 2k или 4k в нижнем регистре. Если поле не указано или оставлено пустым, по умолчанию используется 2k.
По умолчанию: 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-2-1",
"input": {
"prompt": "Кинематографичная продуктовая фотография футуристической камеры в форме банана",
"aspect_ratio": "1:1",
"resolution": "2k"
}
}'POST /api/v1/create · HTTP 201{
"data": {
"task_id": "task_example",
"model": "nano-banana-2-1",
"status": "processing",
"credits": 20
}
}Опрашивайте этот 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-2-1",
"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-2-1",
"status": "failed",
"data": null,
"failed_reason": "Generation failed."
}
}Расход кредитов
Расход кредитов на запрос, создающий одно изображение.
| Разрешение | 1K | 2K | 4K |
|---|---|---|---|
| Одно изображение | 12 | 20 | 30 |
Необязательные параметры не указаны: 12 кредитов
Явно укажите перечисленные параметры input, чтобы использовать соответствующий тариф. Запросы на несколько изображений могут расходовать больше кредитов.
Поле credits в ответе POST /api/v1/create показывает число кредитов, списанных за задачу.
