npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mmx-cli

v1.0.26

Published

CLI for the MiniMax AI Platform

Readme

Features

  • Text — Multi-turn chat, streaming, system prompts, JSON output
  • Image — Text-to-image with aspect ratio and batch controls
  • Video — Async video generation with progress tracking
  • Speech — TTS with 30+ voices, speed control, streaming playback; speech-to-text transcription (json, verbose_json, srt, vtt)
  • Vision — Image understanding and description
  • Search — Web search powered by MiniMax
  • Dual Region — Seamless Global (api.minimax.io) and CN (api.minimaxi.com) support

Install

# For AI agents (OpenClaw, Cursor, Claude Code, etc.): add skill to your agent
npx skills add MiniMax-AI/cli -y -g

# Or install CLI globally for terminal use
npm install -g mmx-cli

Requires Node.js 18+

Requires a MiniMax Token Plan — Global · CN

Quick Start

# Authenticate (interactive — choose MiniMax OAuth or paste an API key)
mmx auth login

# Or non-interactive
mmx auth login --api-key sk-xxxxx

# Start creating
mmx text chat --message "What is MiniMax?"
mmx image "A cat in a spacesuit"
mmx speech synthesize --text "Hello!" --out hello.mp3
mmx speech transcribe --file meeting.mp3
mmx video generate --prompt "Ocean waves at sunset"
mmx search "MiniMax AI latest news"
mmx vision photo.jpg
mmx quota

Releasing

Maintainers publish releases by pushing a SemVer Git tag; the release workflow derives the npm package version from that tag. See the release guide.

Commands

mmx text

mmx text chat --message "Write a poem"
mmx text chat --model MiniMax-M3 --message "Hello" --stream
mmx text chat --system "You are a coding assistant" --message "Fizzbuzz in Go"
mmx text chat --message "user:Hi" --message "assistant:Hey!" --message "How are you?"
cat messages.json | mmx text chat --messages-file - --output json

mmx image

mmx image "A cat in a spacesuit"
mmx image generate --prompt "A cat" --n 3 --aspect-ratio 16:9
mmx image generate --prompt "Logo" --out-dir ./out/

mmx video

# Hailuo-2.3 (Video Generation V1)
mmx video generate --prompt "Ocean waves at sunset" --download sunset.mp4
mmx video generate --prompt "A robot painting" --async

# MiniMax-H3 (Video Generation V2)
mmx video generate --api-key "$MINIMAX_API_KEY" --model MiniMax-H3 --prompt "Ocean waves at sunset"
mmx video generate --api-key "$MINIMAX_API_KEY" --model MiniMax-H3 --prompt "The subject walks forward" --image start.jpg
mmx video generate --api-key "$MINIMAX_API_KEY" --model MiniMax-H3 --prompt "Keep the same character" --reference-image character.png --reference-video motion.mp4

mmx video task get --task-id 123456
mmx video task get --task-id 424010985738629 --model MiniMax-H3
mmx video download --file-id 176844028768320 --out video.mp4

For MiniMax-H3, local files and Base64 data URIs are preflight-checked against the documented limits: image 30 MB, reference video 50 MB, reference audio 15 MB, and total JSON request body 64 MB. The API validates dimensions, aspect ratio, duration, frame rate, and codecs for all media.

--region is an existing global CLI option, not an H3 parameter. Normal video generation does not need it; the CLI uses the saved or automatically detected region. H3 defaults to 2K, 5 seconds, and 16:9 for text-to-video.

mmx speech

mmx speech synthesize --text "Hello!" --out hello.mp3
mmx speech synthesize --text "Stream me" --stream | mpv -
mmx speech synthesize --text "Hi" --voice English_magnetic_voiced_man --speed 1.2
echo "Breaking news" | mmx speech synthesize --text-file - --out news.mp3
mmx speech voices
# Speech-to-text (asr-1.0)
mmx speech transcribe --file meeting.mp3
mmx speech transcribe --file call.mp3 --language zh
mmx speech transcribe --file talk.mp3 --response-format verbose_json --output json
mmx speech transcribe --file talk.mp3 --response-format srt --out talk.srt
mmx speech transcribe --file long.mp3 --stream

mmx speech transcribe accepts wav, aiff, flac, m4a, mp3, aac, opus, and ogg files up to 50 MB and 500 seconds. Audio above 50 MB is rejected locally before upload; the 500 second limit is enforced by the API. Omitting --language enables mixed-language recognition. --response-format json (default) prints the transcript, verbose_json adds speakers and per-segment timestamps, and srt / vtt return subtitle documents. n_speakers and segments are part of the response, so pass --output json to see them. --stream prints incremental text and requires json; when stdout is not a terminal it accumulates into a single JSON result unless --output text is passed. mmx speech recognize is an alias for mmx speech transcribe.

mmx vision

mmx vision photo.jpg
mmx vision describe --image https://example.com/img.jpg --prompt "What breed?"
mmx vision describe --file-id file-123

mmx search

mmx search "MiniMax AI"
mmx search query --q "latest news" --output json

The /v1/coding_plan/search API returns at most 10 results per call and does not currently expose a pagination parameter (see #107). Refine your query if you need different results.

mmx auth

mmx auth login                              # interactive: pick OAuth (Global / China) or paste an API key
mmx auth login --api-key sk-xxxxx           # save an API key directly
mmx auth login --recommend                  # skip the menu, pick OAuth region interactively
mmx auth login --recommend --region=global  # OAuth → api.minimax.io
mmx auth login --recommend --region=cn      # OAuth → api.minimaxi.com
mmx auth status
mmx auth refresh
mmx auth logout

mmx auth status is the canonical way to verify active authentication.

OAuth uses the Device Authorization Grant (RFC 8628) with PKCE — the CLI opens your browser, you enter a code, and access_token + refresh_token are saved to ~/.mmx/config.json. Tokens refresh automatically (5-min buffer); manual refresh via mmx auth refresh.

API key auth auto-detects the correct region by probing both Global and CN. Useful for CI/CD (mmx auth login --api-key sk-xxxxx), or pass per-command via --api-key.

OAuth and API key are mutually exclusive — logging in with one clears the other. Credential priority: --api-key flag > OAuth (config) > api_key (config).

Environment variables

| Variable | Description | |---|---| | MINIMAX_REGION | global or cn. | | MINIMAX_BASE_URL | Override the API base URL. | | MINIMAX_OUTPUT | text or json. | | MINIMAX_TIMEOUT | Request timeout in seconds. | | MINIMAX_VERBOSE | 1 to enable verbose HTTP logging. | | MMX_CONFIG_DIR | Directory containing the config.json file (default: ~/.mmx). Set this when mmx runs from a subprocess, service, or CI job whose home directory differs from where you logged in. |

mmx config · mmx quota

mmx quota
mmx config show
mmx config set --key region --value cn
mmx config set --key default-text-model --value MiniMax-M3
mmx config export-schema | jq .

mmx agent setup

Configure MiniMax for Claude Code, Codex, Grok Build, OpenCode, Hermes, or Pi while preserving unrelated settings. Run without options for the interactive wizard; supplying options makes the command non-interactive and suitable for scripts.

mmx agent setup
mmx agent setup --agent codex --agent claude-code --api-key "$MINIMAX_API_KEY" --region global
mmx agent setup --all --api-key "$MINIMAX_API_KEY" --region cn --output json

The command verifies the key and selected region before writing. Existing files are backed up when changed; use --dry-run to preview without a live request. In the interactive wizard, compatible agents that are missing from PATH can be installed from a second multi-select list using their official packages or installer scripts. The Hermes install uses its official core CLI stages and skips optional system packages, Node workspace, browser, computer-use, setup, and gateway stages. After installation, mmx applies the MiniMax configuration while preserving installer settings. Agents that fail a platform or prerequisite check are explained and left configuration-only. Non-interactive invocations remain configuration-only, and the command never launches an agent.

mmx update

mmx update
mmx update latest

Thanks to

License

MIT