Voltar ao índice
Design e UI

Geração e edição de imagens com Nano Banana

Gera e edita imagens com modelos Nano Banana via Gemini, incluindo referências locais, lotes, dry run e endpoints compatíveis.

Ver código no GitHub Instala diretamente do repositório-fonte.

O que esta skill faz

Esta skill oferece um ponto de entrada Python para geração e edição de imagens com variantes Nano Banana. Ela valida opções, aceita referências locais, executa lotes e permite inspecionar requisições antes do envio ou usar um gateway compatível.

Quando usar

  • Gerar uma imagem a partir de texto
  • Editar uma imagem usando referências locais
  • Produzir várias variações em lote
  • Inspecionar o payload com dry run
  • Usar uma URL base compatível com Gemini

Como usar

  1. Revise config.md para definir variáveis e precedência
  2. Consulte models-and-api.md antes de escolher o modelo
  3. Prepare prompt, saída, proporção e referências necessárias
  4. Execute generate ou batch, usando --dry-run quando houver dúvida
  5. Salve a resposta bruta se precisar diagnosticar a chamada

O que revisar antes de instalar

  • Cada modelo pode aceitar opções e restrições diferentes
  • Um endpoint personalizado precisa ser compatível com a API Gemini
  • A qualidade depende do modelo, do prompt e das referências fornecidas

SKILL.md

---
name: nanobanana
description: Gemini-native Nano Banana image generation and editing across Nano Banana, Nano Banana 2, and Nano Banana Pro. Use when you need text-to-image, image-to-image edits, repeated local references, batch generation, dry-run request inspection, or a custom Gemini-compatible base URL such as a self-hosted gateway.
---

# Nano Banana

A single Python entrypoint for Gemini-native Nano Banana image generation and editing, with model aliases, strict option validation, batch runs, and custom endpoint support.

## Workflow

1. Open [references/config.md](./references/config.md) to choose environment variables and override order.
2. Open [references/models-and-api.md](./references/models-and-api.md) to pick the right Nano Banana tier and check model-specific constraints.
3. Prefer `gemini-3.1-flash-image-preview` (`nanobanana-2`) unless you need either the fastest low-cost default (`nanobanana`) or the highest-fidelity reasoning model (`nanobanana-pro`).
4. Run `scripts/nanobanana.py generate` for one request or `scripts/nanobanana.py batch` for repeated variants.
5. Add `--dry-run` first when the main risk is the payload shape, endpoint, or model-specific option support.
6. Pass `--base-url` or `GEMINI_BASE_URL` when you need a custom Gemini-compatible gateway.
7. Add `--save-response <path>` on `generate` when you need the raw JSON body for debugging.

## Commands

Single text-to-image request:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "A retro-futurist product hero illustration for a developer tool" `
  --output .\out\hero.png `
  --model nanobanana-2 `
  --ratio 16:9 `
  --size 2K
```

Edit an existing image with two local references:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "Turn these references into a clean launch poster with legible title text" `
  --input-image .\refs\subject.png `
  --input-image .\refs\background.png `
  --output .\out\poster.png `
  --model nanobanana-pro `
  --ratio 4:5 `
  --size 2K
```

Use a custom Gemini-compatible gateway:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "A bold mascot sticker pack" `
  --output .\out\stickers.png `
  --base-url http://your-gateway.example.com/v1beta `
  --auth-mode bearer
```

Batch-generate five variants:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py batch `
  --prompt "Minimal app icon for a PDF workflow product" `
  --count 5 `
  --dir .\out\icons `
  --prefix icon `
  --model nanobanana `
  --ratio 1:1
```

Inspect the final request without sending it:

```powershell
python .\skills\nanobanana\scripts\nanobanana.py generate `
  --prompt "An editorial illustration of AI agents at work" `
  --model nanobanana-2 `
  --output .\out\agents.png `
  --dry-run
```

## Rules

- `--model` accepts the aliases `nanobanana`, `nanobanana-2`, and `nanobanana-pro`, or an exact Gemini model ID.
- `nanobanana` resolves to `gemini-2.5-flash-image`, `nanobanana-2` resolves to `gemini-3.1-flash-image-preview`, and `nanobanana-pro` resolves to `gemini-3-pro-image-preview`.
- `image_size` is only valid on Gemini 3 image models; `nanobanana` rejects `--size`.
- `512` resolution is only valid on `nanobanana-2`.
- Process environment variables override `.env`; CLI flags override both.
- Never print secrets.
- `generate` accepts repeated `--input-image` paths for image editing or multi-reference generation.
- `--base-url` should point to the Gemini API root such as `https://generativelanguage.googleapis.com/v1beta`, not directly to `/models/...`.
- `--auth-mode auto` uses `x-goog-api-key` for the official Google endpoint and sends both `Authorization: Bearer` and `x-goog-api-key` for custom endpoints to maximize gateway compatibility.

## Resources

- Script: [scripts/nanobanana.py](./scripts/nanobanana.py)
- Config reference: [references/config.md](./references/config.md)
- Models and API reference: [references/models-and-api.md](./references/models-and-api.md)