home / skills / sammcj / agentic-coding / invokeai-image-gen

invokeai-image-gen skill

/Skills/invokeai-image-gen

This skill helps you generate images using InvokeAI's local REST API, selecting models, adjusting prompts, and exporting results.

npx playbooks add skill sammcj/agentic-coding --skill invokeai-image-gen

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
4.6 KB
---
name: invokeai-image-gen
description: Generate images using InvokeAI's local API. Use when asked to generate, create, or make images with InvokeAI, FLUX.2 Klein, Z-Image Turbo, FLUX, or SDXL models. Supports text-to-image generation, automatic model detection, image download, and parameter selection based on model architecture.
# model: inherit
# context: fork
# user-invocable: true
# allowed-tools: Read,Bash
---

# InvokeAI Image Generation

Generate images via InvokeAI's REST API. Supports FLUX.2 Klein (default), Z-Image Turbo, FLUX.1, and SDXL.

## Quick Start

Simply call the script with your prompt and the output file name:

```bash
python scripts/generate.py -p "A dramatic sunset over snow-capped mountains, warm orange light reflecting off a still alpine lake in the foreground. Soft clouds catch the fading light." -o sunset.png
```

## Overriding The Default Model

If the user asks you to use a specific model, first find the model key, then use it in the command:

```bash
python scripts/generate.py --list-models | grep -i 'flux'

python scripts/generate.py -p "A tabby cat with bright green eyes sits on a weathered wooden windowsill, soft afternoon light streaming through lace curtains. Cosy, intimate mood." --model MODEL_KEY -o cat.png
```

## Options

| Option | Description |
|--------|-------------|
| `--prompt, -p` | Generation prompt (required) |
| `--negative, -n` | Negative prompt (SDXL only) |
| `--model, -m` | Model key (UUID) or partial name match |
| `--width, -W` / `--height, -H` | Dimensions |
| `--steps, -s` | Denoising steps |
| `--cfg, -c` | CFG scale |
| `--guidance, -g` | Guidance strength (FLUX.1 only) |
| `--scheduler` | Sampling scheduler |
| `--seed` | Random seed |
| `--output, -o` | Output path (default: invokeai-{seed}.png) |
| `--list-models` | List installed models |
| `--json` | JSON output |

## Model Defaults

Note: FLUX.2 Klein is the latest model which is used by default.

| Model | Steps | Guidance | CFG | Scheduler |
|-------|-------|----------|-----|-----------|
| FLUX.2 Klein | 4 | 3.5 | 1.0 | euler |
| Z-Image Turbo | 9 | - | 1.0 | euler |
| **FLUX.1 dev** | 28 | 3.5 | 1.0 | euler |
| **FLUX.1 Krea dev** | 28 | 4.5 | 1.0 | euler |
| **FLUX.1 Kontext dev** | 28 | 2.5 | 1.0 | euler |
| **FLUX.1 schnell** | 4 | 0.0 | 1.0 | euler |
| SDXL | 25 | - | 6.0 | dpmpp_2m_k |
| SDXL Turbo | 8 | - | 1.0 | dpmpp_sde |

All models default to 1024x1024. FLUX requires dimensions divisible by 16, SDXL by 8.

### FLUX.1 Variant Notes

- **FLUX.1 dev**: Standard text-to-image model, balanced quality/speed
- **FLUX.1 Krea dev**: Fine-tuned for aesthetic photography, use higher guidance (4.5)
- **FLUX.1 Kontext dev**: Image editing model, use lower guidance (2.5)
- **FLUX.1 schnell**: Distilled fast model, 4 steps, no guidance needed

## Model Selection

Auto-priority: Klein > Z-Image > FLUX > SDXL

Detection by name/base:
- **flux2_klein**: "klein" in name or "flux2" in base
- **flux_krea**: "krea" in name (FLUX.1 base)
- **flux_kontext**: "kontext" in name (FLUX.1 base)
- **flux_schnell**: "schnell" in name (FLUX.1 base)
- **flux**: "flux" in base (standard dev)
- **zimage**: "z-image" in base or "z-image/zimage" in name
- **sdxl**: "sdxl" in base (turbo/lightning variants auto-detect)

## Prompting (general information, but especially useful for FLUX.2 Klein)

Write prose, not keywords. Structure: **Subject -> Setting -> Details -> Lighting -> Atmosphere**

```
A weathered fisherman in his late sixties stands at the bow of a wooden boat,
wearing a salt-stained wool sweater. Golden hour sunlight filters through
morning mist, creating quiet determination and solitude.
```

**Key techniques:**
1. Front-load critical elements (word order matters)
2. Specify lighting: source, quality, direction, temperature
3. Include sensory texture: materials, reflections, atmosphere

**Good:** "A woman with short blonde hair poses against a light neutral background wearing colourful earrings, resting her chin on her hand."

**Bad:** "woman, blonde, short hair, neutral background, earrings"

Append style tags: `Style: Country chic. Mood: Serene, romantic.`

## Troubleshooting

| Issue | Solution |
|-------|----------|
| Connection refused | Check InvokeAI is running |
| Model not found | Use `--list-models` for valid keys |
| Dimensions error | FLUX: multiples of 16, SDXL: 8 |
| Black images (macOS) | Set `precision: bfloat16` in invokeai.yaml |

If the script fails to find the URL or authentication token, you can set or ask the user to set environment variables:

```bash
export INVOKEAI_API_URL='http://localhost:9090'
export INVOKEAI_AUTH_TOKEN='your-token'  # Optional
```

## Resources

- `scripts/generate.py` - Main generation script

Overview

This skill generates images using InvokeAI's local REST API and supports FLUX.2 Klein, Z-Image Turbo, FLUX variants, and SDXL models. It handles text-to-image generation, automatic model detection, and output handling so you can produce and download images from a local InvokeAI instance. Use it when you want fast, configurable image synthesis with sensible model and parameter defaults.

How this skill works

The skill constructs and sends generation requests to the InvokeAI API or calls the provided generate script. It auto-detects the best model based on installed model names and model base (Klein > Z-Image > FLUX > SDXL), chooses default parameters per model profile, and returns the generated image path or JSON metadata. If the user requests a specific model, it looks up the model key and uses it in the request. It also supports setting width/height, steps, guidance/CFG, scheduler, seed, negative prompts (SDXL), and downloading outputs.

When to use it

  • You want to generate images locally with InvokeAI models (FLUX.2 Klein, Z-Image Turbo, FLUX, SDXL).
  • You need automatic model selection and parameter presets that match model architecture.
  • You want to override defaults with explicit model keys or change resolution, steps, or seed.
  • You need output files or JSON metadata for downstream workflows or downloads.
  • You need guidance on prompt structure optimized for FLUX.2 Klein or SDXL.

Best practices

  • Front-load critical elements in prompts: subject -> setting -> details -> lighting -> atmosphere.
  • Specify lighting, material texture, and mood to improve fidelity, especially for FLUX.2 Klein.
  • Use --list-models to confirm installed model keys before forcing a specific model.
  • Respect dimension divisibility: FLUX models require multiples of 16; SDXL requires multiples of 8.
  • Set a seed for reproducible outputs and increase steps/CFG for higher-quality SDXL renders.

Example use cases

  • Create a 1024x1024 cinematic landscape using FLUX.2 Klein with warm golden-hour lighting.
  • Generate a fast concept pass with Z-Image Turbo at low steps for rapid iteration.
  • Produce a high-quality photoreal portrait using SDXL with negative prompts to remove artifacts.
  • Batch-generate variations with different seeds and download outputs for a content pipeline.
  • Switch to a FLUX.1 Krea dev model for more aesthetic photographic looks using higher guidance.

FAQ

How do I force a particular model?

List models with --list-models, find the model key (UUID or partial name), then pass --model MODEL_KEY in the command.

What if the API connection fails?

Ensure InvokeAI is running and reachable, and set INVOKEAI_API_URL and optional INVOKEAI_AUTH_TOKEN environment variables if needed.