# Nano Banana Poster

> Generate images and posters with Google Gemini. Use for: create image, generate visual, AI image generation, marketing poster.

- Skill: `aviz85/nano-banana-poster` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add aviz85/nano-banana-poster`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aviz85/nano-banana-poster/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: aviz85 (https://skillmd.com/u/aviz85)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aviz85/nano-banana-poster

---


# Nano Banana Poster Generator

> **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`.

Generate images using Google's Gemini model with optional reference assets.

## Quick Start

```bash
cd ~/.claude/skills/nano-banana-image/scripts

# Basic generation (default 3:2 horizontal)
npx ts-node generate_poster.ts "A futuristic city at sunset"

# With aspect ratio (3:2 horizontal, 2:3 vertical, 16:9 wide, 9:16 tall)
npx ts-node generate_poster.ts --aspect 3:2 "A wide landscape poster"
npx ts-node generate_poster.ts -a 9:16 "A vertical story format"

# With reference assets
npx ts-node generate_poster.ts --assets "my-logo" "Create banner with logo"

# Combined: aspect ratio + assets
npx ts-node generate_poster.ts --aspect 16:9 --assets "logo" "YouTube thumbnail"
```

## Aspect Ratio

**IMPORTANT:** Always use the default 3:2 aspect ratio unless the user explicitly requests a different format (like "vertical", "story", "square", etc.). Do NOT change the aspect ratio on your own.

Control image dimensions with `--aspect` or `-a`:

| Ratio | Use Case |
|-------|----------|
| `3:2` | Horizontal **(DEFAULT - use this unless user specifies otherwise)** |
| `1:1` | Square - Instagram, profile pics |
| `2:3` | Vertical - Pinterest, posters |
| `16:9` | Wide - YouTube thumbnails, headers |
| `9:16` | Tall - Stories, reels, TikTok |

```bash
npx ts-node generate_poster.ts --aspect 3:2 "Your prompt"
npx ts-node generate_poster.ts -a 16:9 "Your prompt"
```

## Adding Assets

Use `--assets` with full paths to include reference images:

```bash
# Single asset
npx ts-node generate_poster.ts --assets "/full/path/to/image.jpg" "Your prompt"

# Multiple assets (comma-separated)
npx ts-node generate_poster.ts --assets "/path/a.jpg,/path/b.png" "Use both images"
```

**Supported formats:** `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`

**IMPORTANT:** Assets are NOT automatically included. You must explicitly pass them via `--assets`.

## Save to Gallery

Save good results for future style reference:

```bash
npx ts-node generate_poster.ts --save-to-gallery "my-style" "prompt"
```

Creates `assets/gallery/my-style.jpg` + `.meta.json` with prompt info.

## API Configuration

Create `scripts/.env`:
```
GEMINI_API_KEY=your_api_key_here
```

## Hebrew/RTL Content

When generating images with Hebrew text:

**ALWAYS include in prompt:**
```
CRITICAL: All text must be in Hebrew.
CRITICAL: Layout direction is RTL (right-to-left).
Flow, reading order, and visual hierarchy must go from RIGHT to LEFT.
```

This ensures text renders correctly and visual flow matches Hebrew reading direction.

## Output

- Files saved as `poster_0.jpg`, `poster_1.jpg`, etc.
- Aspect ratio: Configurable via `--aspect` (default: 3:2)
- Quality: 1K (1024px on longest edge)

