用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/johnalbertini14-glitch/openclaw-skills --skill imaginepro-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use this skill to create a Polymarket wallet for your agent and trade on prediction markets. Browse markets, place bets, manage positions — all without exposing private keys.
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.
Automated daily security audits for OpenClaw agents with email reporting. Runs deep audits and sends formatted reports.
基于 SOC 职业分类
正在显示 SKILL.md
| name | imaginepro-api |
| description | Generate AI images via ImaginePro API (Midjourney, Flux, Nano Banana, Lumi Girl, video) |
| version | 1.0.0 |
| metadata | {"openclaw":{"requires":{"env":["IMAGINEPRO_API_KEY"],"bins":["python3","curl"]},"primaryEnv":"IMAGINEPRO_API_KEY","homepage":"https://platform.imaginepro.ai/ai-agent-skill","emoji":"🎨"}} |
Generate stunning AI images, videos, and edits using the ImaginePro API. This skill wraps the full ImaginePro backend and supports 5 generation models, image upscaling, background removal, prompt enhancement, and video generation.
# Set your API key (get one at https://platform.imaginepro.ai/dashboard/setup)
export IMAGINEPRO_API_KEY="your-api-key-here"
# Generate an image with Flux (fastest)
python3 imaginepro_api.py wait --prompt "a cyberpunk cityscape at sunset" --model flux
# Generate with Midjourney
python3 imaginepro_api.py wait --prompt "portrait of a warrior queen, cinematic lighting --ar 2:3"
# List available models and costs
python3 imaginepro_api.py models
All requests require a Bearer token obtained from the ImaginePro Platform dashboard:
export IMAGINEPRO_API_KEY="your-key"Base URL: https://api.imaginepro.ai/api/v1
Header: Authorization: Bearer <IMAGINEPRO_API_KEY>
| Model | Endpoint | Credits | Best For |
|---|---|---|---|
| Midjourney (alpha v6) | /midjourney/imagine | 10 (fast) / 5 (relax) | Artistic, photorealistic images |
| Flux | /flux/imagine | 6 | Fast general-purpose generation |
| Nano Banana | /universal/imagine | 6 | Reference image + text (try-on, mockup, staging) |
| Lumi Girl | /universal/zimage | 6 | Character portraits, anime, stylized |
| MJ Video | /video/mj/generate | 10 | Video generation from start/end frames |
/midjourney/imagine — Midjourney GenerationThe flagship model. Supports Midjourney parameters in the prompt string (e.g., --ar 16:9, --style raw, --relax).
Request:
{
"prompt": "a majestic eagle soaring over mountains --ar 16:9",
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
--relax to the prompt for relax mode (5 credits instead of 10, slower).--ar, --style, --chaos, --no, --seed, --q, etc.Response:
{
"success": true,
"messageId": "uuid-of-the-generation-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 10 (fast mode) / 5 (relax mode)
/flux/imagine — Flux GenerationFast, high-quality generation. Supports batch generation.
Request:
{
"prompt": "a cozy cabin in the woods, watercolor style",
"n": 1,
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
n (optional, default 1): Number of images to generate (credits multiply by n).Response:
{
"success": true,
"messageId": "uuid-of-the-generation-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 6 per image
/universal/imagine — Nano Banana (Reference Image Generation)Multi-modal generation using text + reference images. Ideal for virtual try-on, product mockups, interior staging, and style transfer.
Request:
{
"contents": [
{ "type": "text", "text": "Image creation: woman wearing this dress in a garden" },
{ "type": "image", "url": "https://example.com/dress.jpg" }
],
"model": "nano-banana-2",
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
contents: Array of content items. First item should be type: "text" with the prompt prefixed by "Image creation: ". Subsequent items can be type: "image" with a url field for reference images.model: Must be "nano-banana-2".Response:
{
"success": true,
"messageId": "uuid-of-the-generation-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 6
/universal/zimage — Lumi GirlSpecialized model for character portraits and stylized images. Supports aspect ratio via --ar in the prompt.
Request:
{
"prompt": "anime girl with silver hair in a moonlit forest --ar 3:4",
"steps": 4,
"width": 768,
"height": 1024,
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
steps: Always 4 (fixed).width / height: Max 1024 per dimension, must be divisible by 8. If --ar W:H is in the prompt, dimensions are auto-calculated from the ratio (max dimension = 1024).Response:
{
"success": true,
"messageId": "uuid-of-the-generation-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 6
/video/mj/generate — MJ VideoGenerate a video from start and end frame images.
Request:
{
"prompt": "smooth camera pan with cinematic motion",
"startFrameUrl": "https://example.com/start.jpg",
"endFrameUrl": "https://example.com/end.jpg",
"timeout": 900,
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
startFrameUrl (required): URL of the starting frame image.endFrameUrl (required): URL of the ending frame image.prompt (optional, default "smooth motion transition"): Motion description.timeout (optional, default 900): Max processing time in seconds.Response:
{
"success": true,
"messageId": "uuid-of-the-generation-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 10
/midjourney/button — Midjourney Upscale / VariantUpscale or create variants of Midjourney-generated images.
Request:
{
"messageId": "original-task-message-id",
"button": "U1",
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
messageId: The messageId (task ID) from the original Midjourney generation.button: Action to perform. U1-U4 for upscaling quadrants, V1-V4 for variants.Response:
{
"success": true,
"messageId": "uuid-of-the-upscale-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 5
/flux/upscale — Flux UpscaleUpscale any image (not limited to Flux-generated).
Request:
{
"image": "https://example.com/image.jpg",
"scale": 2,
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
image (required): URL of the image to upscale.scale (required): Upscale factor, must be between 2 and 4 (inclusive).Response:
{
"success": true,
"messageId": "uuid-of-the-upscale-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 2
/tools/remove-bg — Background RemovalRemove the background from an image.
Request:
{
"image": "https://example.com/photo.jpg",
"ref": "optional-tracking-id",
"webhookOverride": "https://your-server.com/webhook"
}
Response:
{
"success": true,
"messageId": "uuid-of-the-removebg-task",
"createdAt": "2026-01-15T12:00:00+00:00"
}
Credits: 5
/tools/prompt-extend — Prompt Enhancement (Free)Expand a short prompt into a detailed, high-quality prompt.
Request:
{
"prompt": "a sunset"
}
Response:
{
"prompt": "a breathtaking sunset over the Pacific Ocean, golden hour light casting warm amber and coral tones across scattered cumulus clouds, silhouetted palm trees in the foreground..."
}
Credits: Free
/midjourney/message/{messageId} — Check Generation StatusPoll this endpoint to check the progress of any generation task (works for all models, not just Midjourney).
Response (in progress):
{
"prompt": "a simple red circle on white background",
"status": "PROCESSING",
"progress": 0,
"messageId": "2346e0bc-c3c3-48ea-adec-3a21609fd288",
"createdAt": "2026-02-22T07:43:37+00:00",
"updatedAt": "2026-02-22T07:43:37+00:00"
}
Response (completed):
{
"prompt": "a simple red circle on white background",
"status": "DONE",
"images": ["https://cdn-new.imaginepro.ai/storage/v1/object/public/cdn/2346e0bc-c3c3-48ea-adec-3a21609fd288.png"],
"uri": "https://cdn-new.imaginepro.ai/storage/v1/object/public/cdn/2346e0bc-c3c3-48ea-adec-3a21609fd288.png",
"progress": 100,
"messageId": "2346e0bc-c3c3-48ea-adec-3a21609fd288",
"createdAt": "2026-02-22T07:43:37+00:00",
"updatedAt": "2026-02-22T07:43:49+00:00"
}
Response (failed):
{
"status": "FAIL",
"error": "Description of what went wrong"
}
Statuses: SUBMITTED → PROCESSING → DONE | FAIL
Credits: Free (polling is free)
All generation endpoints are asynchronous. The workflow is:
messageIdGET /midjourney/message/{messageId} every 3-5 secondsstatus to be DONE (images ready) or FAIL (error)uri or images arrayThe helper script's wait command automates this entire flow.
| Operation | Credits |
|---|---|
| Midjourney Imagine (fast) | 10 |
| Midjourney Imagine (relax) | 5 |
| Midjourney Upscale/Variant | 5 |
| Flux Imagine | 6 per image |
| Flux Upscale | 2 |
| Nano Banana Imagine | 6 |
| Lumi Girl Imagine | 6 |
| MJ Video | 10 |
| Background Removal | 5 |
| Prompt Enhancement | Free |
| Status Polling | Free |
The included imaginepro_api.py is a zero-dependency Python script (stdlib only) that wraps all API calls.
# Generate an image (async — returns messageId immediately)
python3 imaginepro_api.py imagine --prompt "a sunset over mountains" --model flux
# Generate and wait for result (blocking — polls until done)
python3 imaginepro_api.py wait --prompt "a sunset over mountains" --model flux
# Check status of a generation
python3 imaginepro_api.py status --id <messageId>
# Upscale (Midjourney)
python3 imaginepro_api.py upscale --id <messageId> --button U1
# Upscale (Flux)
python3 imaginepro_api.py upscale --image "https://example.com/img.jpg" --scale 2
# Remove background
python3 imaginepro_api.py removebg --image "https://example.com/photo.jpg"
# Enhance a prompt
python3 imaginepro_api.py enhance --prompt "a cat"
# List available models
python3 imaginepro_api.py models
--json — Output raw JSON (default is human-readable)--timeout <seconds> — Max wait time for wait command (default: 300)--interval <seconds> — Polling interval for wait command (default: 5)# Generate with Flux
curl -X POST https://api.imaginepro.ai/api/v1/flux/imagine \
-H "Authorization: Bearer $IMAGINEPRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "a cyberpunk cityscape at sunset"}'
# Check status
curl https://api.imaginepro.ai/api/v1/midjourney/message/<messageId> \
-H "Authorization: Bearer $IMAGINEPRO_API_KEY"
# Enhance a prompt (free)
curl -X POST https://api.imaginepro.ai/api/v1/tools/prompt-extend \
-H "Authorization: Bearer $IMAGINEPRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "a cat"}'
API errors return JSON with message, error, and statusCode:
{
"message": "Prompt is required.",
"error": "Bad Request",
"statusCode": 400
}
Common error codes:
400 — Missing required parameter or invalid value401 — Invalid or missing API key / insufficient credits404 — Message not found500 — Internal server error (retry after a short delay)wait command for simple generation tasks — it handles the submit + poll loop automatically.enhance on short prompts before generating — it's free and dramatically improves quality.--ar 16:9 --style raw --chaos 20 directly in the prompt string.contents array.