Google Gemini 3 Pro Image API reference. Covers text-to-image, editing, reference images, aspect ratios, and error handling.
plugin: nanobanana updated: 2026-01-20
# Set API key
export GEMINI_API_KEY="your-key"
# Generate image
uv run python main.py output.png "A minimal 3D cube"
export GEMINI_API_KEY="your-api-key"
| Model | Resolution | Best For | |-------|------------|----------| | gemini-3-pro-image-preview | Up to 4K | High quality | | gemini-2.5-flash-image | Up to 1K | Quick iterations |
| Ratio | Use Case | |-------|----------| | 1:1 | Social media, icons | | 3:4 | Portrait photos | | 4:3 | Traditional photos | | 4:5 | Instagram portrait | | 5:4 | Landscape photos | | 9:16 | Mobile, stories | | 16:9 | YouTube, desktop | | 21:9 | Cinematic, ultrawide |
| Flag | Description | Example |
|------|-------------|---------|
| --style | Apply style template | --style styles/glass.md |
| --edit | Edit existing image | --edit photo.jpg |
| --ref | Reference image | --ref style.png |
| --aspect | Aspect ratio | --aspect 16:9 |
| --model | Model ID | --model gemini-2.5-flash-image |
| --max-retries | Retry attempts | --max-retries 5 |
| Code | Meaning | Recovery |
|------|---------|----------|
| SUCCESS | Operation completed | N/A |
| API_KEY_MISSING | GEMINI_API_KEY not set | Export the variable |
| FILE_NOT_FOUND | Referenced file missing | Check path |
| INVALID_INPUT | Bad prompt or argument | Fix input |
| RATE_LIMITED | Too many requests | Wait, uses auto-retry |
| NETWORK_ERROR | Connection failed | Check network, auto-retry |
| API_ERROR | Gemini API error | Check logs |
| CONTENT_POLICY | Blocked prompt | Adjust content |
| TIMEOUT | Request timed out | Retry |
| PARTIAL_FAILURE | Some batch items failed | Check individual results |
The script automatically retries on transient errors:
Retry uses exponential backoff: 1s, 2s, 4s, 8s, etc.
Maximum retries configurable with --max-retries (default: 3)
--max-retries for unreliable connectionsSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer