Measured MiniMax M3.1 Flash free listing versus MiniMax M3

On 2026-10-21 the free M3.1 Flash listing was $0 per million tokens. M3 was $0.30 in and $1.20 out. The Hub had no M3.1 repo.

On 2026-10-21 this note only reads two public endpoints: the OpenRouter model list, and a Hugging Face search for MiniMax-M3.1. The figures are list price, context, and whether a repo existed. They are not quality scores and they are not speed.

The pair to check is measured MiniMax M3.1 Flash at minimax/minimax-m3.1-flash:free, next to minimax/minimax-m3 on the same list.

Open the model listScale per million tokensSearch Hugging Face

Numbers on the list, 2026-10-21

OpenRouter pricing.prompt and pricing.completion are USD per token. The “per 1,000,000 tokens” rows are that field times 1000000. Both free-listing fields are 0, so input and output are $0. M3’s fields are 0.0000003 and 0.0000012, which is $0.30 in and $1.20 out. M3 also has input_cache_read 0.00000006, or $0.06 per 1,000,000 tokens. The free listing’s pricing object had no cache field that day.

FieldM3.1 Flash freeMiniMax M3
OpenRouter idminimax/minimax-m3.1-flash:freeminimax/minimax-m3
canonical_slugminimax/minimax-m3.1-flash-20261019minimax/minimax-m3-20260531
context_length10000001048576
top_provider.context_length1000000524288
max_completion_tokens524288512000
pricing.prompt (USD/token)00.0000003
pricing.completion (USD/token)00.0000012
Input, per 1,000,000 tokens$0$0.30
Output, per 1,000,000 tokens$0$1.20
input_cache_read, per 1,000,000 tokensfield absent that day$0.06
created (UTC)2026-10-19 03:12:49
unix 1792379569
2026-05-31 16:36:14
unix 1780245374
reasoning.mandatorytruefalse
hugging_face_idnullMiniMaxAI/Minimax-M3
Hugging Face that daysearch=MiniMax-M3.1 returned 0 reposMiniMaxAI/MiniMax-M3
downloads 200238, likes 1586
createdAt 2026-06-02

How to read the same fields again

  1. 1

    Pull the model list

    Request https://openrouter.ai/api/v1/models and find ids minimax/minimax-m3.1-flash:free and minimax/minimax-m3. Do not swap in another MiniMax id.

  2. 2

    Multiply the per-token price by one million

    Read pricing.prompt and pricing.completion. The unit is USD per token. Multiply by 1000000 for USD per 1,000,000 tokens. If M3 includes input_cache_read, scale that field the same way.

  3. 3

    Search the Hub

    Request https://huggingface.co/api/models?search=MiniMax-M3.1 . On 2026-10-21 that returned 0 rows, including with author MiniMaxAI. The weights were not on the Hub that day. The M3 repo in the MiniMax-M3 search is MiniMaxAI/MiniMax-M3.

USD per token × 1000000 = USD per 1,000,000 tokens
minimax/minimax-m3.1-flash:free
  pricing.prompt      0           → $0
  pricing.completion  0           → $0
minimax/minimax-m3
  pricing.prompt      0.0000003   → $0.30
  pricing.completion  0.0000012   → $1.20
  input_cache_read    0.00000006  → $0.06

Two context figures in one record

Model context_length is 1000000 for Flash and 1048576 for M3. On the same M3 record, top_provider.context_length is 524288. Flash’s provider context stays 1000000. max_completion_tokens is 524288 for Flash and 512000 for M3. Those are listing fields, not a measured generation speed.

01

$0 covers two price fields

That day the free listing’s pricing.prompt and pricing.completion were both 0. expiration_date was null and per_request_limits was null. The payload does not state a quota or how long the zero price lasts, so this note does not add one.

02

The two contexts are different fields

Read context_length, then top_provider.context_length. For M3 those are 1048576 and 524288.

03

The reasoning flag is a field, not a score

On the free listing, reasoning.mandatory is true, default_effort is max, and supported_efforts are max, xhigh, high, medium, and low. On M3, reasoning.mandatory is false. This note does not score quality or latency.

No M3.1 weights on the Hub that day

OpenRouter leaves hugging_face_id empty on the free listing. On M3 the string is MiniMaxAI/Minimax-M3. The Hub search for MiniMax-M3 returns the repo id MiniMaxAI/MiniMax-M3, with downloads 200238, likes 1586, and createdAt 2026-06-02. The MiniMax-M3.1 search returned an empty list, so the weights were not on the Hub that day. Both records list inputs text, image, and video, and output text.

These figures describe the public lists only. To put the table on one screen with someone else, follow create and join a room. The room does not serve these models.

Does free mean the price stays $0?

This measurement cannot say that. On 2026-10-21 pricing.prompt and pricing.completion were 0, and expiration_date was null. Null means the list had no expiry, not that the price cannot change.

Why does M3 have two context numbers?

Model context_length is 1048576. In the same object, top_provider.context_length is 524288. Flash is 1000000 on both. Cite the field name with the number.

Where are the weights?

On 2026-10-21 a search for MiniMax-M3.1 returned no repo, and the free listing’s hugging_face_id was empty. The weights were not on the Hub that day. The M3 repo is MiniMaxAI/MiniMax-M3.

Were quality or speed measured?

No. There is no private benchmark here and no latency figure. Marketing lines in the OpenRouter description, and third-party scores on the payload, are left out.

Start a meeting