Primeros pasos

Inicio rápido

Empieza a usar Nano Banana API con un token Bearer, un cuerpo de solicitud JSON y los dos endpoints de producción: create y check.

Qué necesitas

  • AUna cuenta de Nano Banana con créditos disponibles
  • Una clave API creada desde el panel de Claves API

Obtén tu clave API

Inicia sesión, abre la página de Claves API, introduce un nombre para la clave y haz clic en Crear. Copia la clave de inmediato; la clave completa solo se muestra una vez.

Configura el encabezado de tu solicitud HTTP

URL base

HTTPS
https://nanobanana.io
HTTP
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json

Inicio rápido

Envía una carga JSON para crear una tarea de generación asíncrona. Guarda el task_id devuelto y úsalo para consultar el estado de la tarea.

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": "nano-banana-2",
  "input": {
    "prompt": "Una foto de producto cinematográfica de una cámara futurista con forma de plátano",
    "aspect_ratio": "1:1",
    "resolution": "1k"
  }
}'
Respuesta
{
  "data": {
    "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617",
    "model": "nano-banana-2",
    "status": "processing",
    "credits": 20
  }
}

Crear una tarea

Envía un ID de modelo y un objeto de entrada para crear una tarea de generación asíncrona. Este endpoint confirma que la tarea se ha puesto en cola; no espera al resultado multimedia final.

POST/api/v1/create

Autorizaciones

Campo
Tipo
obligatorio
Descripción y restricciones
Authorizationstringobligatorio
Clave API enviada como token Bearer en el encabezado de la solicitud. Ejemplo: Authorization: Bearer sk_live_your_api_key

Cuerpo de la solicitud

application/json
Campo
Tipo
obligatorio
Descripción y restricciones
modelstringobligatorio
ID público del modelo. Usa un modelo incluido en la sección API, por ejemplo nano-banana-2.
inputobjectobligatorio
Entrada de generación. Debe incluir un prompt no vacío. Los demás campos de entrada dependen del modelo; consulta la documentación correspondiente antes de enviar campos como imágenes, relación de aspecto, duración, resolución o cantidad.
JSON
{
  "model": "nano-banana-2",
  "input": {
    "prompt": "Una foto de producto cinematográfica de una cámara futurista con forma de plátano",
    "aspect_ratio": "1:1",
    "resolution": "1k"
  }
}

Respuesta de creación

application/json

Una respuesta correcta devuelve el ID de tarea, el ID del modelo, el estado en cola y el número de créditos reservados para esta tarea.

HTTP 201
{
  "data": {
    "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617",
    "model": "nano-banana-2",
    "status": "processing",
    "credits": 20
  }
}

Obtener estado de la tarea

Consulta este endpoint con el ID de tarea devuelto hasta que la tarea se complete o falle. Recomendamos consultar cada 5 segundos para comprobar el estado más reciente.

POST/api/v1/check

Cuerpo de la solicitud

application/json
Campo
Tipo
obligatorio
Descripción y restricciones
task_idstringobligatorio
El ID de tarea devuelto por POST /api/v1/create. Usa este ID para obtener el estado de la tarea y las URL de los resultados finales.
JSON
{
  "task_id": "d0a8d9f2-5e01-4c5d-9f40-38d197a1c617"
}

Respuesta de estado

application/json

Cuando finaliza el procesamiento, la respuesta incluye las URL de los resultados finales y metadatos de tiempo. Mientras la tarea siga ejecutándose, data se devuelve como null.

HTTP 200
{
  "id": "adc0e6ec-9c12-44fc-b45f-112187766c3",
  "created_at": 1788652800,
  "model": "nano-banana-2",
  "status": "completed",
  "data": {
    "results": [
      "https://cdn.nanobanana.io/api/predictions/example.mp4"
    ],
    "processing_time": 48
  }
}