nikships/droidproxy/gpt-image
Claude Code and agent skill by nikships/droidproxy
- community
Checking that the SKILL.md file is still in the repository.
Generate or edit images via GPT Image 2.6 Flare or Sunburst through DroidProxy Codex OAuth (no OPENAI_API_KEY). Use when the user asks to generate, create, draw, or edit an image with GPT, OpenAI, Codex, gpt-image, or DALL-E, including transparent PNGs, and DroidProxy Codex OAuth is available. Prefer this over inventing image URLs or base64. If they name Grok or Imagine, use grok-imagine instead.
Install
npx vskill@latest install nikships/droidproxy/gpt-imageSKILL.md
GPT Image 2.6 (via DroidProxy Codex)
POST http://localhost:8317/v1/images/generations (or /edits) with Authorization: Bearer dummy-not-used. Default to gpt-image-2.6-flare; choose gpt-image-2.6-sunburst for detail and edit consistency. No dated 2.6 snapshots are documented. Never use an OPENAI_API_KEY with this skill. These are Images API models, not chat models: do not register them in the Factory chat-model picker or send them to /v1/responses or chat completions.
Compatibility, checked November 4, 2026: the installed CLIProxyAPI route rejects both 2.6 IDs with HTTP 400 ("Model ... is not supported"). Upstream's image allowlist also lacks them. This skill prepares the documented requests, but does not upgrade that backend or claim working 2.6 OAuth access. OpenAI's all-tier ChatGPT/Codex availability announcement does not establish whether this OAuth backend accepts these IDs or new fields. Keep the model and new features explicit/configurable. Never silently rename 2.6 to 2.5, drop markup, or return a raster image as an SVG/GIF.
Default to Flare for fast, high-quality everyday generation. Use Sunburst when the user prioritizes demanding quality, editing precision, or subject preservation over latency. If Sunburst meets the requirements, prefer Flare only after it produces acceptable results on the same prompt, references, dimensions, and quality setting.
Use this for generating or editing visual assets, not for understanding an image the user already attached.
Run the bundled helper (Bun, no dependencies)
Resolve scripts/image.ts relative to this installed skill, not the user's working directory. Write request JSON to a file, then run:
The last argument is an output prefix, without an extension. The helper decodes all data[].b64_json results, inspects their bytes, saves .png, .jpeg, .webp, .svg, or .gif (numbered when n>1), and prints file paths and response metadata. Embed the resulting absolute path in Markdown. It never retries, substitutes a model, reads OAuth tokens, or logs image data.
| Configuration | Default | Purpose | |
|---|---|---|---|
GPT_IMAGE_MODEL | JSON model, else gpt-image-2.6-flare | Explicit override, including an older supported ID. | |
GPT_IMAGE_FEATURES | empty | Comma-separated opt-ins: complexity,markup,svg,gif. Only enable fields your backend accepts. | |
GPT_IMAGE_MAX_FRAMES | unset, API validates upper bound | Optional integer cap, e.g. 16 or 64, while official docs disagree. | |
GPT_IMAGE_PROXY_URL | http://localhost:8317 | Loopback HTTP origin only; no API-key or remote-provider mode. |
For a backend that rejects 2.6, explicitly select a known available older model for a raster-only request, without new unsupported fields:
Preserve older API model IDs: gpt-image-1-mini, gpt-image-1.5, gpt-image-2, gpt-image-2-2026-04-21, gpt-image-2.5-flare, gpt-image-2.5-flare-2026-09-08, gpt-image-2.5-sunburst, gpt-image-2.5-sunburst-2026-09-08, and chatgpt-image-latest. The existing backend alias gpt-image-2.5 is also passed through. OpenAI API support is not a promise of OAuth backend support; older models may have different parameter limits. gpt-image-1 shut down October 23, 2026.
Generate
Requests often take 15–70s. Use --max-time 180. Default quality to auto; select a higher explicit setting only to meet a quality requirement.
Check the HTTP status and .data[0].b64_json before decoding. Codex errors are JSON (usage_limit_reached, auth_not_found, moderation_blocked). Report the error code/message, not request headers, credentials or image data.
Edit
Same auth. Prefer JSON with a data URL, with no upload step. Public API file_id inputs require access to that file and are not verified on OAuth. Do not pass the data URL through jq --arg: a typical generated PNG is larger than ARG_MAX (~1MB on macOS) and jq dies with Argument list too long. Write the data URL to a file and use --rawfile, then POST with --data-binary. Decode the same way as Generate.
Pick the data-URL mime from the source (image/jpeg, image/png, image/webp). Optional mask.image_url (PNG with alpha) marks the region to replace. Chain edits by feeding each output back as the next images[0].image_url.
Markup-guided edits (opt-in)
Keep the original as images[0]. Make a separate transparent PNG overlay with circles, arrows, sketches or labels. After orientation, it must match the first input's pixel dimensions and contain transparent pixels. Each may have at most 16,777,216 pixels; the overlay must be at most 50 MB. Do not flatten the overlay onto the source or combine markup with mask or prompt_rewriter. Check these file properties locally before sending; the helper checks JSON shape, not image dimensions or alpha.
JSON uses images and a markup object with exactly one of image_url (HTTPS or base64 PNG data URL) or file_id. Additional images are references. For local files, avoid ARG_MAX by writing data URLs to files:
The public API also accepts multipart field markup (PNG file) alongside image and prompt on /v1/images/edits. Prefer the JSON path through DroidProxy: binary multipart forwarding and markup handling by CLIProxyAPI are not verified. Markup has no extra fee.
SVG export (generations only, opt-in)
Example request file:
SVG requires n=1. Omit streaming, partial_images, output_compression, and prompt_rewriter. Quality and complexity control the reference image used to author the SVG. Base64-decode data[0].b64_json as UTF-8 XML and save .svg, not PNG. Edits accept neither SVG input nor SVG output. Inspect the XML before embedding it; do not treat untrusted SVG as executable HTML. SVG incurs the reference image cost plus the unnamed authoring model's token rate, so there is no documented fixed total SVG price.
Animated GIF (generations only, experimental opt-in)
GIF may need preview access. The guide says frame_count 2–64, but the API reference says 2–16. Do not hard-code either as universal: set an optional local cap and let the API validate. Defaults are 9 frames and 200 ms. frame_duration_ms is 20–2000, rounded by the API to 10 ms. Frame fields are GIF-only. Omit streaming, partial images, compression and prompt_rewriter. Save decoded binary as .gif; never rename a PNG to GIF. If a pixel-budget error occurs, reduce frames, frame size, or n.
Prompting
If the user gives a detailed prompt or asks you to use theirs, use it verbatim. Otherwise define the intended result, then describe the subject, action/pose, setting, style, composition, lighting/mood, visible details, and constraints. For complex work, use labeled sections. Keep requirements easy to read rather than relying on special prompt syntax.
Quote required text exactly, specify its placement and typography, ask for no extra text, and verify spelling and legibility. For edits, say “change only X” and explicitly list what must stay the same. Identify each reference image by number and role (subject, style, clothing, or background). Make one change per edit and restate critical preservation constraints on every turn.
Ground named people, brands, places, and “current/latest” facts with a web search first. For a named real person, edit from a real reference photo — do not generate the likeness from text alone.
Parameters
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/gpt-image/SKILL.md
Popularity
- Repository stars
- 121
- Repository forks
- 18
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nikships/droidproxy/gpt-image)