Modellix skill
An Agent Skill of Modellix documentation and capabilities reference.
npx -y skills add Modellix/modellix-skill --skill modellix-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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. Prefer modellix-cli (model run --wait, task download, doctor, model list) over hand-rolled REST polling whenever the CLI is available.
SKILL.md
10.0 KB, as published. Nobody here has run it
Modellix Skill
Modellix is a Model-as-a-Service (MaaS) platform for async image/video generation. Prefer the official CLI (modellix-cli) so submit, wait, and download stay one coherent workflow.
Official Docs
- AI Onboarding: https://docs.modellix.ai/get-started.md
- REST API: https://docs.modellix.ai/ways-to-use/api.md
- Full Models Index: https://docs.modellix.ai/llms.txt
- CLI package (source of truth for CLI behavior): https://www.npmjs.com/package/modellix-cli
Do not rely on the website CLI guide page for command syntax; use this skill, references/cli-playbook.md, npm README, or modellix-cli --help.
Execution Policy (CLI-first)
Choose the path in this order:
- CLI when
modellix-cliis available (install withnpm i -g modellix-cli@latestif missing and install is allowed). - REST only when CLI is not installed, unsuitable, or missing a needed capability.
- Prefer machine-readable output (
--jsonor--quiet) for automation.
Canonical single-task flow:
modellix-cli doctor --json
modellix-cli model run \
--model-slug <provider/model> \
--body '<json>' \
--wait --timeout 5m --json
modellix-cli task download <task_id> --output-dir ./outputs --json
model invoke is a compatibility alias of model run. New commands should use model run.
Do not reinvent polling loops when CLI wait is available. Do not invent deprecated flags (for example --model-type). Use --help only when behavior is unclear.
Default Models
When the user does not name a model, use these defaults immediately (do not scan the catalog first):
| Task Type | Default Model Slug |
|---|---|
| Text-to-image (T2I) | google/nano-banana-2-lite |
| Text-to-video (T2V) | bytedance/seedance-2.0-mini-t2v |
| Image editing / I2I | bytedance/seedream-5.0-lite-edit |
| Image-to-video / I2V | bytedance/seedance-2.0-fast-i2v |
| Video-to-video (V2V) | bytedance/seedance-2.0-v2v |
API Key Lifecycle Policy
Handle credentials as: discover -> request -> use-session -> (optional) persist.
1) Discover existing key first
Before asking the user:
- Session / process env
MODELLIX_API_KEY - Saved CLI profile (
modellix-cli auth status/doctor— key via--profileorMODELLIX_PROFILEorcurrentProfile) - If still missing, request a key from the user
Never ask again when a usable key is already discoverable. CLI key resolution order is: --api-key → MODELLIX_API_KEY → selected saved profile.
2) Request key only when missing
- Ask for a key from Modellix Console.
- Do not print or echo key values.
- Prefer session env for the current run.
3) Optional persistence
Default: do not persist automatically.
When the user explicitly asks to persist:
- Preferred:
modellix-cli auth loginormodellix-cli init(CLI validates and stores the profile securely). - Alternative: user-level
MODELLIX_API_KEYonly if they insist on env persistence. - Do not write system-level env or other agents' config files.
4) Key rotation
If the user provides a new key: update session first; if they requested persistence, replace via auth login/init (or user-level env). Re-check with modellix-cli doctor --json (or scripts/preflight.py --json) before continuing.
Preflight and Deterministic Execution
Preferred checks:
modellix-cli doctor --json
Bundled helpers (optional):
scripts/preflight.py— wrapsdoctorwhen CLI exists; otherwise lightweight env/whichchecks and recommendscliorrest.scripts/invoke_and_poll.py— CLI path usesmodel run --wait; REST path keeps submit+poll fallback.
When preflight/doctor reports missing credentials, apply the lifecycle above.
When CLI is unavailable:
- Use REST (
references/rest-playbook.md). - After the task, recommend:
npm i -g modellix-cli@latest.
Core Workflow
1) Ready the environment
- Discover or request API key (lifecycle above).
- Run
modellix-cli doctor --jsonwhen CLI is present. - Continue only when auth and connectivity look healthy (or REST key is set).
2) Select model
- If the user did not specify a model: use the Default Models table (do not scan the catalog first).
- If they named a model or need discovery:
modellix-cli model list/modellix-cli model describe <slug>(describe returnsdocs_url). - If CLI is unavailable: browse https://docs.modellix.ai/llms.txt for links, then fetch the target model
.md. - For request body schema: fetch the model doc (
docs_urlor the matching docs link) and read the OpenAPI path /model_id. Do not invent slugs from filenames (decimals often matter, e.g.bytedance/seedance-2.0-mini-t2v).
3) Run and wait
Default (single task):
modellix-cli model run \
--model-slug google/nano-banana-2-lite \
--body '{"prompt":"A cinematic sunset over a futuristic city skyline"}' \
--wait --timeout 5m --json
Split flow when useful (pipelines, concurrency):
TASK_ID=$(modellix-cli model run --model-slug ... --body '...' --output task-id)
modellix-cli task wait "$TASK_ID" --timeout 10m --json
Batch (paid guard required): modellix-cli model batch tasks.jsonl --max-tasks N [--wait].
Manual REST: references/rest-playbook.md. Optional helper: scripts/invoke_and_poll.py.
4) Download results
modellix-cli task download <task_id> --output-dir ./outputs --json
If download fails with Resource host resolves to a private or reserved network address (common when a local proxy/VPN maps CDN hosts like file.modellix.ai into 198.18.0.0/15), retry with --allow-private-network for trusted Modellix CDN hosts, or fall back to downloading the result.resources[].url with curl/wget.
Resource URLs expire in about 24 hours — persist promptly. If downloading manually (REST path), name files:
modellix-{model_slug}-{timestamp}.{ext}
(replace / in the slug with -).
Examples:
modellix-google-nano-banana-2-lite-20260430-113000.pngmodellix-bytedance-seedance-2.0-mini-t2v-20260430-113500.mp4
Quick Examples
T2I (default model) — prompt required:
modellix-cli model run \
--model-slug google/nano-banana-2-lite \
--body '{"prompt":"A cinematic sunset over a futuristic city skyline"}' \
--wait --timeout 5m --json
T2V (default model) — prompt required:
modellix-cli model run \
--model-slug bytedance/seedance-2.0-mini-t2v \
--body '{"prompt":"A cat playing in a sunny garden"}' \
--wait --timeout 10m --json
I2I — prompt + image array:
modellix-cli model run \
--model-slug bytedance/seedream-5.0-lite-edit \
--body '{"prompt":"Convert to watercolor style","image":["https://example.com/input.jpg"]}' \
--wait --timeout 5m --json
I2V — at least one image param (first_frame_image, last_frame_image, or reference_images):
modellix-cli model run \
--model-slug bytedance/seedance-2.0-fast-i2v \
--body '{"prompt":"A cat playing in the garden","first_frame_image":"https://example.com/frame.jpg"}' \
--wait --timeout 10m --json
V2V — video_urls array:
modellix-cli model run \
--model-slug bytedance/seedance-2.0-v2v \
--body '{"video_urls":["https://example.com/source.mp4"]}' \
--wait --timeout 10m --json
5) Post-task CLI recommendation
If this session used REST because CLI was missing, suggest installing the CLI afterward.
Progressive Reference Routing
Read only what the task needs:
references/cli-playbook.md— install, auth, run/wait/download, batch, recoveryreferences/rest-playbook.md— REST submit/poll when CLI is unavailablereferences/capability-matrix.md— CLI ↔ REST mapping and fallback rules
Bundled Assets
assets/output/task-result.schema.json
Credential and Data Egress
- Primary credential:
MODELLIX_API_KEY(also via CLI profiles). - Network egress:
https://api.modellix.ai(override only with trusted--base-url/MODELLIX_BASE_URL). - User prompts and media inputs may be sent to Modellix during invocation.
- Never expose API keys in logs, screenshots, transcripts, or commits.
- Default to session-only credentials; persistent writes need explicit user approval.
Error / Retry Policy
| Situation | Action |
|---|---|
HTTP/API 400 | Do not retry. Fix parameters or body. |
401 | Do not retry. Fix key (doctor, auth login). |
402 | Do not retry. Insufficient balance. |
404 | Do not retry. Verify task_id or model slug. |
429 / read-only 5xx | CLI already retries safe GETs within deadline; do not blindly re-POST paid submits. |
| Paid submit outcome unknown | Do not immediately re-run the same model run. Check task history, console activity, and any printed task ID first. |
Exit 124 | Local wait timeout; remote task may still run — recover with task wait / task get, then task download. |
Exit 2 | Argument or safety guard (e.g. batch cost limit) — fix flags. |
Verification Checklist
- Doctor/preflight passed or REST key ready
- Model chosen (default table or user/catalog)
- Body schema checked against model doc when non-trivial
- Used
model run --wait(ortask wait) instead of hand-rolled poll loops - Results downloaded (
task downloador manual persist before 24h expiry) - No blind retry after unknown paid submission
- REST used only when CLI path unavailable