agentleFS
BenedictKingBenedictKing/benedictking-skills/skills/gpt-image-2-api/SKILL.md

gpt-image-2-api

Skill14 starsChanged 3 months agoMITView on GitHub

Generate and edit images with gpt-image-2 through a third-party OpenAI-compatible API using .env-configured OPENAI_API_KEY and OPENAI_BASE_URL values. Use when the user asks to create images, edit reference images, create visual assets, illustrations, or image variations with a configurable API endpoint.

  • Reads credentials

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. kiakun-collab/kiakun-skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository5 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 0 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use scripts/gpt-image-2-api.mjs for text-to-image and image-edit requests.

    line 49
  2. Very specific:

    If required OPENAI_* settings are not available from the current environment or this skill's .env, stop and tell the user which variables …

    line 50
  3. Very specific:

    Use OPENAI_IMAGE_PROTOCOL=openai_chat only when the endpoint lacks /images/* support.

    line 52
  4. Very specific:

    Add one or more --image <path> arguments to edit/reference an input image.

    line 53
  5. Very specific:

    Use --mask <path> or --mask auto only with openai_images edits.

    line 54
  6. Very specific:

    Use --base-url, --model, --protocol, --size, --quality, --n, --output-format, --background, --moderation, --response-format, and …

    line 68

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

gpt-image-2-api

Purpose

Generate and edit images with gpt-image-2 through a third-party OpenAI-compatible API using .env-configured OPENAI_API_KEY and OPENAI_BASE_URL values. Use when the user asks to create images, edit reference images, create visual assets, illustrations, or image variations with a configurable API endpoint.

Environment Variables & API Key

Two ways to configure API settings (priority: environment variable > .env):

  1. Environment variables: OPENAI_API_KEY, OPENAI_BASE_URL, and optional OPENAI_IMAGE_* overrides
  2. .env file: Place in .env, can copy from .env.example

You can manage the .env file manually or through skill-master env set.

Configuration

  • OPENAI_API_KEY: API key for the third-party endpoint
  • OPENAI_BASE_URL: OpenAI-compatible base URL, for example http://127.0.0.1:3688/v1
  • OPENAI_IMAGE_MODEL: image model name, defaults to gpt-image-2
  • OPENAI_IMAGE_PROTOCOL: openai_images or openai_chat, defaults to openai_images
  • OPENAI_IMAGE_SIZE: image size, defaults to 1024x1024
  • OPENAI_IMAGE_QUALITY: optional image quality
  • OPENAI_IMAGE_N: number of images (1-10), defaults to 1
  • OPENAI_IMAGE_OUTPUT_FORMAT: optional output format (png, jpeg, webp)
  • OPENAI_IMAGE_FORMAT: legacy alias for OPENAI_IMAGE_OUTPUT_FORMAT
  • OPENAI_IMAGE_RESPONSE_FORMAT: optional response format (url, b64_json)
  • OPENAI_IMAGE_BACKGROUND: optional background (transparent, opaque, auto)
  • OPENAI_IMAGE_MODERATION: optional moderation level (low, auto)
  • OPENAI_IMAGE_OUTPUT_COMPRESSION: optional compression level 0–100 for jpeg / webp
  • OPENAI_IMAGE_PARTIAL_IMAGES: optional streaming partial image count 0–3
  • OPENAI_IMAGE_INPUT_FIDELITY: optional edit fidelity (high, low)
  • OPENAI_IMAGE_STYLE: optional generation style for dall-e-3 (vivid, natural)
  • OPENAI_IMAGE_STREAM: optional openai_images SSE toggle (true, false)
  • OPENAI_IMAGE_USER: optional end-user identifier
  • OPENAI_IMAGE_EXTRA_JSON: optional JSON object merged into the request body

Workflow

  1. Use scripts/gpt-image-2-api.mjs for text-to-image and image-edit requests.
  2. If required OPENAI_* settings are not available from the current environment or this skill's .env, stop and tell the user which variables need to be configured.
  3. openai_images generation uses /images/generations with JSON; openai_images editing uses /images/edits with multipart/form-data.
  4. Use OPENAI_IMAGE_PROTOCOL=openai_chat only when the endpoint lacks /images/* support; it does not support --mask, --background, --output-format, or streaming image events.
  5. Add one or more --image <path> arguments to edit/reference an input image.
  6. Use --mask <path> or --mask auto only with openai_images edits.
  7. Save generated files under the user requested output directory, or the current working directory when unspecified.
  8. Report saved file paths and any API errors exactly.

Available Scripts

  • scripts/gpt-image-2-api.mjs — Sends a text prompt, optionally with input images, to the configured OpenAI-compatible endpoint and saves returned images.

Generate Image

node scripts/gpt-image-2-api.mjs --prompt "a concise image prompt" --output ./generated-images --size 1024x1024 --n 1 --output-format png

Use --base-url, --model, --protocol, --size, --quality, --n, --output-format, --background, --moderation, --response-format, and --extra-json only when the user or endpoint requires overrides.

Edit Image

node scripts/gpt-image-2-api.mjs --prompt "make the dog wear a red scarf" --image ./input.png --output ./edited-images

Multiple input images are supported by repeating --image. --input is accepted as an alias for --image.

Mask example for openai_images:

node scripts/gpt-image-2-api.mjs --protocol openai_images --prompt "replace the background" --image ./input.png --mask ./mask.png --output ./edited-images

Auto-mask example for openai_images:

node scripts/gpt-image-2-api.mjs --protocol openai_images --prompt "remove the background" --image ./input.png --mask auto --background transparent --output-format png --output ./edited-images

Fallback example when the endpoint only supports chat completions:

OPENAI_IMAGE_PROTOCOL=openai_chat node scripts/gpt-image-2-api.mjs --prompt "a concise image prompt" --output ./generated-images

Parameters

ParameterRequiredTypeDefaultDescription
promptyesstring—Text description for generation or edit
modelnostringgpt-image-2Image model name
nnointeger1Number of images, range 1–10
sizenostring1024x1024Output size passed through to the upstream endpoint
qualitynostringendpoint defaultlow, medium, high, auto
output-formatnostringendpoint defaultpng, jpeg, webp
response-formatnostringendpoint defaulturl, b64_json; mainly for DALL·E-compatible responses
backgroundnostringendpoint defaulttransparent, opaque, auto
moderationnostringendpoint defaultlow, auto
output-compressionnointegerendpoint defaultCompression 0–100 for jpeg/webp
partial-imagesnointegerendpoint defaultStreaming partial image count 0–3
input-fidelitynostringendpoint defaultEdit fidelity: high, low
stylenostringendpoint defaultGeneration style for dall-e-3: vivid, natural
usernostring—End-user identifier
formatnostring—Legacy alias for output-format

Size Behavior

The script does not hard-validate size; values are passed through so OpenAI-compatible upstream endpoints can decide what they support.

For the Yunwu-compatible docs currently checked in this project:

  • /images/generations documents auto, 1024x1024, 1536x1024, 1024x1536, 2048x2048, 2048x1152, 3840x2160, and 2160x3840
  • /images/edits currently documents the classic GPT image set: auto, 1024x1024, 1536x1024, 1024x1536
  • dall-e-2 documents 256x256, 512x512, 1024x1024
  • dall-e-3 documents 1024x1024, 1792x1024, 1024x1792
  • Chat-compatible fallbacks remain endpoint-specific

Because provider behavior may differ by endpoint and documentation may lag behind the implementation, this skill forwards size unchanged and lets the upstream API accept or reject it.

Size Constraints

  1. Max side length ≤ 3840px
  2. Both sides must be multiples of 16px
  3. Aspect ratio ≤ 3:1 (long/short)
  4. Total pixels: min 655360, max 8294400

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.