---
name: generating-images
description: Generate images using AI models via OpenRouter API. Supports text-to-image and image-based generation with customizable aspect ratios. Use when the user asks to generate, create, or synthesize images based on text descriptions or reference images.
---

# Generating Images

Use AI models to generate images from text descriptions or reference images via OpenRouter API.

## Quick start

### Text-to-image generation

Generate an image from a text description:

```bash
python scripts/generate.py \
  --prompt "A serene landscape with mountains and a lake at sunset" \
  --output "landscape.png"
```

### Image-to-image generation

Generate a new image based on a reference image:

```bash
python scripts/generate.py \
  --reference "girl.png" \
  --prompt "Same art style, but the girl is happily eating delicious braised pork" \
  --output "result.png"
```

## Configuration

### Initial setup

Set your OpenRouter API key as environment variable:

```bash
export OPENROUTER_API_KEY="sk-or-v1-YOUR_API_KEY_HERE"
```

## Aspect ratios

Specify custom aspect ratios with `--aspect-ratio`:

```bash
# Square image (1024x1024)
python scripts/generate.py --prompt "..." --aspect-ratio "1:1"

# Landscape (1344x768)
python scripts/generate.py --prompt "..." --aspect-ratio "16:9"

# Portrait (768x1344)
python scripts/generate.py --prompt "..." --aspect-ratio "9:16"
```

Supported ratios: `1:1`, `16:9`, `9:16`, `4:3`, `3:4`

## Advanced features

### Choose a different model

See [MODELS.md](MODELS.md) for available models and their capabilities.

```bash
python scripts/generate.py \
  --model "google/gemini-2.5-flash-image" \
  --prompt "..." \
  --output "result.png"
```

### More examples

See [EXAMPLES.md](EXAMPLES.md) for common use cases and scenarios.

## Scripts reference

### generate.py

Main image generation script.

**Required arguments:**
- `--prompt`: Text description of the image to generate
- `--output`: Output file path (e.g., `result.png`)

**Optional arguments:**
- `--reference`: Path to reference image for image-to-image generation
- `--aspect-ratio`: Image aspect ratio (default: `1:1`)
- `--model`: Model to use (default: from config.json)
- `--timeout`: Request timeout in seconds (default: 60)

**Examples:**

Text-to-image:
```bash
python scripts/generate.py \
  --prompt "Anime style girl drinking coffee" \
  --aspect-ratio "16:9" \
  --output "coffee.png"
```

Image-to-image:
```bash
python scripts/generate.py \
  --reference "style_reference.png" \
  --prompt "Same style, different scene: girl eating ramen" \
  --output "ramen.png"
```

## Error handling

The script handles common errors:
- Missing API key: Shows clear error message
- Network errors: Retries automatically
- Invalid image format: Validates before saving
- Missing reference file: Reports file not found

Check script output for detailed error messages.
