Image Generation Skill
name: smtools-image-generation
by bzsega · published 2026-03-22
$ claw add gh:bzsega/bzsega-smtools-image-generation---
name: smtools-image-generation
description: >
Generate images from text prompts using AI models via OpenRouter, Kie.ai, or YandexART.
Use when the user asks to generate, create, draw, or illustrate an image.
metadata:
openclaw:
requires:
bins:
- python3
env:
- OPENROUTER_API_KEY
primaryEnv: OPENROUTER_API_KEY
optionalEnv:
- KIE_API_KEY
---
# Image Generation Skill
Generate images from text prompts. Default provider is **OpenRouter** (synchronous). Alternative: **Kie.ai** (async, task-based).
When to Activate
Activate when the user asks to:
How to Use
Run the generation script with an absolute path to avoid directory change prompts:
bash SKILL_DIR/scripts/run.sh --prompt "PROMPT" [OPTIONS]Replace `SKILL_DIR` with the absolute path to this skill's root directory.
Options
| Flag | Description |
|------|-------------|
| `-p, --prompt` | Text prompt (required) |
| `--provider` | `openrouter` (default), `kie`, or `yandexart` |
| `-m, --model` | Model name (provider-specific) |
| `-i, --input` | Input image for editing (path or URL) |
| `-o, --output` | Output file path |
| `-c, --config` | Path to config.json |
| `--list-models` | List available models |
| `-v, --verbose` | Debug output to stderr |
Output
The script outputs JSON to stdout:
{"status": "ok", "image_path": "/absolute/path/to/image.png", "model": "google/gemini-3.1-flash-image-preview", "provider": "openrouter"}After successful generation, show the user the image path and confirm the image was created.
Image Editing
When the user wants to **edit, modify, or transform an existing image**, use the `-i` flag to pass the input image:
bash SKILL_DIR/scripts/run.sh -p "EDITING INSTRUCTION" -i /path/to/source/image.png**How to decide:**
The editing prompt should describe **what to change**, e.g. "Add sunglasses", "Make the background blue", "Remove the text".
Provider Selection
Examples
Basic generation:
bash SKILL_DIR/scripts/run.sh -p "A serene mountain lake at sunset"Specific model:
bash SKILL_DIR/scripts/run.sh -p "Cyberpunk cityscape" -m "google/imagen-4"Kie.ai provider:
bash SKILL_DIR/scripts/run.sh -p "Studio Ghibli forest" --provider kie -m ghibli-aiEdit an existing image:
bash SKILL_DIR/scripts/run.sh -p "Add a rainbow to the sky" -i /path/to/photo.pngCustom output path:
bash SKILL_DIR/scripts/run.sh -p "A red fox" -o /tmp/fox.pngError Handling
| Error | Action |
|-------|--------|
| Missing API key | Tell the user to set the environment variable (`OPENROUTER_API_KEY` or `KIE_API_KEY`) |
| Network/timeout error | Retry once. If still failing, inform the user |
| No image in response | Show the raw error from the JSON output |
| Kie.ai task timeout | Inform user that generation took too long, suggest retrying |
Setup
If the skill has not been set up yet, run:
bash SKILL_DIR/setup.shSecurity
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...