Install
openclaw skills install modelscope-img-generatorGenerate images with ModelScope API. Use for image generation requests. Supports text-to-image + image-to-image; configurable models; use --input-image.
openclaw skills install modelscope-img-generatorGenerate new images or edit existing ones using ModelScope's community models.
This tool ONLY connects to the official ModelScope API endpoint.
https://api-inference.modelscope.cn/Required before use:
export MODELSCOPE_API_KEY="your-key-here"--api-key "your-key-here"pip install uv)Python dependencies (auto-installed by uv):
Run the script using absolute path (do NOT cd to skill directory first):
Generate new image:
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "your image description" --filename "output-name.jpg" [--model MODEL_ID] [--api-key KEY]
Edit existing image:
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "editing instructions" --filename "output-name.jpg" --input-image "path/to/input.jpg" [--model MODEL_ID] [--api-key KEY]
Important: Always run from the user's current working directory so images are saved where the user is working, not in the skill directory.
The script supports various ModelScope community models. Use --model to specify:
Tongyi-MAI/Z-Image-Turbo (fast, good quality)Popular alternatives:
MusePublic/wukong-1.8B - Chinese styleEnhance generation with LoRA adapters using --lora:
# Single LoRA
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "anime girl" --filename output.jpg --lora "my-lora-repo"
# Multiple LoRAs with weights (must sum to 1.0)
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "anime girl" --filename output.jpg --lora "lora1:0.6,lora2:0.4"
The script checks for API key in this order:
--api-key argument (use if user provided key in chat)MODELSCOPE_API_KEY environment variableIf neither is available, the script exits with an error message.
Preflight:
command -v uv (must exist)test -n "$MODELSCOPE_API_KEY" (or pass --api-key)test -f "path/to/input.jpg"Common failures:
Error: No API key provided. → set MODELSCOPE_API_KEY or pass --api-keyError: Input image not found: → wrong path / unreadable file; verify --input-image points to a real imageGenerate filenames with the pattern: yyyy-mm-dd-hh-mm-ss-name.jpg
Format: {timestamp}-{descriptive-name}.jpg
yyyy-mm-dd-hh-mm-ss (24-hour format)x9k2, a7b3)Examples:
2025-11-23-14-23-05-japanese-garden.jpg2025-11-23-15-30-12-sunset-mountains.jpg2025-11-23-16-45-33-robot.jpg2025-11-23-17-12-48-x9k2.jpgWhen the user wants to modify an existing image:
--input-image parameter with the path to the imageFor generation: Pass user's image description as-is to --prompt. Only rework if clearly insufficient.
For editing: Pass editing instructions in --prompt (e.g., "add a rainbow in the sky", "make it look like a watercolor painting")
Preserve user's creative intent in both cases.
Use templates when the user is vague or when edits must be precise.
Generation template:
Editing template (preserve everything else):
Generate new image:
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "A serene Japanese garden with cherry blossoms" --filename "2025-11-23-14-23-05-japanese-garden.jpg"
Generate with specific model:
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "Chinese ink painting landscape" --filename "ink-landscape.jpg" --model "MusePublic/wukong-1.8B"
Edit existing image:
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "make the sky more dramatic with storm clouds" --filename "2025-11-23-14-25-30-dramatic-sky.jpg" --input-image "original-photo.jpg"
Generate with LoRA:
uv run ~/.codex/skills/ModelScope_img_generator/scripts/generate_img.py --prompt "anime style portrait" --filename "anime-portrait.jpg" --lora "anime-lora:0.8"