Model or dataset
MiniMax-AI/cli avatar
MiniMax-AI/cli

mmx-cli: one MiniMax command for text, image, video and speech

Generate text, images, video, speech, and music by MiniMax.

2,118 stars176 forksTypeScriptLicense varies

At a glance

What is it?
MiniMax-AI/cli is the official command line client for the MiniMax platform, covering chat, image generation, video generation, text to speech, vision and web search. It is built to be driven by AI agents as much as by people, and every capability behind it is metered through a paid MiniMax Token Plan.
Who is it for?
Adopt mmx-cli if you build on MiniMax and want one command for chat, images, video, speech, vision and search, especially if the caller is an AI agent, since installing it as a skill is the documented first route. Do not adopt it if you need provider portability, because it speaks MiniMax only, or if you expect search to behave like a research tool, since it returns at most 10 results per call with no pagination.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 11 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 18, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What the CLI covers

mmx-cli is the official CLI for the MiniMax AI platform. The README says it is built for AI agents and lets you generate text, images, video and speech from any agent or terminal.

The feature list spans six capabilities. Text is multi-turn chat with streaming, system prompts and JSON output. Image is text to image with aspect ratio and batch controls. Video is asynchronous generation with progress tracking. Speech is text to speech with 30 or more voices, speed control and streaming playback. Vision does image understanding and description. Search is web search powered by MiniMax.

That breadth is the point. Most model vendors ship a CLI that does chat, and image or video generation lives behind a separate product and a separate SDK. Here one binary reaches all of them, which matters if you are scripting a pipeline that needs a script, a narration track and a clip.

It also handles the regional split that MiniMax operates: the README describes dual region support for the Global endpoint at api.minimax.io and the CN endpoint at api.minimaxi.com.

Installed as an agent skill or as a binary

The README gives two install routes, and the order is telling. The first is for agents, and it installs the CLI as a skill rather than as a tool you type at:

bash
npx skills add MiniMax-AI/cli -y -g

The README names OpenClaw, Cursor and Claude Code as the intended consumers. The repository backs that up with a skill/ directory and an AGENTS.md at the root, so agent-facing instructions ship inside the project rather than being an afterthought.

The second route is the ordinary one for terminal use:

bash
npm install -g mmx-cli

Node.js 18 or newer is required, per the README badge. Both routes need a MiniMax Token Plan, which the README flags immediately below the install commands with links to the Global and CN subscription pages.

That last point is the constraint to internalise: the CLI is free software, and everything it does costs money on a metered plan.

Authenticating

The README documents two auth modes that are mutually exclusive. Logging in with one clears the other, and credential priority runs: --api-key flag, then OAuth from config, then api_key in config.

Interactive login offers MiniMax OAuth or pasting an API key:

bash
mmx auth login
mmx auth status

The README calls mmx auth status the canonical way to verify active authentication. OAuth uses the Device Authorization Grant from RFC 8628 with PKCE: the CLI opens a browser, you enter a code, and the access and refresh tokens are saved to ~/.mmx/config.json, refreshing automatically with a five minute buffer.

API key auth is the CI path. The README says it auto-detects the correct region by probing both Global and CN, which is a small thing that removes a class of confusing failures. The non-interactive form is mmx auth login --api-key sk-xxxxx, and the key can also be passed per command.

For services and CI jobs whose home directory differs from where you logged in, the README documents MMX_CONFIG_DIR to point at the config directory.

First calls across the modalities

The quick start block in the README covers each capability in one line:

bash
mmx text chat --message "What is MiniMax?"
mmx image "A cat in a spacesuit"
mmx speech synthesize --text "Hello!" --out hello.mp3
mmx video generate --prompt "Ocean waves at sunset"

Text accepts a --model flag, with MiniMax-M3 shown in the README's examples and --stream for streaming output. Multi-turn input can be passed as repeated --message flags with user: and assistant: prefixes, or piped in as JSON.

Video has two generations behind it. The README labels Hailuo-2.3 as Video Generation V1 and MiniMax-H3 as V2, and H3 adds image and reference video conditioning. For H3 the README documents preflight checks against documented limits: 30 MB for an image, 50 MB for a reference video, 15 MB for reference audio and 64 MB for the total JSON request body, with H3 defaulting to 2K, 5 seconds and 16:9 for text to video.

Speech takes a --voice and --speed, and mmx speech voices lists what is available.

Region, configuration and environment

Region is the first thing to get right, since the Global and CN platforms are separate. The README documents a config command for it:

bash
mmx config set --key region --value cn

For non-interactive environments the README lists environment variables: MINIMAX_REGION for global or cn, MINIMAX_BASE_URL to override the API base URL, MINIMAX_OUTPUT for text or json, MINIMAX_TIMEOUT in seconds, MINIMAX_VERBOSE for verbose HTTP logging, and MMX_CONFIG_DIR for the config directory, which defaults to ~/.mmx.

MINIMAX_OUTPUT matters for scripting. Setting it to json makes command output machine readable, which is what you want when an agent is parsing results rather than a person reading them.

There is also mmx quota, and the release notes show recent work on it: version v1.0.24 includes changes that visually separate the reset countdown and show the window interval, normalize ambiguous usage count semantics, and select the quota endpoint by credential. Quota presentation is clearly something users were confused by.

The limits worth knowing

Two constraints are documented rather than implied, and both will bite.

Search returns at most 10 results per call. The README says the /v1/coding_plan/search API does not currently expose a pagination parameter and points at issue 107, with the advice to refine your query if you need different results. For anything resembling research, ten results per call is a hard ceiling on recall.

Everything is metered. The README states that a MiniMax Token Plan is required, so the cost model is per generation across text, image, video and speech, with video generation the expensive one. A pipeline that renders a hundred clips is a budget decision, not a technical one.

There is also vendor lock by construction. This CLI speaks MiniMax only. If you later want to compare the same prompt across providers, none of these commands transfer.

On the licence, the README badge says MIT, while the repository metadata reports no detected licence, so there is a mismatch to resolve before redistributing.

Release cadence and changelog noise

The project ships fast. Version v1.0.25 was published on 2026-09-01, and v1.0.23 and v1.0.24 were both published on 2026-08-31. The last push to the repository was on 2026-09-07.

The changelogs show why that speed is not entirely reassuring. The v1.0.24 notes list the same pull requests as v1.0.23, including the same Windows stdin fix and the same coding agent setup command appearing twice under different numbers, and the Full Changelog link in the v1.0.24 notes points at the v1.0.22 to v1.0.23 comparison. Release tag numbering and note content are visibly out of step.

The content of the changes is sensible: support stdin-backed file options on Windows, share the file upload operation, add a coding agent setup command, install missing agents during setup, and several quota fixes. The maintenance is real. The release bookkeeping is sloppy.

For adopters that means reading the pull requests rather than the tags when you need to know what changed, and pinning a version if you depend on specific behaviour.

llm as the alternative

The closest comparison is llm, a Python command line tool for talking to language models through plugins, and the difference is scope and coupling.

llm is multi-vendor. You install a plugin per provider and the same command reaches OpenAI, Anthropic, Google and local models, so switching providers or running the same prompt against two of them is a flag change. It is text-first, with a plugin ecosystem covering embeddings and some other modalities, and it keeps a local SQLite log of every prompt and response, which is genuinely useful for auditing what an agent did.

mmx-cli is single-vendor and deep. It reaches text, image, video, speech, vision and search on one platform with one auth flow, and it is designed to be installed as an agent skill.

Choose llm if you want provider portability and a prompt log. Choose mmx-cli if your work is on MiniMax and you want image, video and speech generation from the same binary you chat from.

Editorial conclusion

Adopt mmx-cli if you build on MiniMax and want one command for chat, images, video, speech, vision and search, especially if the caller is an AI agent, since installing it as a skill is the documented first route. Do not adopt it if you need provider portability, because it speaks MiniMax only, or if you expect search to behave like a research tool, since it returns at most 10 results per call with no pagination. Budget before you automate: a MiniMax Token Plan is required and video generation is metered. Before relying on it, run mmx auth status to confirm which credential is live, set MINIMAX_REGION explicitly rather than depending on probe detection, and pin a version, because three releases landed across two days and the changelog notes do not match their tags.

Frequently asked questions

How do I install the MiniMax CLI?

The README gives npm install -g mmx-cli for terminal use and npx skills add MiniMax-AI/cli -y -g to add it as a skill for agents such as OpenClaw, Cursor and Claude Code. Node.js 18 or newer is required.

Is the MiniMax CLI free to use?

The software is MIT licensed and free to install, but the README states a MiniMax Token Plan is required and links to Global and CN subscription pages, so generation calls are metered.

How does MiniMax CLI authentication work?

mmx auth login offers MiniMax OAuth or an API key. OAuth uses the Device Authorization Grant with PKCE and stores tokens in ~/.mmx/config.json, while mmx auth login --api-key sk-xxxxx suits CI. The two are mutually exclusive.

Does MiniMax CLI support both global and China regions?

Yes. The README describes dual region support for api.minimax.io and api.minimaxi.com, configurable with mmx config set --key region --value cn or the MINIMAX_REGION environment variable.

How many search results does MiniMax CLI return?

The README says the search API returns at most 10 results per call and does not currently expose a pagination parameter, referencing issue 107, and suggests refining the query instead.

Official sources

  1. Issues
  2. MiniMax-AI/cli on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes