6.2k★by dawe35
imagerouter – OpenClaw Skill
imagerouter is an OpenClaw Skills integration for coding workflows. Generate AI images with any model using ImageRouter API (requires API key).
Skill Snapshot
| name | imagerouter |
| description | Generate AI images with any model using ImageRouter API (requires API key). OpenClaw Skills integration. |
| owner | dawe35 |
| repository | dawe35/image-router |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @dawe35/image-router |
| last updated | Feb 7, 2026 |
Maintainer

name: imagerouter description: Generate AI images with any model using ImageRouter API (requires API key). homepage: https://imagerouter.io metadata: {"clawdbot":{"emoji":"🎨","requires":{"bins":["curl"]}}}
ImageRouter Image Generation
Generate images with any model available on ImageRouter using curl commands.
Available models
The test/test model is a free dummy model that is used for testing the API. It is not a real model, therefore you should use other models for image generation.
Get top 10 most popular models:
curl -X POST 'https://backend.imagerouter.io/operations/get-popular-models'
Search available models by name:
curl "https://api.imagerouter.io/v1/models?type=image&sort=date&name=gemini"
Get all available models:
curl "https://api.imagerouter.io/v1/models?type=image&sort=date&limit=1000"
Quick Start - Text-to-Image
Basic generation with JSON endpoint:
curl 'https://api.imagerouter.io/v1/openai/images/generations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{
"prompt": "a serene mountain landscape at sunset",
"model": "test/test",
"quality": "auto",
"size": "auto",
"response_format": "url",
"output_format": "webp"
}'
Unified Endpoint (Text-to-Image & Image-to-Image)
Text-to-Image with multipart/form-data:
curl 'https://api.imagerouter.io/v1/openai/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'prompt=a cyberpunk city at night' \
-F 'model=test/test' \
-F 'quality=high' \
-F 'size=1024x1024' \
-F 'response_format=url' \
-F 'output_format=webp'
Image-to-Image (with input images):
curl 'https://api.imagerouter.io/v1/openai/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'prompt=transform this into a watercolor painting' \
-F 'model=test/test' \
-F 'quality=auto' \
-F 'size=auto' \
-F 'response_format=url' \
-F 'output_format=webp' \
-F 'image[]=@/path/to/your/image.webp'
Multiple images (up to 16):
curl 'https://api.imagerouter.io/v1/openai/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'prompt=combine these images' \
-F 'model=test/test' \
-F 'image[]=@image1.webp' \
-F 'image[]=@image2.webp' \
-F 'image[]=@image3.webp'
With mask (some models require mask for inpainting):
curl 'https://api.imagerouter.io/v1/openai/images/edits' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-F 'prompt=fill the masked area with flowers' \
-F 'model=test/test' \
-F 'image[]=@original.webp' \
-F 'mask[]=@mask.webp'
Parameters
- model (required): Image model to use (see https://imagerouter.io/models)
- prompt (optional): Text description for generation. Most models require a text prompt, but not all.
- quality (optional):
auto(default),low,medium,high - size (optional):
auto(default) orWIDTHxHEIGHT(e.g.,1024x1024). - response_format (optional):
url(default) - Returns hosted URLb64_json- Returns base64-encoded imageb64_ephemeral- Base64 without saving to logs
- output_format (optional):
webp(default),jpeg,png - image[] (optional): Input file for Image-to-Image (multipart only)
- mask[] (optional): Editing mask for inpainting (multipart only)
Response Format
{
"created": 1769286389027,
"data": [
{
"url": "https://storage.imagerouter.io/fffb4426-efbd-4bcc-87d5-47e6936bf0bb.webp"
}
],
"latency": 6942,
"cost": 0.004
}
Endpoint Comparison
| Feature | Unified (/edits) | JSON (/generations) |
|---|---|---|
| Text-to-Image | ✅ | ✅ |
| Image-to-Image | ✅ | ❌ |
| Encoding | multipart/form-data | application/json |
Tips
- Both
/v1/openai/images/generationsand/v1/openai/images/editsare the same for the unified endpoint - Use JSON endpoint for simple text-to-image when you don't need file uploads
- Use unified endpoint when you need Image-to-Image capabilities
- Check model features at https://imagerouter.io/models (quality support, edit support, etc.)
- Get your API key at https://imagerouter.io/api-keys
Examples by Use Case
Quick test generation:
curl 'https://api.imagerouter.io/v1/openai/images/generations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{"prompt":"test image","model":"test/test"}'
Download image directly:
curl 'https://api.imagerouter.io/v1/openai/images/generations' \
-H 'Authorization: Bearer YOUR_API_KEY' \
--json '{"prompt":"abstract art","model":"test/test"}' \
| jq -r '.data[0].url' \
| xargs curl -o output.webp
No README available.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install imagerouter?
Run openclaw add @dawe35/image-router in your terminal. This installs imagerouter into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/dawe35/image-router. Review commits and README documentation before installing.
