MiniMax Provider Setup and Capabilities in OpenClaw
This page covers the MiniMax plugin for OpenClaw, detailing its two providers and capabilities including chat, image, music, video, speech, and web search. It is for users who want to integrate MiniMax models into their workflows.
Read this when
- You want MiniMax models in OpenClaw
- You need MiniMax setup guidance
The bundled minimax plugin sets up two providers and five capabilities: chat, image generation, music generation, video generation, image understanding, speech (T2A v2), and web search.
| Provider ID | Auth | Capabilities |
|---|---|---|
minimax | API key | Text, image generation, music generation, video generation, image understanding, speech, web search |
minimax-portal | OAuth | Text, image generation, music generation, video generation, image understanding, speech |
Tip
MiniMax Coding Plan referral link (10% off): MiniMax Coding Plan
Built-in catalog
| Model | Type | Description |
|---|---|---|
MiniMax-M3 | Chat (reasoning) | Default hosted reasoning model |
MiniMax-M2.7 | Chat (reasoning) | Previous hosted reasoning model |
MiniMax-M2.7-highspeed | Chat (reasoning) | Faster M2.7 reasoning tier |
MiniMax-VL-01 | Vision | Image understanding model |
image-01 | Image generation | Text-to-image and image-to-image editing |
music-2.6 | Music generation | Default music model |
MiniMax-Hailuo-2.3 | Video generation | Text-to-video and image-to-video flows |
The auth path determines the model refs: minimax/<model> applies to API-key configurations, while minimax-portal/<model> is used for OAuth configurations.
Getting started
OAuth (Coding Plan)
Best for: quick setup with MiniMax Coding Plan via OAuth, no API key required.
International
Run onboarding
openclaw onboard --auth-choice minimax-global-oauth
The provider base URL that results is api.minimax.io.
Verify the model is available
openclaw models list --provider minimax-portal
China
Run onboarding
openclaw onboard --auth-choice minimax-cn-oauth
This yields api.minimaxi.com as the provider base URL.
Verify the model is available
openclaw models list --provider minimax-portal
Note
The
minimax-portalprovider id is what OAuth setups rely on. Model refs take the shapeminimax-portal/MiniMax-M3.
API key
Best for: hosted MiniMax with Anthropic-compatible API.
International
Run onboarding
openclaw onboard --auth-choice minimax-global-api
Here, api.minimax.io gets set as the base URL.
Verify the model is available
openclaw models list --provider minimax
China
Run onboarding
openclaw onboard --auth-choice minimax-cn-api
For this region, api.minimaxi.com becomes the base URL.
Verify the model is available
openclaw models list --provider minimax
Config example
{
env: { vars: { MINIMAX_API_KEY: "sk-..." } },
agents: { defaults: { model: { primary: "minimax/MiniMax-M3" } } },
models: {
mode: "merge",
providers: {
minimax: {
baseUrl: "https://api.minimax.io/anthropic",
apiKey: "${MINIMAX_API_KEY}",
api: "anthropic-messages",
models: [
{
id: "MiniMax-M3",
name: "MiniMax M3",
reasoning: true,
input: ["text", "image"],
cost: { input: 0.6, output: 2.4, cacheRead: 0.12, cacheWrite: 0 },
contextWindow: 1000000,
maxTokens: 131072,
},
{
id: "MiniMax-M2.7",
name: "MiniMax M2.7",
reasoning: true,
input: ["text"],
cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
contextWindow: 204800,
maxTokens: 131072,
},
{
id: "MiniMax-M2.7-highspeed",
name: "MiniMax M2.7 Highspeed",
reasoning: true,
input: ["text"],
cost: { input: 0.6, output: 2.4, cacheRead: 0.06, cacheWrite: 0.375 },
contextWindow: 204800,
maxTokens: 131072,
},
],
},
},
},
}
Warning
When streaming, MiniMax-M2.x's Anthropic-compatible endpoint sends
reasoning_contentinside OpenAI-style delta chunks rather than native Anthropic thinking blocks. That leaks internal reasoning into visible output when thinking stays enabled implicitly. Unless you explicitly setthinking, OpenClaw keeps M2.x thinking off by default. MiniMax-M3 (and forward-compatible M3.x) is different: M3 delivers proper Anthropic thinking blocks and needs thinking active to show visible content, so OpenClaw leaves M3 on the provider's adaptive thinking path. See the Thinking defaults section under Advanced configuration below.
Note
API-key setups use the
minimaxprovider id. Model refs follow the formminimax/MiniMax-M3.
Configure via openclaw configure
Launch the wizard
openclaw configure
Select Model/auth
From the menu, pick Model/auth.
Choose a MiniMax auth option
| Auth choice | Description |
|---|---|
minimax-global-oauth | International OAuth (Coding Plan) |
minimax-cn-oauth | China OAuth (Coding Plan) |
minimax-global-api | International API key |
minimax-cn-api | China API key |
Pick your default model
When prompted, choose your default model.
Capabilities
Image generation
On both minimax and minimax-portal, the MiniMax plugin registers the image-01 model for the image_generate tool, sharing the same MINIMAX_API_KEY or OAuth auth that the text models use.
- Text-to-image generation plus image-to-image editing (subject reference), each offering aspect ratio control
- A single request can yield up to 9 images, while each edit request accepts 1 reference image
- Supported aspect ratios:
1:1,16:9,4:3,3:2,2:3,3:4,9:16,21:9
{
agents: {
defaults: {
mediaModels: { image: { primary: "minimax/image-01" } },
},
},
}
For image generation, MiniMax's dedicated image endpoint (/v1/image_generation) is always used, and models.providers.minimax.baseUrl is disregarded because that setting configures the chat/Anthropic-compatible base URL. To route image generation through the CN endpoint, set MINIMAX_API_HOST=https://api.minimaxi.com; the default global endpoint is https://api.minimax.io.
Note
For shared tool parameters, provider selection, and failover behavior, refer to Image Generation.
Text-to-speech
The bundled minimax plugin registers MiniMax T2A v2 as a speech provider for tts.
- Default TTS model:
speech-2.8-hd - Default voice:
English_expressive_narrator - Bundled model ids:
speech-2.8-hd,speech-2.8-turbo,speech-2.6-hd,speech-2.6-turbo,speech-02-hd,speech-02-turbo,speech-01-hd,speech-01-turbo - Auth resolution order:
tts.providers.minimax.apiKey, followed byminimax-portalOAuth/token auth profiles, then Token Plan environment keys (MINIMAX_OAUTH_TOKEN,MINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEY), and finallyMINIMAX_API_KEY - When no TTS host is configured, OpenClaw reuses the configured
minimax-portalOAuth host and removes Anthropic-compatible path suffixes like/anthropic - Regular audio attachments remain MP3. For voice-note targets (Feishu, Telegram, and other channels requesting a voice-note-compatible attachment), MiniMax MP3 is transcoded to 48kHz Opus using
ffmpeg, since the Feishu/Lark file API, for instance, only acceptsfile_type: "opus"for native audio messages - MiniMax T2A supports fractional
speedandvol, butpitchis passed as an integer; OpenClaw truncates fractionalpitchvalues before making the API request
| Setting | Env var | Default | Description |
|---|---|---|---|
tts.providers.minimax.baseUrl | MINIMAX_API_HOST | https://api.minimax.io | MiniMax T2A API host. |
tts.providers.minimax.model | MINIMAX_TTS_MODEL | speech-2.8-hd | TTS model id. |
tts.providers.minimax.voiceId | MINIMAX_TTS_VOICE_ID | English_expressive_narrator | Voice id used for speech output. |
tts.providers.minimax.speed | 1.0 | Playback speed, 0.5..2.0. | |
tts.providers.minimax.vol | 1.0 | Volume, (0, 10]. | |
tts.providers.minimax.pitch | 0 | Integer pitch shift, -12..12. |
Music generation
The shared music_generate tool is how the bundled MiniMax plugin handles music generation, serving both minimax and minimax-portal.
- Music model used by default:
minimax/music-2.6(OAuth:minimax-portal/music-2.6) - Additional support covers
music-2.6-free,music-cover, andmusic-cover-free - Prompt adjustments:
lyrics,instrumental - Output arrives as
mp3 - Runs backed by sessions detach via the standard task/status mechanism, which includes
action: "status"
{
agents: {
defaults: {
mediaModels: { music: { primary: "minimax/music-2.6" } },
},
},
}
Note
For shared tool parameters, provider selection, and failover behavior, refer to Music Generation.
Video generation
Video generation in the bundled MiniMax plugin is registered through the shared video_generate tool, covering both minimax and minimax-portal.
- Video model by default:
minimax/MiniMax-Hailuo-2.3(OAuth:minimax-portal/MiniMax-Hailuo-2.3) - Also handles
MiniMax-Hailuo-2.3-Fast,MiniMax-Hailuo-02,I2V-01-Director,I2V-01-live, andI2V-01 - Modes: text-to-video plus single-image reference flows
resolutionis supported (768Por1080Pon Hailuo 2.3/02 models);aspectRatiois unsupported and gets ignored
{
agents: {
defaults: {
mediaModels: { video: { primary: "minimax/MiniMax-Hailuo-2.3" } },
},
},
}
Note
For shared tool parameters, provider selection, and failover behavior, see Video Generation.
Image understanding
Image understanding is registered by the MiniMax plugin apart from the text catalog:
| Provider ID | Default image model | PDF text extraction |
|---|---|---|
minimax | MiniMax-VL-01 | MiniMax-M2.7 |
minimax-portal | MiniMax-VL-01 | MiniMax-M2.7 |
This separation is why automatic media routing can rely on MiniMax image understanding even when the bundled text-provider catalog also lists M3 image-capable chat refs. For PDF understanding, MiniMax-M2.7 handles text extraction only; MiniMax does not register any PDF-to-image conversion path.
Web search
The MiniMax plugin additionally registers web_search through the MiniMax Token Plan search API (/v1/coding_plan/search).
- Provider id:
minimax - Structured results: titles, URLs, snippets, related queries
- Preferred env var:
MINIMAX_CODE_PLAN_KEY - Accepted env aliases:
MINIMAX_CODING_API_KEY,MINIMAX_OAUTH_TOKEN - Compatibility fallback:
MINIMAX_API_KEYwhen it already points at a token-plan credential - Region reuse:
plugins.entries.minimax.config.webSearch.region, thenMINIMAX_API_HOST, then MiniMax provider base URLs - Search remains on provider id
minimax; OAuth CN/global setup can influence region indirectly throughmodels.providers.minimax-portal.baseUrland can supply bearer auth viaMINIMAX_OAUTH_TOKEN
Configuration is placed under plugins.entries.minimax.config.webSearch.*.
Note
Full web search configuration and usage are covered in MiniMax Search.
Advanced configuration
Configuration options
| Option | Description |
|---|---|
models.providers.minimax.baseUrl | Favor https://api.minimax.io/anthropic (Anthropic-compatible); https://api.minimax.io/v1 remains available for OpenAI-compatible payloads |
models.providers.minimax.api | Prefer anthropic-messages; openai-completions is not mandatory for OpenAI-compatible payloads |
models.providers.minimax.apiKey | MiniMax API key (MINIMAX_API_KEY) |
models.providers.minimax.models | Specify id, name, reasoning, contextWindow, maxTokens, cost |
agents.defaults.models | Aliases, parameters, and metadata tailored per model |
agents.defaults.modelPolicy.allow | Optional explicit model allowlist |
models.mode | Retain merge if MiniMax should coexist with built-ins |
Thinking defaults
For api: "anthropic-messages", OpenClaw inserts thinking: { type: "disabled" } on MiniMax M2.x models, unless a prior wrapper already populated the thinking field in the payload. This step stops M2.x's streaming endpoint from sending reasoning_content in OpenAI-style delta chunks, which would otherwise expose internal reasoning in visible output.
MiniMax-M3 (and M3.x) is an exception: M3 delivers an empty content array with stop_reason: "end_turn" when thinking is off, so OpenClaw drops the implicit disabled default for M3 and, whenever a thinking level is specified, enforces thinking: { type: "adaptive" } instead.
Thinking levels differ by model family:
| Model family | Levels | Default |
|---|---|---|
MiniMax-M3 | off, adaptive | adaptive |
MiniMax-M2.x | off, minimal, low, medium, high | off |
Fast mode
On the Anthropic-compatible stream path (api: "anthropic-messages", provider minimax or minimax-portal), /fast on or params.fastMode: true converts MiniMax-M2.7 into MiniMax-M2.7-highspeed.
Fallback example
Best for: designate your strongest latest-generation model as primary, with MiniMax M2.7 as the fallback. The example below picks Opus as a concrete primary; substitute your preferred latest-gen primary model.
{
env: { vars: { MINIMAX_API_KEY: "sk-..." } },
agents: {
defaults: {
models: {
"anthropic/claude-opus-4-6": { alias: "primary" },
"minimax/MiniMax-M2.7": { alias: "minimax" },
},
model: {
primary: "anthropic/claude-opus-4-6",
fallbacks: ["minimax/MiniMax-M2.7"],
},
},
},
}
Coding Plan usage details
- For the Coding Plan usage endpoint, call
https://api.minimaxi.com/v1/token_plan/remainsorhttps://api.minimax.io/v1/token_plan/remains; a coding plan key is mandatory. - When polling usage, the host is taken from
models.providers.minimax-portal.baseUrlormodels.providers.minimax.baseUrlif either is set, meaning global configurations that rely onhttps://api.minimax.io/anthropicwill queryapi.minimax.io. If the base URL is absent or improperly formatted, the CN fallback stays in place for backward compatibility. - OpenClaw maps MiniMax coding-plan usage into the same
% leftformat other providers show. Since MiniMax's nativeusage_percentandusagePercentvalues represent remaining quota rather than what's been consumed, OpenClaw flips them. Whenever count-based fields are available, they take precedence. - If the API responds with
model_remains, OpenClaw picks the chat-model entry, builds the window label fromstart_timeorend_timeas needed, and appends the chosen model name to the plan label, making coding-plan windows simpler to tell apart. - Usage snapshots treat
minimax,minimax-cn,minimax-portal, andminimax-portal-cnas one MiniMax quota surface, and they favor stored MiniMax OAuth credentials over Coding Plan key environment variables when both exist.
Notes
- Default chat model:
MiniMax-M3. Other chat models:MiniMax-M2.7,MiniMax-M2.7-highspeed - Setup flows for onboarding and direct API keys write model definitions covering M3 plus both M2.7 variants
- Image understanding relies on the
MiniMax-VL-01media provider owned by the plugin - To keep cost tracking precise, refresh pricing values in
models.json - Run
openclaw models listto verify the current provider id, then switch usingopenclaw models set minimax/MiniMax-M3oropenclaw models set minimax-portal/MiniMax-M3
Note
Provider rules live in Model providers.
Troubleshooting
Unknown model: minimax/MiniMax-M3
That error typically signals the MiniMax provider isn't set up, meaning no provider entry matches and no MiniMax auth profile or env key was found. Resolve it by:
- Executing
openclaw configureand picking a MiniMax auth option, or - Inserting the corresponding
models.providers.minimaxormodels.providers.minimax-portalblock by hand, or - Defining
MINIMAX_API_KEY,MINIMAX_OAUTH_TOKEN, or a MiniMax auth profile so the right provider gets injected.
The model id must match exactly, including case:
- API-key route:
minimax/MiniMax-M3,minimax/MiniMax-M2.7, orminimax/MiniMax-M2.7-highspeed - OAuth route:
minimax-portal/MiniMax-M3,minimax-portal/MiniMax-M2.7, orminimax-portal/MiniMax-M2.7-highspeed
Then verify again with:
openclaw models list
Note
Further assistance: Troubleshooting and FAQ.
Related
-
Model selection, How providers, model refs, and failover are chosen.
-
Image generation, Image tool parameters shared across providers and how the provider is picked.
-
Music generation, Music tool parameters shared across providers and how the provider is picked.
-
Video generation, Video tool parameters shared across providers and how the provider is picked.
-
MiniMax Search, Web search setup through the MiniMax Token Plan.
-
Troubleshooting, General fixes and frequently asked questions.