| name | ai-image-tools |
| description | Generate and edit images using either OpenAI GPT Image 1.5 or Google's Nano Banana Pro (Gemini 3 Pro Image). Use when the user asks to generate/create/edit/modify images. Supports image-to-image editing for both providers and optional mask-based inpainting for OpenAI. |
AI Image Tools (OpenAI + Gemini)
One unified skill for image generation + editing, supporting:
- OpenAI: GPT Image 1.5 (generation + edits, optional mask inpainting)
- Gemini: Nano Banana Pro (Gemini 3 Pro Image) (generation + image-to-image edits)
Usage
Run from your current working directory so outputs save where you're working.
Generate (text → image)
uv run scripts/generate_image.py --prompt "A moody cinematic portrait of a golden retriever" --filename "out.png"
Pick a provider explicitly:
uv run scripts/generate_image.py --provider openai --prompt "..." --filename "out.png"
uv run scripts/generate_image.py --provider gemini --prompt "..." --filename "out.png"
Edit (image → image)
uv run scripts/generate_image.py --prompt "Make it look like a watercolor painting" --filename "out.png" --input-image "input.png"
Mask-based inpainting (OpenAI only):
uv run scripts/generate_image.py --provider openai --prompt "A red balloon" --filename "out.png" --input-image "input.png" --mask "mask.png"
Provider Selection
- Default
--provider auto:
- uses OpenAI if
OPENAI_API_KEY (or --openai-api-key) is available
- otherwise uses Gemini if
GEMINI_API_KEY (or --gemini-api-key) is available
- Set
--provider openai or --provider gemini to force one.
API Keys
- OpenAI:
- env:
OPENAI_API_KEY
- flag:
--openai-api-key
- Gemini:
- env:
GEMINI_API_KEY
- flag:
--gemini-api-key
Options (Provider-Specific)
OpenAI options
--quality low|medium|high (generation only; default medium)
--size 1024x1024|1024x1536|1536x1024|auto (default 1024x1024)
--background transparent|opaque|auto (generation only; default auto)
--mask path/to/mask.png (edits only)
Gemini options
--resolution 1K|2K|4K (default 1K)
Notes
- Output is always saved as PNG at
--filename.
- Don’t read the output image back into the model unless explicitly requested.