minimax-ai/cli3 files

Mmx CLI

Use mmx to generate text, images, video, and speech, and to transcribe audio, via the MiniMax AI platform. Use when the user wants to create media content, chat with MiniMax models, transcribe audio to text, perform web search, or manage MiniMax API resources from the terminal.

Specification
Skill ID
minimax-ai/cli/mmx-cli
Publisher
minimax-ai
Repository
cli
Installs
0
Files
3
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

minimax-ai/cli/mmx-cliInstalls these files
  • SKILL.md
  • h3-video/SKILL.md
  • h3-video/references/h3-video.md

What this skill tells the agent

MiniMax CLI — Agent Skill Guide

Use mmx to generate text, images, video, speech, transcribe audio, and perform web search via the MiniMax AI platform.

Prerequisites

# 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.


Agent Flags

Always use these flags in non-interactive (agent/CI) contexts:

FlagPurpose
--non-interactiveFail fast on missing args instead of prompting
--quietSuppress spinners/progress; stdout is pure data
--output jsonMachine-readable JSON output
--asyncReturn task ID immediately (video generation)
--dry-runPreview the API request without executing
--yesSkip confirmation prompts

Commands

text chat

Chat completion. Default model: MiniMax-M3.

mmx text chat --message <text> [flags]
FlagTypeDescription
--message <text>string, required, repeatableMessage text. Prefix with role: to set role (e.g. "system:You are helpful", "user:Hello")
--messages-file <path>stringJSON file with messages array. Use - for stdin
--system <text>stringSystem prompt
--model <model>stringModel ID (default: MiniMax-M3)
--max-tokens <n>numberMax tokens (default: 4096)
--temperature <n>numberSampling temperature (0.0, 1.0]
--top-p <n>numberNucleus sampling threshold
--streambooleanStream tokens (default: on in TTY)
--tool <json-or-path>string, repeatableTool definition JSON or file path
# Single message
mmx text chat --message "user:What is MiniMax?" --output json --quiet

# Multi-turn
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

stdout: response text (text mode) or full response object (json mode).


image generate

Generate images. Model: image-01.

mmx image generate --prompt <text> [flags]
FlagTypeDescription
--prompt <text>string, requiredImage description
--aspect-ratio <ratio>stringe.g. 16:9, 1:1. Ignored if --width and --height are both set
--n <count>numberNumber of images (default: 1)
--seed <n>numberRandom seed for reproducible generation
--width <px>numberWidth in pixels (512–2048, multiple of 8). Requires --height
--height <px>numberHeight in pixels (512–2048, multiple of 8). Requires --width
--prompt-optimizerbooleanOptimize prompt before generation
--aigc-watermarkbooleanEmbed AI-generated content watermark
--subject-ref <params>stringSubject reference: type=character,image=path-or-url
--response-format <format>stringurl (default) or base64. Base64 bypasses CDN download
--out-dir <dir>stringDownload images to directory
--out-prefix <prefix>stringFilename prefix (default: image)
mmx image generate --prompt "A cat in a spacesuit" --output json --quiet
# stdout: image URLs (one per line in quiet mode)

mmx image generate --prompt "Logo" --n 3 --out-dir ./gen/ --quiet
# stdout: saved file paths (one per line)

video generate

Generate video. Default model: MiniMax-Hailuo-2.3 (or MiniMax-Hailuo-2.3-Fast for fast mode with --image). This is an async task — by default it polls until completion.

For MiniMax-H3 — text-to-video, first/last-frame, multimodal reference image/video/audio generation, prompt construction, and failure handling — use the dedicated mmx-h3-video skill instead.

mmx video generate --prompt <text> [flags]
FlagTypeDescription
--prompt <text>string, requiredVideo description
--model <model>stringMiniMax-Hailuo-2.3 (default) or MiniMax-Hailuo-2.3-Fast
--image <path-or-url>stringInput image for image-to-video
--last-frame <path-or-url>stringOptional ending image for frame interpolation (used with --image)
--callback-url <url>stringWebhook URL for completion
--download <path>stringSave video to specific file
--asyncbooleanReturn task ID immediately
--no-waitbooleanSame as --async
--poll-interval <seconds>numberPolling interval (default: 5)
# Non-blocking: get task ID
mmx video generate --prompt "A robot." --async --quiet
# stdout: {"taskId":"..."}

# Blocking: wait and get file path
mmx video generate --prompt "Ocean waves." --download ocean.mp4 --quiet
# stdout: ocean.mp4

video task get

Query status of a video generation task.

mmx video task get --task-id <id> [--output json]

video download

Download a completed video by task ID.

mmx video download --file-id <id> [--out <path>]

speech synthesize

Text-to-speech. Default model: speech-2.8-hd. Max 10k chars.

mmx speech synthesize --text <text> [flags]
FlagTypeDescription
--text <text>stringText to synthesize
--text-file <path>stringRead text from file. Use - for stdin
--model <model>stringspeech-2.8-hd (default), speech-2.6, speech-02
--voice <id>stringVoice ID (default: English_expressive_narrator)
--speed <n>numberSpeed multiplier
--volume <n>numberVolume level
--pitch <n>numberPitch adjustment
--format <fmt>stringAudio format (default: mp3)
--sample-rate <hz>numberSample rate (default: 32000)
--bitrate <bps>numberBitrate (default: 128000)
--channels <n>numberAudio channels (default: 1)
--language <code>stringLanguage boost
--subtitlesbooleanDownload and save subtitles as .srt file (alongside --out audio file). API must support subtitles for the selected model.
--pronunciation <from/to>string, repeatableCustom pronunciation
--sound-effect <effect>stringAdd sound effect
--out <path>stringSave audio to file
--streambooleanStream raw audio to stdout
mmx speech synthesize --text "Hello world" --out hello.mp3 --quiet
# stdout: hello.mp3

mmx speech synthesize --text "Hello" --subtitles --out hello.mp3
# saves hello.mp3 + hello.srt (SRT subtitle file)

echo "Breaking news." | mmx speech synthesize --text-file - --out news.mp3

speech transcribe

Speech-to-text. Default model: asr-1.0. Accepts wav, aiff, flac, m4a, mp3, aac, opus, and ogg files up to 50 MB and 500 seconds.

mmx speech transcribe --file <path> [flags]
FlagTypeDescription
--file <path>stringAudio file to transcribe (required; also accepted as a positional argument)
--model <model>stringasr-1.0 (default)
--response-format <fmt>stringjson (default), verbose_json, srt, vtt
--language <code>stringBCP-47 language hint (zh, en, ja, ...). Omit for automatic/mixed-language detection
--timestamp-level <level>stringsentence (default) or word; applies to verbose_json / srt / vtt
--streambooleanStream incremental text to stdout. Requires --response-format json
--out <path>stringWrite the result to a file instead of stdout
mmx speech transcribe --file meeting.mp3
# stdout: transcript text

mmx speech transcribe --file call.mp3 --language zh --output json

More from minimax-ai

Use this skill in a project

Open any RiverX project, search the Skills panel for minimax-ai/cli/mmx-cli, and install it in one click.

Use this skill