# Image2 Generate

> Generate and save images through an image2-compatible relay or middle-layer API using user-provided Base URL and API key. Use for text-to-image requests that should call a relay instead of the built-in image tool.

- Skill: `fatdog-pro/image2-generate` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add fatdog-pro/image2-generate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fatdog-pro/image2-generate/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: fatdog-pro (https://skillmd.com/u/fatdog-pro)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fatdog-pro/image2-generate

---


# Image2 Generate

Generate images through an OpenAI-compatible image2 relay API and save the outputs as local files.

## Configuration

Read configuration from environment variables. Never ask the user to paste an API key into chat, and never write API keys into this skill, scripts, README files, or a Git repository.

- `IMAGE2_BASE_URL`: relay base URL, such as `https://apinebula.ai/v1`
- `IMAGE2_API_KEY`: bearer token for the relay
- `IMAGE2_MODEL`: image model, default `gpt-image-2`
- `IMAGE2_SIZE`: image size, default `1024x1024`
- `IMAGE2_SYNC`: default `1`; set to `0` to use the async endpoint
- `IMAGE2_TIMEOUT`: request or task timeout in seconds, default `1800`
- `IMAGE2_POLL_INTERVAL`: async polling interval in seconds, default `3`
- `IMAGE2_USER_AGENT`: optional User-Agent override

If `IMAGE2_BASE_URL` or `IMAGE2_API_KEY` is missing, pause and help the user configure it locally. Ask the user to obtain the API key from their relay provider's dashboard/API Keys page and enter it through a local hidden prompt or environment variable command.

For OS-specific setup commands, read [references/env.md](references/env.md).

## Workflow

1. Clarify the prompt, aspect/size, output count, and style only when they are missing.
2. Use `scripts/generate_image.py` with the user's prompt.
3. Prefer the default synchronous `/images/generations` endpoint because common image2 relays support it; use `--async` only when the relay documents async support.
4. Save generated images locally and return absolute file paths. In Codex desktop, render the result with Markdown image syntax.

## Usage

On Windows PowerShell:

```powershell
py -3 "C:\path\to\image2-generate\scripts\generate_image.py" `
  --prompt "A cinematic product cover of ..."
```

On macOS/Linux:

```bash
python3 /path/to/image2-generate/scripts/generate_image.py \
  --prompt "A cinematic product cover of ..."
```

Use `--size`, `--n`, `--output-dir`, and `--prefix` when the user asks for a specific format, multiple variants, or a target folder.

## Notes

- `IMAGE2_BASE_URL` is only the base URL; do not append `/images/generations` to it.
- The script supports responses containing `data[].b64_json`, `data[].url`, `output[].result`, `image`, `base64`, or common nested image fields.
- Stop after a clear 401, 403, quota, or invalid URL error and report the status plus response body without retrying endlessly.

