Skill detail
zenmux-image-generation
Generates or edits images through ZenMux with GPT Image, Nano Banana, Qwen Image, Seedream, FLUX and more, optimizing prompts and managing project config.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
--- name: zenmux-image-generation description: >- Generate or edit images through ZenMux with OpenAI GPT Image, Nano Banana, Qwen Image, Seedream, FLUX, Kling, GLM, HY-Image, Agnes, and future image models. Use whenever the user asks to create, draw, render, design, remix, retouch, inpaint, or transform an image; make a photo, portrait, logo, product shot, poster, infographic, comic, ad, UI mockup, packaging concept, diagram, or visual asset; or says 生成图片, 画一张, 出图, AI 画图, 文生图, 图生图, 设计海报, 做 logo, 改图, P 图, 图片编辑, 帮我画, or 用 ZenMux 生图. In a ZenMux project, prefer this skill for image output even when the user does not name a model or API protocol. --- # zenmux-image-generation Turn the user's visual intent into an optimized prompt, confirm the prompt and parameters, then generate or edit images through ZenMux and report the saved files. Load the current project's config before choosing a model, optimizing a prompt, or refreshing sources. The bundled `config.json.example` contains portable factory defaults; user preferences live only in the project's runtime directory. All runtime files belong to the current project under `.context/zenmux-image-generation/`: ```text .context/zenmux-image-generation/ .gitignore # Ignores generated files; allows .gitignore and config.json in Git config.json # User settings, copied from config.json.example only if absent refresh-state.json # Per-resource refresh attempts and successful updates output/ # Generated images prompts/ # Optimized prompts and generation parameters assets/ # Reference images copied/downloaded for this task, if needed references/ # Refreshed documentation, cookbooks, and model cache ``` The helpers resolve the Git root from the original invocation directory (`INIT_CWD` for `npm --prefix`); outside Git they use that invocation directory. Run commands from the user's project. The skill may be installed elsewhere; substitute its absolute path in script and `--prefix` arguments when needed. Existing user reference images can stay in place. Skill code, locked dependencies, and bundled offline references stay in the skill directory. Initialize the workspace before writing any prompts or downloading assets: ```bash node skills/zenmux-image-generation/scripts/workspace.mjs ``` This prints the absolute runtime directory, creates its subdirectories and `.gitignore`, and copies `config.json.example` to `config.json` only if missing. Existing user settings and ignore rules are preserved. Both reference refresh and generation also initialize it automatically. Resolve prompt/cache paths from this printed root when invoking from a project subdirectory. `config.json` can be committed with the project. Generated images, prompt files, reference caches, and `refresh-state.json` remain ignored. ## Configuration and prompt modes Read effective settings (missing fields inherit the example without rewriting user settings): ```bash node skills/zenmux-image-generation/scripts/workspace.mjs --config ``` | Setting | Factory default | Meaning | |---|---|---| | `generation.model` | `openai/gpt-image-2.5-flare` | Default model | | `generation.count` | `4` | Output count, 1–10 | | `generation.size` | `1024x1024` | Size; model-specific validation still applies | | `generation.quality` | `medium` | `low`, `medium`, `high`, or `auto` | | `generation.outputFormat` | `png` | `png`, `jpeg`, or `webp` | | `prompt.mode` | `direct` | `direct` or `reference`, described in step 5 | | `refresh.autoUpdate` | `true` | Allow automatic network refreshes | | `refresh.referencesIntervalHours` | `168` | Documentation/cookbooks: once per 7 days | | `refresh.modelsIntervalHours` | `24` | Model catalogs: once per day | | `refresh.retryIntervalMinutes` | `60` | Wait before retrying a failed refresh when a local copy exists | Precedence: explicit user request/CLI flags > project config > example defaults. Apply one-off requests for a model or prompt mode to thisRead the full source on GitHub (opens external page)