Compose MeiGen image/video and five dedicated image tools inside an existing workflow, or opt into creative planning. Preserves caller prompts, parameters, approved count and budget; includes discovery and recoverable task handles.
Installs into .claude/skills of the current project.
Are you the author of Openclaw?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jau123-openclaw)
---
name: "MeiGen"
description: Compose MeiGen image/video and five dedicated image tools inside an existing workflow, or opt into creative planning. Preserves caller prompts, parameters, approved count and budget; includes discovery and recoverable task handles.
version: 2.0.3
homepage: https://github.com/jau123/MeiGen-AI-Design-MCP
metadata: {"clawdbot":{"emoji":"🎨","requires":{"bins":["mcporter","npx","node"]}}}
---
# MeiGen
This standalone ClawHub Skill supplies instructions. It does not install an MCP connection by itself. Its version is independent of the npm server and the `meigen-ai-design` plugin.
## Connect
Merge this server into your mcporter configuration (`~/.config/mcporter/config.json`), preserving existing entries:
```json
{
"mcpServers": {
"creative-toolkit": {
"command": "npx",
"args": ["-y", "meigen@2.0.2"]
}
}
}
```
If the `meigen-ai-design` plugin already exposes the same tools, use that connection instead of adding a duplicate. Create a MeiGen key at https://www.meigen.ai/profile/api-keys and enter it privately as `MEIGEN_API_TOKEN` in the MCP process environment or host credentials settings. Never ask for secrets in chat. Restart/reconnect after configuration changes. Free discovery works without a key:
```bash
mcporter call creative-toolkit.search_gallery query="product photography"
mcporter call creative-toolkit.enhance_prompt prompt="a cat in space" style="realistic"
mcporter call creative-toolkit.list_skills
```
## Caller owns orchestration
Use tools directly inside the caller's existing task. Preserve supplied prompts, models/providers, ratios, references, quality and count. Do not rewrite brief prompts, load preferences, delegate or start creative exploration unless requested. Public discovery can support any workflow. An authorized upstream plan already establishes its scope and budget; do not reconfirm each image, video or dependent step. Ask only for missing inputs or additional spending/tradeoffs outside that authorization. Return handles/status/results to the caller; it owns previews, downloads and final presentation. Visual inspection is permitted when available; descriptions must reflect actual inspection.
## Choosing dedicated Skills
For transparent cutouts use `remove_background`; for ecommerce detail images use `generate_product_detail_images`; for posters use `generate_marketing_poster`; for white, smart or custom product backgrounds use `generate_ai_background`; for still-image upscaling use `upscale_image`. Call these tools directly. Prefer them when choosing a tool for these use cases; preserve an upstream caller's explicit tool choice. They do not require prompt enhancement, preference loading or agent delegation. They require MeiGen credentials and purchased credits; ComfyUI and OpenAI-compatible providers cannot run them. No daily free credits or Web free attempts apply.
Use `list_skills` for current inputs, defaults and prices. Ask only for missing required information or unresolved output scope. An explicit requested count/modules/quality already authorizes that scope; do not reconfirm it or add paid images. Product Detail MCP requires explicit `modules` (use `[]` for custom modules only); each selected module is one image. Posters need only a subject; images and copy are optional. Use defaults for unspecified settings and never invent product facts, dates or discounts.
Use real accessible images only. Both remote and local connections expose `upload_skill_image`; local npm also accepts real file paths for the four ordinary image-input workflows. If the host cannot read an attachment, ask for a public direct HTTPS image URL; never invent paths or base64.
**Upscale is a separate original-image path:** pass the original public direct HTTPS PNG/JPEG/WebP URL as `imageUrl`, at most 64 MiB and 64 MP. Local npm also accepts an actual original PNG/JPEG/WebP path in `imageUrl` through its dedicated upload route, preserving source dimensions. For readable attachment bytes, call `upload_skill_image` with `purpose: "upscale"` (base64 up to 3 MiB decoded); use the returned `imageUrl`. Do not use `purpose: "reference"` or generic reference compression for Upscale. If the host cannot read the attachment, request a real public original-image URL. On every MCP submission, including the first, pass `confirmedCredits` from the live `list_skills` quote within the user or upstream workflow accepted budget; reuse an already explicit acceptance. This pre-dispatch recheck is not an atomic spending cap. Use `mode: "crisp"` (default) or `"creative"` as offered by `list_skills`. `allowDownscale` is opt-in: explain that it permits preprocessing to at most 4096px/16 MP and the final output can be smaller than the original; set it only after the user explicitly accepts that tradeoff. Upscale accepts still images, not video. For `upscale_resize_required` or `price_changed`, return the resize/cost decision to the caller. Reuse an already explicit acceptance; otherwise obtain acceptance of the new tradeoff or price before submitting a new `requestId` with accepted `allowDownscale` and `confirmedCredits`. These are changed, confirmed inputs—not a blind retry of an interrupted submission.
The caller generates and persists `requestId` for each logical step. For interrupted submissions, call `check_skill` with the original skill/ID before retrying. Follow `nextAction`, including waiting `afterSeconds`; retry only when instructed, using its exact original ID and parameters. Never use a new ID as a blind retry or automatically pay for failed-module replacements. Auth/payment/input rejections require their indicated action instead of polling. Return completed URLs, task handles and structured status, with failed modules and refund states separately. The caller owns presentation; end users do not need to manage technical IDs.
## Tool inventory
The current local npm release exposes **17 tools**: **14 cloud tools** plus **3 local additions**. Runtime `listTools` remains authoritative when the installed release differs.
| Scope | Tools | Behavior |
|---|---|---|
| Cloud, public discovery | `search_gallery`, `get_inspiration`, `list_models`, `list_skills` | No API key needed; no generation charge. A configured key makes `search_gallery` count against that account's daily search quota rather than the shared per-IP budget |
| Cloud, ordinary generation | `generate_image`, `generate_video`, `check_generation` | MeiGen generation needs purchased credits; status checks do not start a new job |
| Cloud, five workflows | `remove_background`, `generate_product_detail_images`, `generate_marketing_poster`, `generate_ai_background`, `upscale_image` | MeiGen key and purchased credits only |
| Cloud, workflow status | `check_skill` | Authenticated status/refunds; no new charge |
| Cloud, image preparation | `upload_skill_image` | Authenticated preparation with a positive purchased-credit balance; use purpose=upscale for enhancement attachments; no generation charge |
| Local additions | `enhance_prompt`, `manage_preferences`, `comfyui_workflow` | Prompt enhancement, local preferences and ComfyUI workflow management |
## Ordinary generation and optional creative help
Call `generate_image` with the supplied prompt and parameters. `generate_video` requires a model; use `list_models` for current capabilities and prices whenever needed, not only when a user asks to browse. For image-to-video, chain a completed frame URL into `firstFrame`. Reference clips go in `referenceVideos` / `referenceAudios` (`images.meigen.ai` URLs, or local `.mp4`/`.mov`/`.wav`/`.mp3` files which are uploaded for you — other hosts are rejected) and can be named in the prompt as "Video 1" / "Audio 1"; `list_models` holds each model's clip count and second budget, some models need a reference image or video before any audio, and reference audio is never billed. Preserve the caller's selected model/provider and ratio.
For composed MeiGen jobs, persist a UUID `requestId` and exact input per step, then use `wait: false`, `download: false`. Local legacy defaults remain `wait: true`, `download: true`; no download occurs with `wait: false`. Remote MCP returns URLs without local downloads. Follow the installed schema for provider/transport support. Recover across restarts using `check_generation` with the original `requestId` or `generationId`; keep IDs and inputs unchanged on transient failure and follow `nextAction`, polling hints and `Retry-After`.
The caller schedules independent authorized image/video jobs with bounded concurrency. Local npm has four shared API submission slots, with polling/downloads outside the slots; ComfyUI executes one job at a time. Backend limits remain authoritative. There is no ten-image workflow maximum or blanket ban on parallel videos. Reserve in-flight estimated costs within the agreed budget and reconcile returned charges/refunds. Multiple jobs can partially succeed; no atomic batch or overall server-enforced workflow budget is promised.
If the user asks for creative development, offer references, prompt enhancement and directions as useful. Ask about unresolved creative choices; do not replace an existing plan or expand paid scope. Return actual completed URLs and saved paths if present. Let the caller decide whether to inspect, show or download intermediate artifacts.
Examples for this local mcporter connection:
```bash
mcporter call creative-toolkit.get_inspiration imageId="ID returned by search_gallery"
mcporter call creative-toolkit.comfyui_workflow action="view" name="txt2img"
```
After `view` returns an actual node ID and input name, use `comfyui_workflow(action="modify", name=..., nodeId=..., input=..., value=...)`; `value` is JSON text. There is no `modifications` object.
## Providers and privacy
The five Skills and MeiGen videos always call MeiGen Cloud. An alternative provider only changes ordinary image generation. ComfyUI references go to the configured ComfyUI server, which may be on this machine or a remote server. MeiGen public discovery tools still use network services.
See [providers](references/providers.md) for private configuration and [troubleshooting](references/troubleshooting.md) for upload, billing, and data handling. If the host cannot write the ordinary-image save path, set `MEIGEN_OUTPUT_DIR` to a writable directory. Do not promise a local file for a remote-only result.