Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use mmx to generate text, images, video, speech, and music via the MiniMax AI platform. Use when the user wants to create media content, chat with MiniMax models, perform web search, or manage MiniMax API resources from the terminal.
.claude/skills/lingxling-mmx-cli/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -4% | 0% |
Use mmx to generate text, images, video, speech, music, and perform web search via the MiniMax AI platform.
Use this skill when the user wants to generate or inspect text, images, video, speech, music, web-search results, or MiniMax API resources through the mmx terminal CLI.
bash# Install npm install -g mmx-cli # Auth (OAuth persists to ~/.mmx/credentials.json, API key persists to ~/.mmx/config.json) mmx auth login --api-key sk-xxxxx # Verify active auth source mmx auth status # Or pass per-call mmx text chat --api-key sk-xxxxx --message "Hello"
Region is auto-detected. Override with --region global or --region cn.
Always use these flags in non-interactive (agent/CI) contexts:
| Flag | Purpose | |---|---| | --non-interactive | Fail fast on missing args instead of prompting | | --quiet | Suppress spinners/progress; stdout is pure data | | --output json | Machine-readable JSON output | | --async | Return task ID immediately (video generation) | | --dry-run | Preview the API request without executing | | --yes | Skip confirmation prompts |
Chat completion. Default model: MiniMax-M2.7.
bashmmx text chat --message <text> [flags]
bash# Single message mmx text chat --message "user:What is MiniMax?" --output json --quiet # Multi-turn with system prompt mmx text chat \ --system "You are a coding assistant." \ --message "user:Write fizzbuzz in Python" \ --output json # From file cat conversation.json | mmx text chat --messages-file - --output json
Generate images. Model: image-01.
bashmmx image generate --prompt <text> [flags]
bashmmx image generate --prompt "A cat in a spacesuit" --output json --quiet mmx image generate --prompt "Logo" --n 3 --out-dir ./gen/ --quiet
Generate video. Default model: MiniMax-Hailuo-2.3. Async task — polls until completion by default.
bashmmx video generate --prompt <text> [flags]
bash# Non-blocking: get task ID mmx video generate --prompt "A robot." --async --quiet # Blocking: wait and save file mmx video generate --prompt "Ocean waves." --download ocean.mp4 --quiet
Text-to-speech. Default model: speech-2.8-hd. Max 10k chars.
bashmmx speech synthesize --text <text> [flags]
bashmmx speech synthesize --text "Hello world" --out hello.mp3 --quiet echo "Breaking news." | mmx speech synthesize --text-file - --out news.mp3
Generate music. Model: music-2.6-free.
bashmmx music generate --prompt <text> [--lyrics <text>] [flags]
bash# Instrumental mmx music generate --prompt "Cinematic orchestral, building tension" --instrumental --out bgm.mp3 --quiet # With auto-generated lyrics mmx music generate --prompt "Upbeat pop about summer" --lyrics-optimizer --out summer.mp3 --quiet
Web search via MiniMax.
bashmmx search query --q "MiniMax AI" --output json --quiet
Image understanding via VLM.
bashmmx vision describe --image photo.jpg --prompt "What breed?" --output json
bash# Chain: generate image → describe it URL=$(mmx image generate --prompt "A sunset" --quiet) mmx vision describe --image "$URL" --quiet # Async video workflow TASK=$(mmx video generate --prompt "A robot" --async --quiet | jq -r '.taskId') mmx video task get --task-id "$TASK" --output json mmx video download --task-id "$TASK" --out robot.mp4
| Code | Meaning | |---|---| | 0 | Success | | 1 | General error | | 2 | Usage error | | 3 | Authentication error | | 4 | Quota exceeded | | 5 | Timeout | | 10 | Content filter triggered |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-21 | pass→pass | 11,565 | 15,703 | +36% | 1 | 1 | 0% | 2,224 | 2,861 | +29% | 0 | 0 | — |
case-22 | pass→pass | 8,419 | 6,146 | -27% | 1 | 1 | 0% | 1,610 | 1,975 | +23% | 0 | 0 | — |
case-05 | fail→pass | 12,210 | 4,313 | -65% | 1 | 1 | 0% | 2,324 | 1,705 | -27% | 0 | 0 | — |
case-01 | fail→pass | 11,508 | 10,156 | -12% | 1 | 1 | 0% | 1,622 | 1,778 | +10% | 0 | 0 | — |
case-02 | fail→pass | 16,943 | 4,101 | -76% | 1 | 1 | 0% | 2,595 | 1,797 | -31% | 0 | 0 | — |
case-03 | fail→pass | 6,629 | 3,815 | -42% | 1 | 1 | 0% | 1,271 | 1,882 | +48% | 0 | 0 | — |
case-04 | fail→pass | 9,350 | 3,759 | -60% | 1 | 1 | 0% | 1,759 | 1,689 | -4% | 0 | 0 | — |
case-06 | fail→pass | 17,047 | 6,320 | -63% | 1 | 1 | 0% | 2,327 | 1,974 | -15% | 0 | 0 | — |
case-07 | fail→pass | 6,658 | 2,586 | -61% | 1 | 1 | 0% | 949 | 1,445 | +52% | 0 | 0 | — |
case-08 | fail→pass | 15,319 | 3,116 | -80% | 1 | 1 | 0% | 2,163 | 1,705 | -21% | 0 | 0 | — |
case-09 | fail→pass | 17,724 | 2,378 | -87% | 1 | 1 | 0% | 2,672 | 1,497 | -44% | 0 | 0 | — |
case-10 | fail→pass | 11,174 | 2,227 | -80% | 1 | 1 | 0% | 1,981 | 1,549 | -22% | 0 | 0 | — |
case-11 | fail→pass | 18,130 | 4,177 | -77% | 1 | 1 | 0% | 3,031 | 1,810 | -40% | 0 | 0 | — |
case-12 | fail→pass | 8,567 | 2,337 | -73% | 1 | 1 | 0% | 1,470 | 1,499 | +2% | 0 | 0 | — |
case-13 | fail→pass | 15,464 | 3,170 | -80% | 1 | 1 | 0% | 2,335 | 1,644 | -30% | 0 | 0 | — |
case-14 | fail→pass | 155,233 | 2,323 | -99% | 1 | 1 | 0% | 2,140 | 1,509 | -29% | 0 | 0 | — |
case-15 | fail→pass | 12,571 | 2,301 | -82% | 1 | 1 | 0% | 2,274 | 1,528 | -33% | 0 | 0 | — |
case-16 | fail→pass | 11,616 | 4,723 | -59% | 1 | 1 | 0% | 1,741 | 1,555 | -11% | 0 | 0 | — |
case-17 | fail→pass | 9,459 | 2,890 | -69% | 1 | 1 | 0% | 1,225 | 1,398 | +14% | 0 | 0 | — |
case-18 | fail→pass | 13,418 | 4,013 | -70% | 1 | 1 | 0% | 1,967 | 1,858 | -6% | 0 | 0 | — |
case-19 | fail→pass | 14,650 | 2,528 | -83% | 1 | 1 | 0% | 1,932 | 1,558 | -19% | 0 | 0 | — |
case-20 | pass→pass | 12,023 | 8,185 | -32% | 1 | 1 | 0% | 1,763 | 2,420 | +37% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +86 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.