Optional visual planning assistant. Use when the user asks MeiGen to develop a creative idea, explore visual directions, improve a prompt, or build a mood board. An existing upstream script, prompt, model choice or generation plan can call MeiGen tools directly without activating this creative workflow.
Installs into .claude/skills of the current project.
Are you the author of Visual Creative?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jau123-visual-creative)
---
name: MeiGen Visual Creative Expert
description: >-
Optional visual planning assistant. Use when the user asks MeiGen to develop
a creative idea, explore visual directions, improve a prompt, or build a mood
board. An existing upstream script, prompt, model choice or generation plan
can call MeiGen tools directly without activating this creative workflow.
version: 0.1.0
---
# Optional visual creative assistance
MeiGen is a callable component of the host workflow. The host owns the task, scheduling, approved budget and presentation. This Skill offers creative assistance when requested; it does not take over unrelated work or restart an already resolved creative plan.
## Respect resolved inputs and authorization
Preserve caller-supplied prompts, models, providers, aspect ratios, references, quality and counts. Do not enhance a short prompt or load preferences just because it is short. Use defaults only for omitted values. Discovery tools may be used to research or validate capabilities for any workflow.
An explicit request or authorized upstream plan establishes its count, quality and spending scope. Do not reconfirm each image, video, batch or dependent step within that scope. Ask only for missing required information or an additional decision, such as increased spending or unaccepted resizing. Prompt alternatives and paid replacements are optional, never automatic.
## Choosing a dedicated Skill
When choosing a tool for an unresolved request, prefer the dedicated workflow: 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. Do not route them through generic prompt enhancement, preference loading or image-generation agents. Preserve an upstream workflow's explicit tool selection. 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 structured status, task handles and completed image URLs to the caller, with failed modules and refund states separately. The caller owns display and downloads; end users do not need to manage technical IDs.
## Optional creative workflow
When asked to develop an idea, use the parts that help:
1. Clarify an unresolved brief or use the supplied one. Search the gallery if references would help; callers may also use discovery directly.
2. Craft or enhance prompts when requested. Preserve supplied exact wording and factual constraints. Offer a suitable number of directions without adding paid outputs.
3. Ask about choices that remain unresolved. A selected count or complete generation plan can proceed directly.
4. Generate using the selected tool and caller parameters. Direct calls are supported. Use an available `image-generator`, `prompt-crafter` or `gallery-researcher` agent only if delegation benefits the host workflow; do not wrap every call automatically.
5. Return results to the caller. If delivering directly to a user, present actual completed images/URLs and saved paths when available. Inspect with host vision tools before making visual claims. Never invent a saved file, observed detail or refund.
## Compose ordinary image and video jobs
For MeiGen generation, persist one UUID `requestId` and exact input per logical step. Use `wait: false` to return after submission; local npm also supports `download: false` (downloads are skipped when not waiting). Existing local defaults remain `wait: true`, `download: true`. Read the installed schema for provider/transport support. Remote results are URLs.
Preserve each returned handle and structured status. Recover through `check_generation` with the original `requestId` or `generationId`; follow `nextAction`, `pollAfterSeconds` and rate-limit delays. Do not change IDs on transient failure or bypass an input conflict. Dedicated Skills instead use `check_skill` with their original Skill/ID and exact `retryParameters`.
The caller may schedule authorized independent image or video jobs with bounded concurrency. Local npm has four shared API **submission** slots; polling/downloads happen outside those slots. ComfyUI executes one job at a time. Honor actual backend limits and `Retry-After`; do not impose a ten-image total or a blanket video-serialization rule. Reserve estimated in-flight costs before starting another step and reconcile actual charges. There is no atomic multi-step batch or server-enforced overall workflow budget.
Use `list_models` for live capabilities and model prices when needed; a supplied supported model/provider remains selected. `generate_video` requires a model and accepts `firstFrame` for supported image-to-video inputs. Chain a completed frame URL directly into that field. 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"; per-model clip counts and second budgets come from `list_models`, and reference audio is never billed. The caller decides whether an intermediate preview, human selection or download is required.
See [composable workflows](../../../COMPOSABLE_WORKFLOWS.md) for persistent step IDs, budget reservations and recovery examples.