Files
2026-09-05 21:08:13 +08:00

56 lines
3.0 KiB
Markdown

---
name: image-gen-custom
description: Generate images through any OpenAI-compatible Images API and save reproducible local PNG, JPEG, GIF, or WebP files. Use when Codex needs a custom image endpoint, explicit model and output path, or a dependable cross-platform image generation workflow.
---
# Image Gen Custom
Use `scripts/generate-image.ps1` on Windows or `scripts/generate-image.sh` on macOS/Linux. The wrappers create or reuse a private virtual environment; generation uses only the Python standard library. The Python core reads the API key, calls the Images API, validates the returned image, and writes it atomically.
```powershell
& "$env:USERPROFILE\.codex\skills\image-gen-custom\scripts\generate-image.ps1" `
-Prompt "A concise prompt..." `
-Out "outputs\generated-image.png" `
-Size "1024x1024" `
-Quality "low" `
-Force
```
```bash
"$HOME/.codex/skills/image-gen-custom/scripts/generate-image.sh" \
--prompt "A concise prompt..." \
--out outputs/generated-image.png \
--size 1024x1024 \
--quality low \
--force
```
## Credentials
Run the matching `configure` wrapper once. It prompts for the API base URL first, then prompts for the key in visible text so you can paste it. On Windows, the key is saved in a DPAPI-protected local file; on macOS and Linux, it uses the platform credential store.
```powershell
& "$env:USERPROFILE\.codex\skills\image-gen-custom\scripts\configure.ps1"
```
```bash
"$HOME/.codex/skills/image-gen-custom/scripts/configure.sh"
```
The URL and Windows key file are saved under the local Codex shared configuration folder. The normal image command then needs no URL argument. An explicit `-BaseUrl` on the image command still overrides the saved value.
Set `OPENAI_API_KEY` instead when an ephemeral environment variable is preferred. Set `OPENAI_BASE_URL` for a custom OpenAI-compatible root; `/v1` is appended when omitted. Never put a key in `SKILL.md`, scripts, shell history, command arguments, ZIP files, or source control.
## Options and behavior
- Default model: `gpt-image-2`; use `-Model` or `--model` to override it.
- Use low quality for drafts and high quality for final images.
- Accept `b64_json` and absolute HTTP(S) URL responses; URL downloads are capped at 50 MB and checked for image signatures.
- Use `CODEX_IMAGEGEN_VENV` to choose the private virtual environment location.
- Use `CODEX_IMAGEGEN_PYTHON` to choose the Python executable used to bootstrap that environment.
- Report the concrete failure category without exposing credentials: missing runtime/dependency, keyring or authentication, network/permission, unsupported model/endpoint, quota, response parsing, download, or output writing.
## Install a shared package
Extract the package and run `scripts/install-skill.ps1` on Windows or `scripts/install-skill.sh` on macOS/Linux. Add `-Force` or `--force` only when updating an existing installation; the installer never overwrites the destination's keyring data or any local secret file. Start a new Codex task after installation.