Este artículo usa un script Python realmente ejecutable para demostrar cómo llamar a la capacidad de edición de imágenes Nano Banana de Google y recortar fondos de imágenes de producto.
El objetivo de esta implementación es muy claro:
- Leer imágenes de producto desde un directorio
- Llamar al modelo de imagen de Google para eliminar el fondo
- Hacer una limpieza local adicional del fondo transparente sobre la imagen devuelta
- Exportar finalmente como
PNGcon fondo transparente
Si ya tienes un lote de imágenes de producto con fondo blanco, fotos de auriculares o cables, y quieres generar rápidamente imágenes de fondo transparente aptas para e-commerce, esta forma es bastante directa.
Qué hace este código
Este script se divide principalmente en 4 partes:
- Definir el prompt para que el modelo sepa que debe “quitar fondo, conservar sujeto, no añadir sombras”
- Llamar a la interfaz de generación de imágenes de
google-genai - Extraer el resultado de imagen desde la respuesta del modelo
- Usar lógica local para convertir fondos claros de los bordes en transparencia, reduciendo restos de borde
Es decir, no se limita a enviar una imagen al modelo y terminar, sino que encadena “edición con modelo + posprocesamiento local”.
Preparación antes de ejecutar
Primero instala dependencias:
|
|
Cómo obtener GEMINI_API_KEY
GEMINI_API_KEY es la clave usada para llamar a Gemini API. Según el quickstart oficial de Google, si todavía no tienes una key, puedes crearla directamente en Google AI Studio.
Pasos:
- Abre Google AI Studio.
- Inicia sesión con tu cuenta de Google.
- Busca la página
Get API keyoAPI keys. - Crea una nueva API key.
- Copia la key generada.
- Configúrala como variable de entorno local para que el script pueda leerla.
Si la página todavía no tiene un proyecto disponible, normalmente hay que completar primero la inicialización del proyecto y después volver a la página de API Key para crear la clave.
Después de obtener la key, configura la variable de entorno:
|
|
Si usas cmd, puedes escribir:
|
|
Si configuras a la vez GEMINI_API_KEY y GOOGLE_API_KEY, en ejecución normalmente se leerá primero GOOGLE_API_KEY, así que se recomienda conservar solo una para evitar confusión.
Ejemplo de estructura de directorios
El script recibe dos parámetros:
input_dir: directorio de imágenes de entradaoutput_dir: directorio de imágenes de salida
Por ejemplo:
|
|
Cómo ejecutarlo
Suponiendo que el script se llame cutout.py, se ejecuta así:
|
|
Si quieres cambiar de modelo, también puedes pasar el parámetro explícitamente:
|
|
El script recorrerá estos formatos dentro del directorio de entrada:
.jpg.jpeg.png.webp
Al terminar, generará archivos PNG con fondo transparente y el mismo nombre en el directorio de salida.
Flujo principal de llamada
La llamada clave a Google Nano Banana está aquí:
|
|
Aquí se pasan dos contenidos:
- Un prompt de texto
PROMPT - Una imagen
PIL.Image
El prompt le pide al modelo eliminar el fondo completo de la imagen de producto, conservar solo el sujeto y enfatiza varios puntos:
- Conservar el producto completo
- Conservar detalles de cables y líneas finas
- Limpiar huecos internos y zonas anulares
- No añadir objetos nuevos
- No añadir sombras
Este tipo de prompt influye mucho en la calidad del recorte, especialmente en detalles como cables de auriculares, bordes transparentes y zonas huecas.
Por qué hacer otro posprocesamiento local
Después de que el modelo devuelve el resultado, el script no lo guarda directamente, sino que ejecuta make_transparent_from_borders(image).
La idea de este paso es:
- Buscar píxeles de fondo claros desde los bordes de la imagen
- Usar búsqueda en anchura para marcar todas las zonas claras conectadas
- Convertir finalmente esas zonas en transparentes
La ventaja es que puede limpiar mejor algunos bordes blancos residuales, fondos gris claro y zonas de borde poco limpias.
La condición para decidir “si es fondo” está aquí:
|
|
En términos simples:
- El color debe ser suficientemente claro
- La diferencia entre los tres canales RGB no debe ser grande
Esto encaja bien con fondos blancos, gris claro o casi de color sólido en imágenes de producto.
Código fuente completo
Abajo se conserva el código fuente completo actual, para que puedas reutilizarlo o modificarlo directamente:
|
|
Qué conviene optimizar después
Si quieres seguir usando este script para producción por lotes, después puedes añadir:
- Reintentos ante fallos, para evitar que una sola imagen rompa todo el lote
- Registro de logs, para localizar qué imagen falló
- Umbrales configurables para distintos fondos
- Escaneo recursivo de subdirectorios
- Vista previa comparativa entre imagen original y resultado
Resumen
Si solo quieres entender rápido “cómo llamar a Google Nano Banana para recortar fondos”, el núcleo son tres pasos:
- Instalar
google-genaiyPillow - Configurar
GEMINI_API_KEY - Usar
client.models.generate_content()pasando prompt e imagen
El valor de este código está en que no solo llama al modelo, sino que añade posprocesamiento de fondo transparente, por lo que sirve mejor para tareas reales de recorte de imágenes de producto.