From leoda-io
Generar, editar o componer imágenes para marketing con Nano Banana (Gemini 2.5 Flash Image) vía fal.ai. Use cuando el usuario diga "genera una imagen", "crea un visual", "edita esta foto", "compón a esta persona en esta escena", "usa esta foto como referencia", "mockup de producto", "/imagen-nano-banana", o cuando provea un prompt visual o una imagen de referencia. Soporta text-to-image, image-to-image edit, y referencias múltiples para preservar identidad de personajes/marcas.
How this skill is triggered — by the user, by Claude, or both
Slash command
/leoda-io:imagen-nano-bananaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generar imágenes de marketing llamando a Nano Banana en fal.ai. Tres modos:
Generar imágenes de marketing llamando a Nano Banana en fal.ai. Tres modos:
FAL_KEY configurada → si no, /setup-leoda/brief-creativo, los prompts visuales del brief son punto de partidaEndpoint: https://fal.run/fal-ai/nano-banana
curl -s -X POST "https://fal.run/fal-ai/nano-banana" \
-H "Authorization: Key ${FAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Premium ceramic mug filled with steaming espresso, warm morning window light, hero product shot, vertical 9:16 composition",
"num_images": 1,
"output_format": "jpeg",
"aspect_ratio": "9:16"
}'
| Parámetro | Valores | Para qué |
|---|---|---|
prompt | string en inglés | Descripción visual detallada |
num_images | 1–4 | Variantes por llamada |
output_format | jpeg | png | jpeg pesa menos, png mantiene transparencia |
aspect_ratio | 1:1, 9:16, 16:9, 4:5, 3:4 | Marco final |
Aspect ratios por plataforma:
1:1 o 4:59:1616:9Cuando necesites mantener un personaje, producto o estilo consistente entre escenas, usa el endpoint edit con image_urls. Esto es lo que permite, por ejemplo, generar 10 escenas distintas con el MISMO Ortiz manteniendo su rostro real.
Endpoint: https://fal.run/fal-ai/nano-banana/edit
curl -s -X POST "https://fal.run/fal-ai/nano-banana/edit" \
-H "Authorization: Key ${FAL_KEY}" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Place this same man (preserve face exactly from reference) walking confidently into an empty backyard...",
"image_urls": ["data:image/jpeg;base64,...", "https://..."],
"num_images": 1,
"aspect_ratio": "9:16",
"output_format": "jpeg"
}'
Parámetros adicionales del modo edit:
| Parámetro | Tipo | Descripción |
|---|---|---|
image_urls | array of strings | 1 a 5 URLs de referencia. Puede ser HTTPS URLs o data URLs base64 |
prompt | string | Debe incluir frases como "this same man", "preserve face exactly", "keep the same product" para forzar consistencia |
Cuándo usar Edit en lugar de Text-to-image:
Si el usuario sube una foto local que necesitas pasar a otros endpoints (como Seedance o Nano Banana edit), conviértela a data URL base64:
B64=$(base64 -w 0 "/ruta/al/archivo.jpg")
DATA_URL="data:image/jpeg;base64,${B64}"
# usar $DATA_URL en image_url o image_urls
Importante: data URLs grandes (>1 MB de archivo origen ≈ >1.3 MB data URL) pueden causar timeouts. Si el archivo es grande, primero re-comprime con ffmpeg -i in.jpg -q:v 5 out.jpg.
Nano Banana responde mejor a prompts en inglés con esta estructura: Subject + Action + Context + Style + Lighting + Composition + Technical detail.
❌ nice coffee photo
✅ Premium ceramic mug filled with steaming black espresso, sitting on a weathered oak table next to scattered coffee beans, soft morning window light from the left, shallow depth of field, warm earthy palette, 50mm lens look, hero product shot, vertical 9:16 composition
50mm lens, macro shot)"this same [subject]", "preserve face exactly", "keep the same [feature]"Cuando el usuario hable en español, traduce internamente al inglés el prompt antes de enviarlo.
Nano Banana NO escribe texto consistente. Si necesitas un logo, palabra, número o letra dentro de la imagen:
{
"images": [{"url": "https://...", "width": 768, "height": 1344}],
"description": "...",
"seed": 123456789
}
url de cada imagenoutputs/imagenes/<campana>-<n>.jpeg con curl -ocomputer://... linkoutputs/imagenes/<campana>-prompts.json para reproducibilidad| Error | Causa | Fix |
|---|---|---|
| 401 Unauthorized | FAL_KEY falta | /setup-leoda |
| 402 Insufficient balance | Sin saldo | Recargar https://fal.ai/dashboard/billing |
| 422 validation | Prompt vacío, aspect inválido | Corregir y reintentar |
| Reached concurrent limit | >10 requests en paralelo | Esperar 5s y reintentar |
| Imagen con texto borroso | Pediste texto en el prompt | Quitar palabras como "text", "logo", "label", regenerar |
| Imagen no preserva referencia | Prompt no enfatiza "this same..." | Reforzar con "preserve exactly", "same face same features" |
~$0.039 USD por imagen generada (text-to-image o edit). Avisa al usuario antes de generar lotes grandes (10+ imágenes).
references/prompt-recipes.md — recetas de prompts probados por categoríanpx claudepluginhub elianmh/leoda-io --plugin leoda-ioProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.