skills/mmx/SKILL.md
--- name: mmx description: Full multimodal generation via MiniMax CLI (mmx). Covers text chat, image generation, video synthesis, TTS speech, music composition, vision analysis, and web search. Activates when Arif wants to generate content or analyze images. Prerequisites: mmx auth login with API key. NOT for deep research loops (use mmx-text-researcher skill instead). metadata: {"openclaw": {"emoji": "🎨", "requires": {"bins": ["mmx"]}}} setup_needed: true --- # MMX — MiniMax Multimodal CLI #
npx skillsauth add ariffazil/openclaw-workspace skills/mmxInstall 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.
minimax-mcp (pip) ≠ mmx-cli (npm) — completely different packages:
minimax-mcp on PyPI = Claude config helper, NOT the CLI ❌mmx-cli on npm = Actual MiniMax CLI, installs as mmx binary ✅pip install mmx → fails (no such package)npm install @minimax/mmx → fails (not in registry)npm install -g mmx-cliFor deep research workflows, use mmx-text-researcher skill instead.
mmx auth status
# If not authenticated:
mmx auth login --api-key <your-api-key>
# Check region:
mmx config show
# Basic
mmx text chat --message "What is MiniMax?"
# Streaming
mmx text chat --model MiniMax-M2.7-highspeed --message "Hello" --stream
# With system prompt
mmx text chat --system "You are a coding assistant" --message "Fizzbuzz in Go"
# Multi-turn (conversation history)
mmx text chat --message "user:Hi" --message "assistant:Hey!" --message "How are you?"
# JSON output
mmx text chat --message "Extract key facts as JSON" --output json
# From file
cat messages.json | mmx text chat --messages-file - --output json
MiniMax-M2.7 — standardMiniMax-M2.7-highspeed — faster responseMiniMax-Text-01 — best for research/synthesis# Simple
mmx image "A cat in a spacesuit"
# With options
mmx image generate --prompt "A cat" --n 3 --aspect-ratio 16:9
# Output to directory
mmx image generate --prompt "Logo" --out-dir ./out/
# Available aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
# Async (start and track)
mmx video generate --prompt "Ocean waves at sunset"
# Async with progress tracking
mmx video generate --prompt "A robot painting" --async
# Get task status
mmx video task get --task-id <task-id>
# Download completed video
mmx video download --file-id <file-id> --out video.mp4
mmx video generate --prompt "Ocean waves at sunset" --download sunset.mp4
# Basic synthesis
mmx speech synthesize --text "Hello!" --out hello.mp3
# Streaming playback (pipe to mpv)
mmx speech synthesize --text "Stream me" --stream | mpv -
# Voice selection + speed
mmx speech synthesize --text "Hi" --voice English_magnetic_voiced_man --speed 1.2
# List available voices
mmx voices
# From stdin
echo "Breaking news" | mmx speech synthesize --text-file - --out news.mp3
# With lyrics
mmx music generate --prompt "Upbeat pop" --lyrics "[verse] La da dee, sunny day" --out song.mp3
# Auto-generate lyrics from prompt
mmx music generate --prompt "Indie folk, melancholic, rainy night" --lyrics-optimizer --out song.mp3
# Instrumental (no vocals)
mmx music generate --prompt "Cinematic orchestral" --instrumental --out bgm.mp3
# Cover (generate cover from reference audio)
mmx music cover --prompt "Jazz, piano, warm female vocal" --audio-file original.mp3 --out cover.mp3
# Cover from URL
mmx music cover --prompt "Indie folk" --audio https://example.com/song.mp3 --out cover.mp3
# Local file
mmx vision photo.jpg
# Describe with custom prompt
mmx vision describe --image https://example.com/img.jpg --prompt "What breed?"
# From file-id
mmx vision describe --file-id file-123
# Basic
mmx search "MiniMax AI"
# Structured JSON output
mmx search query --q "latest news" --output json
# Check quota
mmx quota
# Show config
mmx config show
# Set region (global or cn)
mmx config set --key region --value cn
# Set default model
mmx config set --key default-text-model --value MiniMax-M2.7-highspeed
# Export schema
mmx config export-schema | jq .
# Update CLI
mmx update
mmx update latest
| Task | Command |
|---|---|
| Generate image for Arif's geology viz | mmx image generate --prompt "<description>" --aspect-ratio 16:9 --out-dir ./output/ |
| Create video clip | mmx video generate --prompt "<scene>" --async |
| TTS voice message | mmx speech synthesize --text "<message>" --voice <voice> --out voice.mp3 |
| Compose background music | mmx music generate --prompt "<mood>" --instrumental --out bgm.mp3 |
| Analyze geology photo | mmx vision <path-to-image> |
| Quick fact check | mmx search "<query>" |
| Research synthesis | Use mmx-text-researcher skill instead |
development
Check every skill’s “use when” and “do not use when” clauses for collisions, missing negatives, and vague verbs like “help,” “assist,” or “improve.” Load when linting, reviewing, or validating trigger boundaries.
development
Bootstrap, design, and package new skills. Load when capturing user intent for a new skill or drafting its initial instruction framework.
content-media
Diagnose which federation services are up, down, or drifting. Produce a prioritized remediation plan.
business
Scan a repo or workspace for exposed secrets, tokens, keys, and credentials. Produce a findings report with remediation steps.