API429 / MiniMax

MiniMax API: minimax-m3 text requests and conditional token rates

Use the literal minimax-m3 identifier for ordinary Chat Completions requests on API429, verify access in GET /v1/models, and check how prompt_tokens conditions affect input and output rates. Keep this text workflow separate from speech synthesis, video or image endpoints.

Models and current API429 rates

These are exact text model IDs for this family. The public catalog and GET /v1/models for your key answer different questions: a published entry does not prove account access. Preserve hyphens, dots and versions exactly.

Model / exact IDAPI429: USD and billing units
Minimax M3minimax-m3
$0.0900 / 1,000,000 cache-write input tokens · Context up to 512,000 tokens inclusive
$0.0900 / 1,000,000 cache-write input tokens · Context over 512,000 tokens
$0.0180 / 1,000,000 cached input tokens · Context up to 512,000 tokens inclusive
$0.0180 / 1,000,000 cached input tokens · Context over 512,000 tokens
$0.0900 / 1,000,000 input tokens · Context up to 512,000 tokens inclusive
$0.1800 / 1,000,000 input tokens · Context over 512,000 tokens
$0.3600 / 1,000,000 output tokens · Context up to 512,000 tokens inclusive
$0.7200 / 1,000,000 output tokens · Context over 512,000 tokens

Catalog data date: . Rates retain their catalog conditions; an absent row does not mean a free request.

Example budget for minimax-m3: 1,000 requests with 2,000 ordinary input and 500 output tokens each cost approximately $0.360000. This ordinary text token estimate excludes cache, tools, retries and additional fees. It is not a complete bill or evidence of accepted requests.

Selected model rates in the catalog · Full catalog

Keep minimax-m3 text requests separate from speech and video

On this page, MiniMax is covered strictly through the text catalog entry minimax-m3 on POST /v1/chat/completions. Although the manufacturer also markets speech, audio, video and image products under the MiniMax brand, selecting minimax-m3 does not enable media generation or audio endpoints. Start with a verifiable text task such as turning rough meeting notes into an action checklist or drafting a reply from explicit facts, and verify the returned text against your checklist before automating the step.

Evaluate conditional input and output rates by prompt size

The API429 catalog can publish multiple input_tokens and output_tokens rows for minimax-m3 qualified by prompt_tokens conditions. Always keep the condition attached to each rate row when estimating cost: the total number of prompt tokens in your request determines which input rate and which output rate apply to that call. If a longer conversation or document crosses a prompt_tokens boundary, re-select the matching rate rows for both input and output rather than applying the short-prompt rate to every workload.

Use the literal minimax-m3 ID rather than native MiniMax spellings

Upstream MiniMax documentation describes both native text endpoints and the manufacturer’s OpenAI-compatible interface, often capitalizing the model name as MiniMax-M3. That upstream documentation provides family background, but it does not prove that native context limits, reasoning parameters or tool schemas transfer identically to minimax-m3 on API429. Pass the exact lowercase string minimax-m3, start with a simple messages array and a bounded max_tokens value, and validate error handling in your own client.

Confirm key entitlement in GET /v1/models before paid usage

Generate an API429 key in your dashboard and inspect GET /v1/models with that key to verify that minimax-m3 is enabled for your account. Seeing a model in the public catalog does not establish key-level access or guarantee a successful generation. Store API429_API_KEY in server environment variables, keep it out of browser code and logs, and run your initial check on a short synthetic prompt so you can inspect HTTP status, finish_reason and output quality manually.

Read live rate cards and bound retries in automation

The table below renders fresh, unambiguous quotations from the API429 public catalog; if a rate is missing or ambiguous, the value is hidden rather than shown as zero. Do not combine cached input, standard input and output tokens into a single blended number. Record the model ID, prompt token count, completion token count and acceptance result for every call, and enforce a strict retry ceiling so that truncated or invalid responses do not multiply your spend.

Choose your next connection step

  • API429 model catalog

    Inspect the literal minimax-m3 entry, published capabilities and conditional token rates in the catalog.

  • API429 quickstart

    Configure your API429 key, check GET /v1/models and test a baseline Chat Completions call.

First text request: curl, Python, JavaScript

  1. Create a key in your API429 account and add balance by Russian bank card, a business invoice, USDT or TON. A $10 test balance is available for subscribing to the Telegram channel through the bonus bot.
  2. Use the same key to verify minimax-m3 in GET https://gateway.api429.com/v1/models.
  3. Set API429_API_KEY on the server and send a small paid request. The example does not retry automatically.
  4. Inspect HTTP status, finish_reason, text and actual usage. A timeout does not prove that the operation was unbilled.

The example uses only ordinary text Chat Completions with max_tokens=512. It does not verify native manufacturer methods, tools, reasoning, vision or manufacturer limits through API429. Python and JavaScript check key access before generation; check the model list separately for curl.

curl

curl --fail-with-body https://gateway.api429.com/v1/chat/completions \
  -H "Authorization: Bearer $API429_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax-m3","messages":[{"role":"user","content":"Explain how to verify the output of a small task before using it in production."}],"max_tokens":512,"stream":false}'

Python 3

import json
import os
import urllib.request

key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
models_request = urllib.request.Request(base + "/models", headers=headers)
with urllib.request.urlopen(models_request, timeout=30) as response:
    available = {item["id"] for item in json.load(response)["data"]}
model = "minimax-m3"
if model not in available:
    raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"minimax-m3\",\"messages\":[{\"role\":\"user\",\"content\":\"Explain how to verify the output of a small task before using it in production.\"}],\"max_tokens\":512,\"stream\":false}")
request = urllib.request.Request(base + "/chat/completions",
    data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=60) as response:
    result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") != "stop" or not choice.get("message", {}).get("content"):
    raise ValueError("Incomplete or empty response")
print(choice["message"]["content"])
print(result.get("usage"))

JavaScript: Node.js 18+

const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "minimax-m3";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const response = await fetch(base + "/chat/completions", {
  method: "POST", headers, signal: AbortSignal.timeout(60000),
  body: JSON.stringify({"model":"minimax-m3","messages":[{"role":"user","content":"Explain how to verify the output of a small task before using it in production."}],"max_tokens":512,"stream":false})
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
const choice = result.choices?.[0];
if (choice?.finish_reason !== "stop" || !choice?.message?.content) throw new Error("Incomplete or empty response");
console.log(choice.message.content);
console.log(result.usage);

These examples do not prove access for your key; verify the exact ID before a paid request. API contract · Configure your client · Questions and support

Payment and a $10 test

  • Russian bank card. Top up your balance in the account.
  • Invoice for companies. Bank transfer with closing documents.
  • USDT and TON. Top up in crypto.

$10 test credit. Subscribe to our Telegram channel through the bot and get $10 on your balance for the first requests. Get $10 in the bot

Frequently asked questions

What exact model string should I send for MiniMax text calls?

Send the lowercase identifier minimax-m3 after confirming that it is listed in GET /v1/models for your API429 key; do not substitute capitalized upstream spellings.

Why does minimax-m3 show conditional input and output token rates?

Catalog rate cards can split both input_tokens and output_tokens by prompt_tokens thresholds. Select the single applicable row for each metric based on the total prompt size of your request.

Does minimax-m3 support MiniMax speech or video generation?

No. The minimax-m3 catalog entry covered here is for ordinary text Chat Completions only. Speech, audio and video workflows require separate models, endpoints and billing units.

How should I validate minimax-m3 before running a queue?

Test a synthetic task with known required facts, check HTTP status and finish_reason, verify that no unrequested claims were added, and cap automatic retries on failed checks.

Sources and editorial review

Manufacturer documentation describes its family and its own API rules. API429 IDs, rates and request contracts require separate catalog and documentation checks. The original source-review date below is retained; English publication does not renew the source review.

Source review: . To connect, create an API429 account and follow the quickstart instructions.

Telegram