modellix-skill/SKILL.md
Integrate Modellix's unified API for AI image and video generation into applications. Use this skill whenever the user wants to generate images from text, create videos from text or images, edit images, do virtual try-on, or call any Modellix model API. Also trigger when the user mentions Modellix, model-as-a-service for media generation, or needs to work with providers like Qwen, Wan, Seedream, Seedance, Kling, Hailuo, or MiniMax through a unified API.
npx skillsauth add modellix/modellix-skill modellixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Modellix is a Model-as-a-Service (MaaS) platform with async image/video generation APIs. The invariant flow is: submit task -> get task_id -> poll until success or failed.
references/REFERENCE.md locally to query specific model invocation methods)Always choose execution path in this order:
modellix-cli is available and authenticated.--json) in CLI flows.For CLI mode, use these two commands as the default command set:
modellix-cli model invoke --model-slug <provider/model> --body|--body-file ...modellix-cli task get <task_id>Do not guess or invent deprecated flags (for example --model-type). Use --help only as an assistive fallback when command behavior is unclear.
Always handle MODELLIX_API_KEY with this lifecycle: discover -> request -> use-session -> (optional) persist-user-env.
Before asking the user for credentials, check in this order:
MODELLIX_API_KEY.MODELLIX_API_KEY if already configured.Never ask for a key again when a valid key is already discoverable.
If no usable key is found:
Default behavior: do not persist automatically.
If and only if the user explicitly asks for persistence, write to user-level environment settings:
MODELLIX_API_KEY.If the user provides a new API key, treat it as a key rotation event:
scripts/preflight.py --json after replacement and continue only if the new key is valid.When replacement fails validation, keep the flow blocked, report the validation failure, and request a corrected key.
Default execution path is the CLI command pair (model invoke -> task get).
Bundled scripts are optional helpers for automation:
scripts/preflight.py
cli or rest).scripts/invoke_and_poll.py
When preflight reports missing credentials, apply the lifecycle policy above:
When preflight reports cli_available=false:
npm i -g modellix-cli@latest"Quick commands:
python scripts/preflight.py --json
python scripts/invoke_and_poll.py --model-slug bytedance/seedream-5.0-lite --body '{"prompt":"A cinematic portrait of a fox in a misty forest at sunrise"}'
MODELLIX_API_KEY.Use either references/REFERENCE.md or https://docs.modellix.ai/llms.txt as the model index to select a model. If the user does not specify a model, use the default model for the task type.
After finding the target model in the index, you MUST fetch its .md documentation URL (e.g., via WebFetch) to understand its specific request schema, parameters, and invocation method before proceeding.
CRITICAL: Do NOT guess the model slug from the .md filename (e.g. hailuo-2-3-t2v.md). You MUST read the OpenAPI spec inside the fetched documentation to find the actual API path (e.g. /hailuo-2.3-t2v/async) or model_id field to determine the exact slug (which often preserves decimals, e.g. minimax/hailuo-2.3-t2v).
| Task Type | Default Model Slug |
|---|---|
| Text-to-image (T2I) | bytedance/seedream-5.0-lite |
| Image editing / I2I | bytedance/seedream-5.0-lite-edit |
| Text-to-video / I2V | bytedance/seedance-2.0-fast-i2v |
| Video-to-video (V2V) | bytedance/seedance-2.0-v2v |
T2I — only prompt is required:
modellix-cli model invoke \
--model-slug bytedance/seedream-5.0-lite \
--body '{"prompt":"A cinematic sunset over a futuristic city skyline"}'
I2I — prompt + image array required:
modellix-cli model invoke \
--model-slug bytedance/seedream-5.0-lite-edit \
--body '{"prompt":"Convert to watercolor style","image":["https://example.com/input.jpg"]}'
I2V — at least one image param (first_frame_image, last_frame_image, or reference_images) required:
modellix-cli model invoke \
--model-slug bytedance/seedance-2.0-fast-i2v \
--body '{"prompt":"A cat playing in the garden","first_frame_image":"https://example.com/frame.jpg"}'
V2V — video_urls array required:
modellix-cli model invoke \
--model-slug bytedance/seedance-2.0-v2v \
--body '{"video_urls":["https://example.com/source.mp4"]}'
references/cli-playbook.md
modellix-cli model invoke ...modellix-cli task get <task_id>references/rest-playbook.mdscripts/invoke_and_poll.py for auto polling/normalized outputOutput media URLs are under result.resources. Persist assets promptly; results expire in 24 hours.
When downloading generated artifacts (images, videos, audio, etc.), name files with the modellix- prefix followed by the model slug (with / replaced by -) and a timestamp:
modellix-{model_slug}-{timestamp}.{ext}
Examples:
modellix-bytedance-seedream-5.0-lite-20260430-113000.pngmodellix-bytedance-seedance-2.0-fast-i2v-20260430-113500.mp4modellix-google-nano-banana-pro-20260430-114000.pngIf CLI was not available during this session and REST was used instead, suggest installation after the task completes:
Tip: You can install the Modellix CLI for a faster workflow:
npm i -g modellix-cli@latestDocs: https://docs.modellix.ai/ways-to-use/cli.md
Read only what the task needs:
references/cli-playbook.md
references/rest-playbook.md
references/capability-matrix.md
assets/output/task-result.schema.jsonMODELLIX_API_KEY.MODELLIX_API_KEY.https://api.modellix.ai.| Code | Action | |------|--------| | 400 | Do not retry. Fix parameters or request body format. | | 401 | Do not retry. Verify API key. | | 402 | Do not retry. Insufficient balance. | | 404 | Do not retry. Verify task_id or model-slug. | | 429 | Retry with exponential backoff. | | 500/503 | Retry with exponential backoff (max 3 times). |
cli or rest)MODELLIX_API_KEY or CLI --api-key)references/REFERENCE.mdtask_id with success codepending, processing, success, failed429/500/503testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.