feiskyer/gpt-image-skill
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.
npx skills add https://github.com/feiskyer/claude-code-settings --skill gpt-image-skill
Generate or edit images using OpenAI's GPT Image models through a bundled Python script.
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.
~/.gpt-image.env or export OPENAI_API_KEY=<your-key>~/.gpt-image.env or export it.python3 -m pip install -r "<skill-dir>/requirements.txt" if not installed yet.<skill-dir>/gpt_image.py python3 "<skill-dir>/gpt_image.py" --prompt "description of image" --output "filename.png"
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.
gpt-image-2 (default) — Latest model with strong instruction following, text rendering, and broad world knowledgegpt-image-1.5 — Mid-tier modelgpt-image-1 — First-generation GPT image modelgpt-image-1-mini — Lightweight, faster generation1024x1024 (default) — Square1024x1536 — Portrait (2:3)1536x1024 — Landscape (3:2)auto — Let the model decideauto (default) — Model decides optimal qualityhigh — Higher detail, slowermedium — Balancedlow — Fastestpng (default) — Losslessjpeg — Smaller file sizewebp — Modern format, good compressionauto (default) — Model decidestransparent — Transparent background (png/webp only)opaque — Solid background--n <count> — Number of images to generate (default: 1)--output <filename> — Output filename (default: auto-generated)python3 "<skill-dir>/gpt_image.py" --prompt "A serene mountain landscape at sunset with a lake"
python3 "<skill-dir>/gpt_image.py" \
--prompt "Modern minimalist logo for a tech startup" \
--size 1024x1024 \
--quality high \
--output "logo.png"
python3 "<skill-dir>/gpt_image.py" \
--prompt "Futuristic cityscape with flying cars" \
--size 1536x1024 \
--output "cityscape.png"
python3 "<skill-dir>/gpt_image.py" \
--prompt "A cute cartoon cat mascot" \
--background transparent \
--format png \
--output "mascot.png"
python3 "<skill-dir>/gpt_image.py" \
--prompt "Abstract art in the style of Kandinsky" \
--n 3 \
--output "art.png"
python3 "<skill-dir>/gpt_image.py" edit \
--prompt "Add a rainbow in the sky" \
--input photo.png \
--output "photo-with-rainbow.png"
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"
python3 "<skill-dir>/gpt_image.py" \
--prompt "Detailed portrait of a cat in watercolor style" \
--model gpt-image-1 \
--output "cat-portrait.png"
If the script fails:
OPENAI_API_KEY is exportedOPENAI_API_BASE is correcthigh quality for final output, auto for quick iterationsTake feiskyer/gpt-image-skill from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.