minimax

$npx mdskill add vm0-ai/vm0-skills/minimax

Execute MiniMax AI models for Chinese language tasks

  • Processes user queries requiring Chinese AI capabilities
  • Depends on MiniMax API and Bearer token authentication
  • Selects optimal model based on reasoning or speed needs
  • Returns generated text directly via API response

SKILL.md

.github/skills/minimaxView on GitHub ↗
---
name: minimax
description: MiniMax API for AI models. Use when user mentions "MiniMax", "Chinese
  AI", or asks about MiniMax language models.
---

## Troubleshooting

If requests fail, run `zero doctor check-connector --env-name MINIMAX_TOKEN` or `zero doctor check-connector --url https://api.minimax.io/v1/text/chatcompletion_v2 --method POST`

## How to Use

All examples below assume you have `MINIMAX_TOKEN` set.

Authentication uses Bearer token in the `Authorization` header.

### 1. Basic Chat Completion

Send a chat message:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-Text-01",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello, who are you?"}
  ]
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.choices[0].message.content'
```

**Available models:**

- `MiniMax-M2`: Reasoning model (best quality)
- `MiniMax-M1`: Reasoning model (balanced)
- `MiniMax-Text-01`: Standard model (fastest)

### 2. Chat with Temperature Control

Adjust creativity:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-Text-01",
  "messages": [
    {"role": "user", "content": "Write a short poem about AI."}
  ],
  "temperature": 0.7,
  "max_tokens": 200
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.choices[0].message.content'
```

**Parameters:**

- `temperature` (0-1): Higher = more creative
- `top_p` (0-1, default 0.95): Sampling diversity
- `max_tokens`: Maximum output tokens

### 3. Streaming Response

Get real-time output:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-M1",
  "messages": [
    {"role": "user", "content": "Explain quantum computing."}
  ],
  "stream": true
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json
```

Streaming is recommended for reasoning models (M1/M2).

### 4. Reasoning Model (M1/M2)

Use reasoning models for complex tasks:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-M1",
  "messages": [
    {"role": "user", "content": "Solve step by step: A train travels 120km in 2 hours. What is its average speed in m/s?"}
  ],
  "stream": true
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json
```

Response includes `reasoning_content` field with thought process.

### 5. Text-to-Speech (Basic)

Convert text to speech:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "speech-02-hd",
  "text": "Hello, this is a test of MiniMax text to speech.",
  "voice_id": "male-qn-qingse",
  "speed": 1.0,
  "format": "mp3"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/t2a_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json --output speech.mp3
```

### 6. TTS with Emotion

Add emotion to speech (speech-02 models):

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "speech-02-hd",
  "text": "I am so happy to meet you today!",
  "voice_id": "female-shaonv",
  "emotion": "happy",
  "speed": 1.0,
  "format": "mp3"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/t2a_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json --output happy_speech.mp3
```

**Emotion options:** `happy`, `sad`, `angry`, `fearful`, `disgusted`, `surprised`, `neutral`

### 7. TTS with Audio Settings

Fine-tune audio output:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "speech-02-hd",
  "text": "High quality audio test.",
  "voice_id": "male-qn-qingse",
  "speed": 1.0,
  "vol": 1.0,
  "pitch": 0,
  "audio_sample_rate": 32000,
  "bitrate": 128000,
  "format": "mp3"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/t2a_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json --output hq_speech.mp3
```

**TTS models:**

- `speech-02-hd`: High definition (best quality)
- `speech-02-turbo`: Fast generation
- `speech-01-hd`: Previous gen HD
- `speech-01-turbo`: Previous gen fast

### 8. Text-to-Video (T2V)

Generate video from text prompt:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "T2V-01-Director",
  "prompt": "A cat playing with a ball of yarn [Static shot].",
  "duration": 6,
  "resolution": "1080P"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/video_generation" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.task_id'
```

Video generation is async - returns a task ID to poll for completion.

### 9. T2V with Camera Control

Control camera movement in videos:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "A person walking through a forest [Tracking shot], then stops to look at a bird [Push in].",
  "duration": 6,
  "resolution": "1080P"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/video_generation" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.task_id'
```

**Camera commands (in brackets):**

- Movement: `Truck left/right`, `Pan left/right`, `Push in/Pull out`
- Vertical: `Pedestal up/down`, `Tilt up/down`
- Zoom: `Zoom in/out`
- Special: `Shake`, `Tracking shot`, `Static shot`

Combine with `[Pan left, Pedestal up]` (max 3 simultaneous).

### 10. Image-to-Video (I2V)

Generate video from an image:

> **Note:** For I2V, use `MiniMax-Hailuo-2.3` or `S2V-01` model which supports `first_frame_image`. The `T2V-01-Director` model is text-to-video only.

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "The scene comes to life with gentle movement [Static shot].",
  "first_frame_image": "https://example.com/image.jpg",
  "duration": 6,
  "resolution": "1080P"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/video_generation" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.task_id'
```

Provide `first_frame_image` as URL or base64-encoded image.

### 11. Function Calling (Tools)

Use tools with chat:

Write to `/tmp/minimax_request.json`:

```json
{
  "model": "MiniMax-Text-01",
  "messages": [
    {"role": "user", "content": "What is the weather in Beijing?"}
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {"type": "string", "description": "City name"}
          },
          "required": ["location"]
        }
      }
    }
  ],
  "tool_choice": "auto"
}
```

Then run:

```bash
curl -s "https://api.minimax.io/v1/text/chatcompletion_v2" -X POST -H "Authorization: Bearer $MINIMAX_TOKEN" -H "Content-Type: application/json" -d @/tmp/minimax_request.json | jq '.choices[0]'
```

## Response Format

### Chat Completion

```json
{
  "id": "string",
  "choices": [{
  "message": {
  "role": "assistant",
  "content": "Response text",
  "reasoning_content": "Thought process (M1/M2 only)"
  },
  "finish_reason": "stop"
  }],
  "usage": {
  "prompt_tokens": 10,
  "completion_tokens": 50,
  "total_tokens": 60
  }
}
```

## Guidelines

1. **Use correct host**: China uses `api.minimax.io`, global uses `api.minimaxi.chat`
2. **Streaming for reasoning**: M1/M2 models work best with `stream: true`
3. **Camera syntax**: Video commands go in `[brackets]` within prompts
4. **Emotion in TTS**: Only works with `speech-02-*` and `speech-01-*` models
5. **Async video**: Video generation returns task ID - poll for completion
6. **Chinese optimized**: MiniMax excels at Chinese language tasks

More from vm0-ai/vm0-skills

SkillDescription
account-reconciliationPerform account reconciliations comparing general ledger balances against subledgers, bank statements, or external records. Use for bank reconciliation, GL-to-subledger reconciliation, intercompany reconciliation, balance sheet reconciliation, reconciling item analysis, outstanding item aging, or clearing open items.
agentphoneBuild AI phone agents with AgentPhone API. Use when the user wants to make phone calls, send/receive SMS, manage phone numbers, create voice agents, set up webhooks, or check usage — anything related to telephony, phone numbers, or voice AI.
ahrefsAhrefs SEO API for backlink and keyword analysis. Use when user mentions
amplitudeAmplitude product analytics API. Use when user mentions "Amplitude",
analysis-qaQuality-check a data analysis before sharing — verify joins, aggregations, denominators, time ranges, and metric definitions. Detect pitfalls like survivorship bias, average-of-averages, join explosion, timezone mismatches, incomplete periods, and selection bias. Includes documentation templates for reproducible analyses.
anthropic-managed-agentsAnthropic Managed Agents API for programmatically creating, running, and streaming AI agents on Anthropic's cloud infrastructure. Use when the user mentions "Managed Agents", "Anthropic agent sessions", or needs to create/run/stream an Anthropic agent with tool use (bash, git, web), attach GitHub repositories, or inject secrets via Vault. Do NOT use for standard Claude Messages API — use the Claude API skill instead.
apifyApify web scraping platform. Use when user mentions "scrape website",
asanaAsana API for tasks and projects. Use when user mentions "Asana", "asana.com",
atlassianAtlassian API for Confluence and Jira. Use when user mentions "Confluence
attioAttio REST API for AI-native CRM operations — manage companies, people, deals, and custom objects, plus notes, tasks, lists, and comments. Use when the user mentions "Attio", "CRM record", "create company", "add person", "list entry", "CRM note", or "CRM task".