Skip to content

Default models speech-2.6-hd and music-2.0 fail for Coding Plan subscribers with HTTP 2056 'Token Plan Hs_max 0/0' #80

@Pirelli71

Description

@Pirelli71

Summary

The PyPI release defaults DEFAULT_SPEECH_MODEL = "speech-2.6-hd" and DEFAULT_MUSIC_MODEL = "music-2.0" (in minimax_mcp/const.py) cause every MCP call to fail for users on the MiniMax Coding Plan subscription, even though the same key works perfectly via direct API calls with newer model versions.

Symptom

All MCP-routed calls to text_to_audio and music_generation return:

{
  "base_resp": {
    "status_code": 2056,
    "status_msg": "usage limit exceeded, 5-hour usage limit reached for Token Plan Hs_max (0/0 used), resets at 2026-05-12T15:00:00Z"
  }
}

The dashboard shows the user has plenty of unused Coding Plan quota — making this look like a credentials or quota-display bug, when it's actually a plan-routing issue.

Root Cause (empirically verified 2026-05-12)

Same API key (sk-cp-*, Coding Plan), same /v1/t2a_v2 endpoint, two direct curl calls:

Model Result
speech-2.6-hd (current MCP default) ❌ 2056 Token Plan Hs_max 0/0
speech-2.8-hd ✅ success
music-2.0 (current MCP default) ❌ 2056 Token Plan Hs_max 0/0
music-2.6 ✅ success

The discriminator is the model version, not headers, not endpoint, not key. Older model versions appear to require Token Plan (Hs_max) subscription. Coding Plan users (which has its own per-endpoint quotas visible on the dashboard: TTS HD 19000/day, music-2.6 100/day, image-01 200/day, Hailuo-2.3 3/day) cannot reach those older models at all.

The MM-API-Source header ('MM-API-Source': 'Minimax-MCP' in minimax_mcp/client.py) was an initial false-positive hypothesis — empirically it does NOT change routing.

Suggested Fix

In minimax_mcp/const.py:

DEFAULT_SPEECH_MODEL = "speech-2.8-hd"   # was: speech-2.6-hd
DEFAULT_MUSIC_MODEL  = "music-2.6"       # was: music-2.0

Alternatively (more conservative): document in the README which model versions are accessible per plan tier, and add a MINIMAX_DEFAULT_MODELS=coding-plan-friendly env var or similar opt-in.

Either approach unblocks Coding Plan users without affecting Token Plan users (who have access to all model versions either way).

Why this matters

The Coding-Plan-MCP repo exists (https://github.com/MiniMax-AI/MiniMax-Coding-Plan-MCP) but only exposes web_search + understand_image — Coding Plan users currently have no documented MCP path for TTS / music / image / video generation, even though the dashboard suggests those quotas are available. This issue (the model-default trap) is likely the reason that path appears broken.

Workaround for current Coding Plan users

Pass model: "speech-2.8-hd" (or "music-2.6") explicitly on every call, or fork the repo and bump the const defaults (we've shipped a local fork patch as coding-plan-defaults branch in our infrastructure: single-line change in const.py).

Environment

  • Plan: MiniMax Coding Plan (sk-cp-* API key prefix)
  • API Host: https://api.minimax.io (Global)
  • minimax-mcp installation: uvx minimax-mcp (latest PyPI as of 2026-05-12)
  • Client: Claude Code on macOS

Happy to provide more detail or contribute a PR if a fix direction is decided. Thanks for the tool.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions