Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate and edit images with OpenAI's gpt-image-2 model. Use when the user asks to create, generate, render, edit, modify, inpaint, or composite images via OpenAI / GPT Image. Supports text-to-image generation, single- and multi-image edits, mask-based inpainting, reference-image composition, and transparent backgrounds via gpt-image-1.5.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 31% | 0% |
Calls OpenAI's Image API with the gpt-image-2 model (default). Switch to gpt-image-1.5 with --model gpt-image-1.5 when you need transparent backgrounds. Two capabilities:
scripts/generate.py)scripts/edit.py)For full parameter reference and advanced patterns (Responses API multi-turn, streaming, custom resolutions), see references/api-reference.md and references/examples.md.
OPENAI_API_KEY exported in the environment.openai installed. If Pillow is needed for mask alpha-channel fixup, install pillow too.bash pip install openai pillow
bashpython scripts/generate.py \ --prompt "A children's book drawing of a vet listening to a baby otter's heartbeat" \ --output otter.png \ --size 1024x1024 \ --quality medium
--model gpt-image-1.5)bashpython scripts/generate.py \ --model gpt-image-1.5 \ --prompt "A shiny red apple on a transparent background" \ --output apple.png \ --background transparent
bashpython scripts/edit.py \ --image input.png \ --prompt "Add a small red balloon in the upper-left corner" \ --output edited.png
bashpython scripts/edit.py \ --image sunlit_lounge.png \ --mask mask.png \ --prompt "A pool containing a flamingo" \ --output lounge.png
bashpython scripts/edit.py \ --image lotion.png bath-bomb.png incense.png soap.png \ --prompt "A photorealistic gift basket on a white background labeled 'Relax & Unwind' containing all the items in the references" \ --output basket.png
When the user asks to make/edit an image, follow this order:
generate.py.edit.py (the model treats them as references).edit.py with --mask. The mask must:scripts/edit.py --fix-mask <path> first (auto-adds alpha) — see references/examples.md.| Flag | Values | Default | Notes | |------|--------|---------|-------| | --size | 1024x1024, 1536x1024, 1024x1536, 2048x2048, custom WxH, or auto | auto | Both edges multiples of 16; max edge 3840; ratio ≤ 3:1; total pixels in 655 360, 8 294 400] | | --quality | low, medium, high, auto | auto | Use low for drafts; medium/high for final | | --format | png, jpeg, webp | png | jpeg is fastest | | --compression | 0–100 | unset | Only with jpeg / webp | | --n | int ≥ 1 | 1 | Multiple images per call | | --moderation | auto, low | auto | low is less restrictive | | --model | gpt-image-2, gpt-image-1.5 | gpt-image-2 | gpt-image-1.5 supports transparent backgrounds | | --background | auto, opaque, transparent | auto | transparent only works with --model gpt-image-1.5 |
gpt-image-2gpt-image-1.5. gpt-image-2 does not support --background transparent; use --model gpt-image-1.5 --background transparent instead.input_fidelity param does not apply — every reference image is processed at high fidelity (and counted as more input tokens accordingly).high quality can take up to ~2 min. Use low while iterating, then re-run at high.1024x1024 ≈ $0.006, medium ≈ $0.053, high ≈ $0.211. Larger sizes cost more. See references/api-reference.md for the full table.--output; no manual base64 handling needed.The Image API (used by these scripts) is the right call for one-shot generate/edit. Switch to the Responses API instead when the user wants:
previous_response_id.references/examples.md has working snippets for both.
Other measured skills in the registry, with their headline benchmark lift.