Claude Opus 5.5 is live on SeedRouter

Text

MiniMax M3.1 Flash

View Markdown

Use MiniMax M3.1 Flash with Chat Completions, Messages or Responses. Official parameters, multimodal input, reasoning, tool history and token accounting.

Use the exact model ID MiniMax-M3.1-Flash. The model page has the Playground and live prices. The OpenAPI specification defines nested request and response fields.

Quick start

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"MiniMax-M3.1-Flash",
    "messages":[{"role":"user","content":"What is 17 multiplied by 23?"}],
    "max_completion_tokens":2048,
    "reasoning_effort":"low"
  }'

This example chooses an output limit; it is not the model's default. Keep keys on your server. Playground uses your signed-in account and does not require pasting an API key.

Formats and authentication

FormatEndpointRequired fieldsTotal top-level fields
Chat CompletionsPOST /v1/chat/completionsmodel, messages13
MessagesPOST /v1/messagesmodel, messages12
ResponsesPOST /v1/responsesmodel, input13

Send Content-Type: application/json and Authorization: Bearer $SEEDROUTER_API_KEY. Messages also accepts x-api-key; SDK clients may include anthropic-version: 2023-06-01. These formats keep their native bodies and response structures.

Parameters

All fields except the required ones above are optional. Omission differs from explicit null: a field accepts null only where the OpenAPI declares it. Unsupported top-level fields are discarded; invalid values of supported fields return an error.

Chat Completions

FieldTypeRule
modelstringExactly MiniMax-M3.1-Flash
messagesarrayNative conversation messages; preserve reasoning and tool history
thinkingobjecttype can only be adaptive
reasoning_effortstringlow, medium, high, xhigh, max; default max
reasoning_splitbooleanOnly true
streambooleanDefault false
stream_optionsobjectinclude_usage controls streaming usage visibility
max_completion_tokensinteger1–524288; includes reasoning and answer tokens
max_tokensintegerLegacy output limit, 1–524288; prefer max_completion_tokens
temperaturenumberAccepted but ignored; model uses 1
top_pnumberGreater than 0 and at most 1; ignored, model uses 0.95
toolsarrayFunction definitions: type, function.name, function.parameters, optional description
nintegerOnly 1

Messages

FieldTypeRule
modelstringExactly MiniMax-M3.1-Flash
messagesarrayNative user/assistant messages and content blocks
systemstring or arraySystem instructions or text blocks
streambooleanDefault false
max_tokensinteger1–524288, including reasoning; optional in the model's API schema
temperaturenumberAccepted but ignored; model uses 1
top_pnumberGreater than 0 and at most 1; model uses 0.95
toolsarrayNative function definitions with input_schema
tool_choiceobjectOnly {"type":"auto"}
thinkingobjectOnly {"type":"adaptive"}
output_configobjecteffort: low, medium, high, xhigh, max; default max
metadataobjectOptional native metadata

Responses

FieldTypeRule
modelstringExactly MiniMax-M3.1-Flash
inputstring or arrayText or native message, function-call, function-result and reasoning items
instructionsstringSystem instructions
max_output_tokensinteger1–524288, including reasoning
temperaturenumberAccepted but ignored; model uses 1
top_pnumberGreater than 0 and at most 1; model uses 0.95
streambooleanDefault false
toolsarrayNative function definitions
tool_choicestringOnly auto
metadataobjectValues must be strings
prompt_cache_keystringOptional cache grouping key
textobjectOnly {"format":{"type":"text"}}
reasoningobjecteffort: the five levels above; default max

The Playground fixes model and exposes every remaining field: 12 Chat, 11 Messages and 12 Responses controls. Nested objects and full conversation histories use JSON fields. Invalid supported values block submission in the browser.

Reasoning and limits

The documented context window is 1,000,000 tokens. The output limit is 524,288 tokens, including reasoning. MiniMax recommends 131,072 output tokens for demanding tasks, but does not specify that value as a default.

Thinking is always enabled. disabled, none and minimal are not supported thinking settings for this model. A short output budget can be exhausted before answer text appears. service_tier, audio input and structured JSON output are not supported features of this contract.

The total request body must not exceed 64 MB. The model service validates exact context usage and remote media contents.

Images and video

InputSupported formatsLimit
ImageJPEG, PNG, GIF, WebP10 MB per image
URL or inline videoMP4, AVI, MOV, MKV50 MB per video
Entire requestJSON body64 MB

Chat uses image_url: {"url":"..."} and video_url: {"url":"..."} content blocks. Messages uses image/video blocks with a source object: {"type":"url","url":"..."} or {"type":"base64","media_type":"...","data":"..."}. Responses uses input_image or input_video, whose URL value can be a string or a supported options object.

detail accepts low, default, high, with default as the default. Video fps ranges from 0.2 to 5, default 1. The optional max_long_side_pixel is a positive integer where offered in the nested schema.

{
  "model": "MiniMax-M3.1-Flash",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "Describe the main change in this clip."},
      {"type": "video_url", "video_url": {
        "url": "https://example.com/clip.mp4",
        "fps": 1,
        "detail": "default"
      }}
    ]
  }],
  "max_completion_tokens": 2048
}

Replace the example URL with your own accessible file. Inline inputs use the appropriate base64 MIME type; MOV uses video/mov. Existing mm_file:// video references are passed through, but this service does not provide a Files upload API. A reference still needs to be accessible to the account processing the request.

Tools and conversation history

Function tools describe actions your application can perform. A tool call is not proof that an external action has run: inspect the name and arguments, execute the action in your application, then return its result with the matching call ID.

Chat continuation retains the complete assistant message, including reasoning_content and tool_calls; tool messages require tool_call_id. Messages continuation preserves thinking blocks, signatures, tool_use and tool_result blocks. Responses continuation appends all returned output items before the next user input.

Do not flatten these histories into answer text. Arbitrary function parameter schemas and echoed reasoning fields are preserved. Chat's official reference does not define a tool_choice parameter for this model.

Streaming and response fields

Set stream: true for server-sent events. Chat emits choices[].delta and finishes with [DONE]; request stream_options: {"include_usage":true} to receive usage. Messages emits named events such as message_start, content-block updates and message_stop. Responses emits events such as response.output_text.delta and response.completed.

Non-streaming Chat returns choices[].message, finish_reason and usage. Messages returns content blocks, stop_reason and usage. Responses returns output items, status and usage. Preserve the complete response when your application needs more than the displayed answer.

Usage and current pricing

The live pricing table shows both input bands. Total input up to 512,000 tokens uses the first band; above 512,000 uses the second. The selected band prices the whole request, including output and cache.

FormatFull inputOutput
Chatprompt_tokens includes cached inputcompletion_tokens includes reasoning
MessagesAdd input_tokens, cache_read_input_tokens and cache_creation_input_tokensoutput_tokens includes reasoning
Responsesinput_tokens includes cached inputoutput_tokens includes reasoning

Cache-read and cache-write tokens are not charged a second time as ordinary input. Automatic caching checks eligible repeated prefixes of at least 512 tokens; hits are not guaranteed. No explicit cache marker is needed.

Responses expose token counts, not monetary costs. Account usage records show final charges. Failed requests are not charged.

Errors

For errors, check the invalid field and the public error reference. The same model ID supports the three text endpoints above; it is not an embeddings or Gemini endpoint.

Official references