Skip to main content
Este documento presenta la integración y uso de la API de Imágenes Nano Banana. Esta interfaz admite dos capacidades: generación de imágenes (generate) y edición de imágenes (edit).

Proceso de solicitud

Antes de usar, ingrese a la plataforma XHuoAPI en Nano Banana Images API y haga clic en Acquire para solicitar la activación. La primera solicitud generalmente tendrá un límite gratuito disponible. Una vez completada la activación, podrá obtener el Bearer Token necesario para llamar a la API en la plataforma.

Resumen de la interfaz

  • Base URL: https://api.xhuoapi.ai/v1
  • Endpoint: POST /nano-banana/images
  • Método de autenticación: Se debe incluir authorization: Bearer {token} en el HTTP Header
  • Encabezados de solicitud:
    • accept: application/json
    • content-type: application/json
  • Acciones (action):
    • generate: Generar imágenes según el texto de indicación
    • edit: Editar basado en la imagen proporcionada
  • Modelos (model) (opcional):
    • nano-banana (predeterminado): Basado en Gemini 2.5 Flash Image, rápido y de bajo costo
    • nano-banana-2: Basado en Gemini 3.1 Flash Image Preview, calidad Pro + velocidad Flash
    • nano-banana-pro: Basado en Gemini 3 Pro Image Preview, calidad máxima
  • Callback asíncrono: Opcional, recibir notificaciones de finalización de tareas y resultados a través de callback_url

Comenzar rápidamente: Generar imagen (action=generate)

Parámetros mínimos requeridos: action, prompt Cuando solo desea generar una imagen directamente a partir de un texto de indicación, establezca action en generate y proporcione un prompt claro.

Ejemplo de solicitud (cURL)

Ejemplo de solicitud (Python)

Ejemplo de respuesta exitosa

Descripción de campos

  • success: Indica si la solicitud fue exitosa.
  • task_id: ID de la tarea.
  • trace_id: ID de seguimiento de la cadena, útil para la resolución de problemas.
  • data[]: Lista de resultados.
    • prompt: Texto de indicación utilizado para la generación (eco).
    • image_url: URL directa de la imagen generada.
Nota: /nano-banana/images solo requiere action y prompt para generar una imagen.

Editar imagen (action=edit)

Cuando desea editar una imagen existente, establezca action en edit y pase la lista de enlaces de imágenes a editar a través de image_urls (1 o más), al mismo tiempo que proporciona un prompt que describa el objetivo de la edición. Por ejemplo, aquí proporcionamos una foto de una persona y una foto de una camiseta, para que la persona use esta camiseta, se pueden pasar los enlaces de las imágenes y especificar la acción como edit, la URL puede ser una URL HTTP, accesible públicamente con el protocolo https o http, o puede ser una imagen codificada en Base64, como data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAVGCAMAAAA6u2FyAAADAFBMVEXq6uwdHCEeHyMdHS....

Ejemplo de solicitud (cURL)

Ejemplo de solicitud (Python)

Ejemplo de respuesta exitosa

Descripción de campos

  • image_urls[]: Lista de URLs de imágenes a editar (debe ser accesible públicamente). Se pueden pasar varias, el servicio combinará estos materiales con el prompt para completar la edición.
  • Los demás campos son los mismos que en la respuesta de “generar imagen”.

Callback asíncrono (opcional, recomendado)

Generar o editar puede tardar un tiempo. Para evitar que las conexiones largas ocupen recursos, se recomienda usar callback de Webhook a través de callback_url:
  1. Agrega callback_url en el cuerpo de la solicitud, por ejemplo, la dirección de tu Webhook en el servidor (debe ser accesible públicamente y soportar POST JSON).
  2. La API devolverá inmediatamente una respuesta que contiene task_id (o resultados básicos).
  3. Cuando la tarea esté completa, la plataforma enviará el JSON completo a callback_url de forma POST. Puedes asociar la solicitud con el resultado a través de task_id.
Ejemplo de carga de callback (la estructura de los campos es la misma que la respuesta de éxito sincrónica):

Manejo de errores

Cuando la llamada falla, se devolverá un formato de error estándar con un ID de seguimiento. Los errores comunes son los siguientes:
  • 400 token_mismatched: solicitud no válida o error en los parámetros.
  • 400 api_not_implemented: interfaz no implementada (por favor contacta soporte).
  • 401 invalid_token: fallo en la autenticación o falta de Token.
  • 429 too_many_requests: frecuencia de solicitudes excedida.
  • 500 api_error: excepción del servidor.

Ejemplo de respuesta de error


Correspondencia de parámetros y consideraciones

  • Requerido: action, prompt
  • Solo para edición: image_urls (arreglo, al menos 1 elemento)
  • Opcional: model (por defecto nano-banana, opcional nano-banana-2 o nano-banana-pro), aspect_ratio (relación de aspecto, como 1:1, 16:9), resolution (resolución, como 1K, 2K, 4K), callback_url (para callback asíncrono)
  • Headers: se debe proporcionar authorization: Bearer {token}; se sugiere que accept se establezca en application/json
  • Accesibilidad de imágenes: image_urls debe ser un enlace directo accesible públicamente (HTTP/HTTPS), se sugiere usar HTTPS
  • Idempotencia y seguimiento: conserva task_id y trace_id, para facilitar la resolución de problemas y la asociación de resultados