skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
decolua/9router149 installs

9router-image

Generate images via 9Router /v1/images/generations using OpenAI / Gemini Imagen / DALL-E / FLUX / MiniMax / SDWebUI / ComfyUI / Codex models. Use when the user wants to create, generate, draw, or render an image, picture, or text-to-image (txt2img).

How do I install this agent skill?

npx skills add https://github.com/decolua/9router --skill 9router-image
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill is safe and enables image generation by interfacing with the 9Router API. It provides templates for interacting with various AI image models like DALL-E, Gemini, and FLUX using standard network tools. The skill references documentation from the vendor's official GitHub repository for initial configuration.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

9Router — Image Generation

Requires NINEROUTER_URL (and NINEROUTER_KEY if auth enabled). See https://raw.githubusercontent.com/decolua/9router/refs/heads/master/skills/9router/SKILL.md for setup.

Discover

curl $NINEROUTER_URL/v1/models/image | jq '.data[].id'
# Per-model params/options (size enum, quality enum, capabilities like edit)
curl "$NINEROUTER_URL/v1/models/info?id=openai/dall-e-3"

Endpoint

POST $NINEROUTER_URL/v1/images/generations

FieldRequiredNotes
modelyesfrom /v1/models/image
promptyesimage description
nnocount (provider-dependent)
sizeno1024x1024, 1792x1024, ...
qualitynostandard / hd (OpenAI)
response_formatnourl (default) or b64_json

Add query ?response_format=binary to receive raw image bytes (handy for saving file).

Examples

Save to file (binary):

curl -X POST "$NINEROUTER_URL/v1/images/generations?response_format=binary" \
  -H "Authorization: Bearer $NINEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemini/gemini-3-pro-image-preview","prompt":"watercolor mountains at sunrise","size":"1024x1024"}' \
  --output out.png

JS (URL response):

const r = await fetch(`${process.env.NINEROUTER_URL}/v1/images/generations`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.NINEROUTER_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ model: "gemini/gemini-3-pro-image-preview", prompt: "neon city", size: "1024x1024" }),
});
const { data } = await r.json();
console.log(data[0].url || data[0].b64_json.slice(0, 40));

Response shape

JSON (default response_format=url):

{ "created": 1735000000, "data": [{ "url": "https://..." }] }

response_format=b64_json:

{ "created": 1735000000, "data": [{ "b64_json": "iVBORw0KGgo..." }] }

Query ?response_format=binary returns raw image bytes (Content-Type image/png or image/jpeg).

Provider quirks

Common fields above work everywhere. These add/override:

ProviderExtra/changed fieldsNotes
openai, minimax, openrouter, recraftquality, style, response_formatStandard OpenAI shape
gemini (nano-banana)—Only prompt; ignores size/n
codex (gpt-5.4-image)image, images[], image_detail, output_format, backgroundSSE stream; ChatGPT Plus/Pro required
huggingface—Only prompt; returns single image
nanobananaimage, images[] (edit mode)size → aspect ratio; async polling
fal-aiimage (img2img)n → num_images; size → ratio; async
stability-aistyle (preset), output_formatsize → aspect_ratio
black-forest-labs (FLUX)image (ref)size → exact width/height; async
runwaymlimage (ref)size → ratio; async; video models exist
sdwebui, comfyui—Localhost noAuth (:7860 / :8188)

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/decolua/9router/9router-image">View 9router-image on skillZs</a>