| name | imagegen-kit |
| description | Use the imagegen-kit CLI for image generation and image editing workflows through ZenMux OpenAI Images, Google Gemini, and Google Imagen endpoints. Supports multi-reference image editing (`--reference`) for OpenAI and Gemini models. Use --dry-run to validate command shape, output paths, model selection, and credential setup without calling external APIs. |
imagegen-kit
imagegen-kit is a Rust CLI for image generation workflows.
Readiness Check
imagegen-kit --version && imagegen-kit provider --list && imagegen-kit --help
Provider
zenmux: one ZenMux login, default generate/edit model gpt-image-2
ZenMux uses ZENMUX_API_KEY.
OpenAI image models must route through the OpenAI Images endpoint; the CLI chooses that endpoint from model metadata.
Model metadata comes from the embedded models.json catalog; run imagegen-kit provider --list --provider zenmux for the full catalog. The Gemini image model family is google/gemini-3-pro-image, google/gemini-3.1-flash-image, google/gemini-3.1-flash-lite-image, and google/gemini-2.5-flash-image — all support generate and reference-image editing.
Usage
imagegen-kit generate "prompt text" --model gpt-image-2
imagegen-kit generate "prompt text" --model gpt-image-2 --show
imagegen-kit generate "prompt text" --model google/gemini-3-pro-image
imagegen-kit generate "prompt text" --model qwen/qwen-image-2.0
imagegen-kit edit ./input.png "edit prompt" --model gpt-image-2 --show
imagegen-kit edit ./bath-bomb.png "arrange these items into a gift basket" \
--reference ./body-lotion.png ./incense-kit.png ./soap.png --model gpt-image-2
imagegen-kit edit ./logo.png "re-render this subject in Chinese paper-cut style" \
--model google/gemini-3-pro-image
imagegen-kit generate "prompt text" --dry-run --json
imagegen-kit provider --list --provider zenmux
imagegen-kit status
Reference images
edit accepts one or more --reference images (repeatable; multiple paths per flag). The positional INPUT_IMAGE is the first reference; each --reference is appended after it. Reference paths are validated before the request is sent.
- OpenAI models (
gpt-image-2, gpt-image-1.5): references are sent as repeated image[] multipart parts through the OpenAI Images edit endpoint. --mask can be combined for regional edits.
- Gemini image models (
google/gemini-3-pro-image, google/gemini-3.1-flash-image, google/gemini-3.1-flash-lite-image, google/gemini-2.5-flash-image): references are sent as inline inlineData parts in a generateContent call, alongside the prompt. --mask is not supported and is rejected before the request is sent.
- Imagen models (
qwen-image-2.0, etc.): editing is not supported.
Use --dry-run --json to preview the resolved model, input, and reference list without calling ZenMux.
Streaming progress
OpenAI image models stream intermediate previews (stream: true). The CLI surfaces progress per preview in the spinner; with --show, previews render inline in iTerm2 or Kitty as they arrive, followed by the final image. Gemini and Imagen requests remain non-streaming.
Credentials
imagegen-kit provider --login
imagegen-kit provider --login --provider zenmux
imagegen-kit provider --logout --provider zenmux
imagegen-kit status --json