GPT Image Skill
Generate or edit images using OpenAI's GPT Image models through a bundled Python script.
Resolve the skill directory
Before running any command, resolve the absolute directory containing this SKILL.md and refer to it as <skill-dir>. Never assume the current working directory is the Skill directory. Keep user input and output paths relative to the user's working directory unless the user requests another location.
Requirements
- OPENAI_API_KEY: Must be configured in
~/.gpt-image.env or export OPENAI_API_KEY=<your-key>
- OPENAI_API_BASE (optional): Custom API base URL for compatible endpoints (e.g. Azure OpenAI, proxies). Set in
~/.gpt-image.env or export it.
- Python3 with dependencies: openai, httpx, python-dotenv. Install via
python3 -m pip install -r "<skill-dir>/requirements.txt" if not installed yet.
- Executable:
<skill-dir>/gpt_image.py
Instructions
For image generation
Ask the user for:
- What they want to create (the prompt)
- Desired size (optional, defaults to 1024x1024)
- Output filename (optional, auto-generates UUID-based name if not specified)
- Model preference (optional, defaults to gpt-image-2)
- Quality (optional, defaults to auto)
- Number of images (optional, defaults to 1)
Run the script:
python3 "<skill-dir>/gpt_image.py" --prompt "description of image" --output "filename.png"
Show the user the saved image path when complete.
For image editing
Ask the user for:
- Input image file(s) to edit
- What changes they want (the prompt)
- Output filename (optional)
Run with input images:
python3 "<skill-dir>/gpt_image.py" edit --prompt "editing instructions" --input image1.png image2.png --output "edited.png"
Parent directories in the output path are created automatically. When --format is omitted, the script infers it from .png, .jpg/.jpeg, or .webp; otherwise it defaults to PNG.
Available Options
Models (--model)
gpt-image-2 (default) — Latest model with strong instruction following, text rendering, and broad world knowledge
gpt-image-1.5 — Mid-tier model
gpt-image-1 — First-generation GPT image model
gpt-image-1-mini — Lightweight, faster generation
Sizes (--size)
1024x1024 (default) — Square
1024x1536 — Portrait (2:3)
1536x1024 — Landscape (3:2)
auto — Let the model decide
Quality (--quality)
auto (default) — Model decides optimal quality
high — Higher detail, slower
medium — Balanced
low — Fastest
Output Format (--format)
png (default) — Lossless
jpeg — Smaller file size
webp — Modern format, good compression
Background (--background)
auto (default) — Model decides
transparent — Transparent background (png/webp only)
opaque — Solid background
Other Options
--n <count> — Number of images to generate (default: 1)
--output <filename> — Output filename (default: auto-generated)
Examples
Generate a simple image
python3 "<skill-dir>/gpt_image.py" --prompt "A serene mountain landscape at sunset with a lake"
Generate with specific size and output
python3 "<skill-dir>/gpt_image.py" \
--prompt "Modern minimalist logo for a tech startup" \
--size 1024x1024 \
--quality high \
--output "logo.png"
Generate landscape image
python3 "<skill-dir>/gpt_image.py" \
--prompt "Futuristic cityscape with flying cars" \
--size 1536x1024 \
--output "cityscape.png"
Generate with transparent background
python3 "<skill-dir>/gpt_image.py" \
--prompt "A cute cartoon cat mascot" \
--background transparent \
--format png \
--output "mascot.png"
Generate multiple images
python3 "<skill-dir>/gpt_image.py" \
--prompt "Abstract art in the style of Kandinsky" \
--n 3 \
--output "art.png"
Edit existing images
python3 "<skill-dir>/gpt_image.py" edit \
--prompt "Add a rainbow in the sky" \
--input photo.png \
--output "photo-with-rainbow.png"
Combine multiple reference images
python3 "<skill-dir>/gpt_image.py" edit \
--prompt "Create a gift basket containing all items shown" \
--input item1.png item2.png item3.png \
--output "gift-basket.png"
Use a different model
python3 "<skill-dir>/gpt_image.py" \
--prompt "Detailed portrait of a cat in watercolor style" \
--model gpt-image-1 \
--output "cat-portrait.png"
Error Handling
If the script fails:
- Check that
OPENAI_API_KEY is exported
- If using a custom endpoint, verify
OPENAI_API_BASE is correct
- Verify input image files exist and are readable (for editing)
- Ensure the output directory is writable
- Check that the model name is valid
Best Practices
- Be descriptive in prompts — include style, mood, colors, composition details
- For logos/icons, use square size (1024x1024) with transparent background
- For social media, use portrait (1024x1536) for stories or square for posts
- For wallpapers/headers, use landscape (1536x1024)
- Use
high quality for final output, auto for quick iterations
- GPT Image models excel at text rendering — include text in prompts when needed
- For editing, provide clear instructions about what to change and what to keep
1---2name: gpt-image-skill3description: Generate or edit images using OpenAI GPT Image API (gpt-image-2, gpt-image-1, etc). Triggers: "gpt image", "openai image", "generate image with openai", "draw image", "create image", "image generation", "AI drawing", "图片生成", "AI绘图", "生成图片", "画图". Use this skill whenever the user wants to generate or edit images and mentions OpenAI, GPT, or when OPENAI_API_KEY is available.4---5
6# GPT Image Skill
7
8Generate or edit images using OpenAI's GPT Image models through a bundled Python script.
9
10## Resolve the skill directory
11
12Before running any command, resolve the absolute directory containing this `SKILL.md` and refer to it as `<skill-dir>`. Never assume the current working directory is the Skill directory. Keep user input and output paths relative to the user's working directory unless the user requests another location.
13
14## Requirements
15
161. **OPENAI_API_KEY**: Must be configured in `~/.gpt-image.env` or `export OPENAI_API_KEY=<your-key>`
172. **OPENAI_API_BASE** (optional): Custom API base URL for compatible endpoints (e.g. Azure OpenAI, proxies). Set in `~/.gpt-image.env` or export it.
183. **Python3 with dependencies**: openai, httpx, python-dotenv. Install via `python3 -m pip install -r "<skill-dir>/requirements.txt"` if not installed yet.
194. **Executable**: `<skill-dir>/gpt_image.py`
20
21## Instructions
22
23### For image generation
24
251. Ask the user for:
26 - What they want to create (the prompt)
27 - Desired size (optional, defaults to 1024x1024)
28 - Output filename (optional, auto-generates UUID-based name if not specified)
29 - Model preference (optional, defaults to gpt-image-2)
30 - Quality (optional, defaults to auto)
31 - Number of images (optional, defaults to 1)
32
332. Run the script:
34
35 ```bash
36 python3 "<skill-dir>/gpt_image.py" --prompt "description of image" --output "filename.png"
37 ```
38
393. Show the user the saved image path when complete.
40
41### For image editing
42
431. Ask the user for:
44 - Input image file(s) to edit
45 - What changes they want (the prompt)
46 - Output filename (optional)
47
482. Run with input images:
49
50 ```bash
51 python3 "<skill-dir>/gpt_image.py" edit --prompt "editing instructions" --input image1.png image2.png --output "edited.png"
52 ```
53
54 Parent directories in the output path are created automatically. When `--format` is omitted, the script infers it from `.png`, `.jpg`/`.jpeg`, or `.webp`; otherwise it defaults to PNG.
55
56## Available Options
57
58### Models (--model)
59
60- `gpt-image-2` (default) — Latest model with strong instruction following, text rendering, and broad world knowledge
61- `gpt-image-1.5` — Mid-tier model
62- `gpt-image-1` — First-generation GPT image model
63- `gpt-image-1-mini` — Lightweight, faster generation
64
65### Sizes (--size)
66
67- `1024x1024` (default) — Square
68- `1024x1536` — Portrait (2:3)
69- `1536x1024` — Landscape (3:2)
70- `auto` — Let the model decide
71
72### Quality (--quality)
73
74- `auto` (default) — Model decides optimal quality
75- `high` — Higher detail, slower
76- `medium` — Balanced
77- `low` — Fastest
78
79### Output Format (--format)
80
81- `png` (default) — Lossless
82- `jpeg` — Smaller file size
83- `webp` — Modern format, good compression
84
85### Background (--background)
86
87- `auto` (default) — Model decides
88- `transparent` — Transparent background (png/webp only)
89- `opaque` — Solid background
90
91### Other Options
92
93- `--n <count>` — Number of images to generate (default: 1)
94- `--output <filename>` — Output filename (default: auto-generated)
95
96## Examples
97
98### Generate a simple image
99
100```bash
101python3 "<skill-dir>/gpt_image.py" --prompt "A serene mountain landscape at sunset with a lake"
102```
103
104### Generate with specific size and output
105
106```bash
107python3 "<skill-dir>/gpt_image.py" \
108 --prompt "Modern minimalist logo for a tech startup" \
109 --size 1024x1024 \
110 --quality high \
111 --output "logo.png"
112```
113
114### Generate landscape image
115
116```bash
117python3 "<skill-dir>/gpt_image.py" \
118 --prompt "Futuristic cityscape with flying cars" \
119 --size 1536x1024 \
120 --output "cityscape.png"
121```
122
123### Generate with transparent background
124
125```bash
126python3 "<skill-dir>/gpt_image.py" \
127 --prompt "A cute cartoon cat mascot" \
128 --background transparent \
129 --format png \
130 --output "mascot.png"
131```
132
133### Generate multiple images
134
135```bash
136python3 "<skill-dir>/gpt_image.py" \
137 --prompt "Abstract art in the style of Kandinsky" \
138 --n 3 \
139 --output "art.png"
140```
141
142### Edit existing images
143
144```bash
145python3 "<skill-dir>/gpt_image.py" edit \
146 --prompt "Add a rainbow in the sky" \
147 --input photo.png \
148 --output "photo-with-rainbow.png"
149```
150
151### Combine multiple reference images
152
153```bash
154python3 "<skill-dir>/gpt_image.py" edit \
155 --prompt "Create a gift basket containing all items shown" \
156 --input item1.png item2.png item3.png \
157 --output "gift-basket.png"
158```
159
160### Use a different model
161
162```bash
163python3 "<skill-dir>/gpt_image.py" \
164 --prompt "Detailed portrait of a cat in watercolor style" \
165 --model gpt-image-1 \
166 --output "cat-portrait.png"
167```
168
169## Error Handling
170
171If the script fails:
172
173- Check that `OPENAI_API_KEY` is exported
174- If using a custom endpoint, verify `OPENAI_API_BASE` is correct
175- Verify input image files exist and are readable (for editing)
176- Ensure the output directory is writable
177- Check that the model name is valid
178
179## Best Practices
180
1811. Be descriptive in prompts — include style, mood, colors, composition details
1822. For logos/icons, use square size (1024x1024) with transparent background
1833. For social media, use portrait (1024x1536) for stories or square for posts
1844. For wallpapers/headers, use landscape (1536x1024)
1855. Use `high` quality for final output, `auto` for quick iterations
1866. GPT Image models excel at text rendering — include text in prompts when needed
1877. For editing, provide clear instructions about what to change and what to keep