MiniMax M3 é um modelo de raciocínio e codificação de fronteira com uma janela de contexto de até 1.000.000 de tokens. Esse número é a manchete. Você pode alimentá-lo com um repositório inteiro, uma semana de logs ou um longo documento de design e pedir para ele raciocinar sobre tudo isso em uma única chamada. Se você quiser o contexto sobre o que é o modelo e onde ele se encaixa, leia o que é MiniMax M3 primeiro.
Este guia é a versão prática. Você obterá uma chave de API, enviará sua primeira solicitação de três maneiras diferentes e testará cada etapa no Apidog para que você possa ver a solicitação e a resposta brutas antes de integrar qualquer coisa ao seu próprio código. Baixe o Apidog se quiser acompanhar.
A referência oficial está nos docs da API MiniMax. Mantenha-a aberta em uma aba.

O que você vai precisar
- Uma conta MiniMax em platform.minimax.io.
- Uma chave de API (geraremos uma abaixo).
- Uma forma de pagar pelo uso: créditos pré-pagos ou um plano de token por assinatura. Ambos funcionam para os mesmos endpoints.
Você não precisa de mais nada instalado para os exemplos de curl. Para os exemplos do SDK, você vai precisar do Python 3.8+ ou Node 18+.
Passo 1: Obtenha sua chave de API
Faça login em platform.minimax.io, abra a seção de chaves de API da sua conta e crie uma nova chave. O MiniMax emite dois tipos de credenciais, e a diferença importa:
- Uma chave de API regular é cobrada do seu saldo pré-pago.
- Uma chave de assinatura utiliza os créditos de token do seu plano (Plus, Max ou Ultra). Quando os tokens do plano se esgotam, as chamadas feitas com essa chave são interrompidas até que o plano seja renovado ou você mude para uma chave pré-paga.
Escolha o que melhor se adapta à forma como você deseja ser cobrado. Copie a chave uma vez e guarde-a. Você não a verá novamente.
Nunca cole a chave diretamente no código-fonte. Exporte-a como uma variável de ambiente:
export MINIMAX_API_KEY="your-key-here"
Isso mantém o segredo fora do seu histórico do git e de qualquer arquivo que você possa compartilhar. Se você também trabalha com chaves de API dentro do seu editor, as mesmas regras de higiene se aplicam lá. Cobrimos os vazamentos comuns em segurança de chaves de API para extensões do VS Code.
Passo 2: Envie sua primeira solicitação
A URL base é https://api.minimax.io/v1 e o chat reside em POST https://api.minimax.io/v1/chat/completions. A autenticação é um token de portador: Authorization: Bearer $MINIMAX_API_KEY. A string de ID do modelo é MiniMax-M3.
Aqui está a chamada útil mais simples com curl. A tarefa é real, pedindo ao modelo para refatorar uma função:
curl https://api.minimax.io/v1/chat/completions \
-H "Authorization: Bearer $MINIMAX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MiniMax-M3","messages":[{"role":"user","content":"Refactor this function to be async."}]}'
Você tem três maneiras de chamar o M3. O MiniMax recomenda o SDK da Anthropic, mas o SDK da OpenAI e o HTTP puro funcionam contra o mesmo endpoint. Use qualquer um que sua stack já suporte.
Aqui está o SDK da OpenAI em Python. A única mudança de uma configuração normal da OpenAI é o base_url:
from openai import OpenAI
client = OpenAI(
base_url="https://api.minimax.io/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "user", "content": "Refactor this function to be async."}
],
)
print(response.choices[0].message.content)
E a mesma ideia em Node, novamente apenas redirecionando a base_url:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.minimax.io/v1",
apiKey: process.env.MINIMAX_API_KEY,
});
const response = await client.chat.completions.create({
model: "MiniMax-M3",
messages: [
{ role: "user", content: "Refactor this function to be async." },
],
});
console.log(response.choices[0].message.content);
Se você já usou a API Qwen 3.7, este padrão é familiar. A maioria dos modelos de fronteira agora expõe uma interface compatível com OpenAI, então o custo de migração é uma única linha. Os docs do SDK Python da OpenAI e os docs do SDK da Anthropic cobrem as opções completas do cliente.
Passo 3: Teste e inspecione no Apidog
Antes de enterrar esta chamada dentro de uma aplicação, envie-a manualmente e leia a resposta bruta. É aí que o Apidog ganha seu lugar no fluxo.

- Crie uma nova requisição HTTP e defina o método como
POSTcom a URLhttps://api.minimax.io/v1/chat/completions. - Abra o painel de Ambientes e adicione uma variável chamada
MINIMAX_API_KEYcom sua chave como valor. Armazene-a como uma variável de ambiente para que ela nunca esteja no corpo da requisição ou em sua coleção compartilhada. - Nos cabeçalhos da requisição, adicione
Authorizationcom o valorBearer {{MINIMAX_API_KEY}}. O Apidog substitui a variável no momento do envio. - Defina o corpo como JSON bruto e cole o mesmo payload do exemplo curl.
- Clique em Enviar e observe o painel de resposta.
[Captura de tela: a requisição e resposta do MiniMax-M3 no Apidog]
Armazenar o token como uma variável de ambiente significa que você pode compartilhar a requisição com colegas de equipe sem vazar o segredo, e pode trocar as chaves (pré-pago versus assinatura) alterando uma única variável. Quando você ativar o streaming mais tarde, o Apidog mostra os eventos enviados pelo servidor à medida que chegam, para que você possa confirmar o formato do stream antes de escrever qualquer código de parsing. Inspecionar a resposta manualmente detecta surpresas no esquema cedo, o que é o objetivo de testar um endpoint antes de confiar nele.
Passo 4: Ativar e desativar o "pensamento"
O M3 é um modelo de raciocínio. Por padrão, ele retorna uma resposta final. Você também pode pedir para ele expor seu raciocínio intermediário, o que é útil quando você deseja depurar por que ele chegou a uma conclusão ou alimentar o raciocínio em uma etapa de revisão.
Com o SDK da OpenAI, passe reasoning_split através de extra_body:
from openai import OpenAI
client = OpenAI(
base_url="https://api.minimax.io/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "user", "content": "Refactor this function to be async."}
],
extra_body={"reasoning_split": True},
)
print(response.choices[0].message.reasoning_details[0]["text"]) # o raciocínio
print(response.choices[0].message.content) # a resposta final
Quando reasoning_split está ativado, o texto do raciocínio retorna em response.choices[0].message.reasoning_details[0]["text"] e a resposta final permanece em response.choices[0].message.content. Mantenha os dois separados em sua UI. Mostre a resposta aos usuários e mantenha o raciocínio para logs ou uma etapa de verificação.
Ative o "pensamento" para problemas difíceis: refatorações em várias etapas, caça a bugs complicados, qualquer coisa onde você queira auditar a cadeia. Desative-o para chamadas simples e sensíveis à latência, onde os tokens extras de raciocínio custam tempo e dinheiro que você não precisa gastar.
Passo 5: Trabalhe com o contexto de 1M de tokens
A grande janela de contexto é a razão para usar o M3. Você pode colar um arquivo de log inteiro e fazer uma única pergunta sobre todo o conteúdo:
with open("production-2026-05-30.log") as f:
log_text = f.read()
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{
"role": "user",
"content": f"Find the root cause of the 502 spike at 14:20 UTC.\n\n{log_text}",
}
],
)
Uma particularidade de faturamento que você precisa saber. O MiniMax cobra uma taxa padrão para chamadas com 512K tokens de entrada ou menos, e uma taxa de contexto longo mais alta assim que a entrada ultrapassa 512K tokens. Portanto, o salto de um prompt de 400K tokens para um de 600K tokens não é linear. Ele cruza um limite de preço.
A lição prática: não despeje um milhão de tokens no contexto por hábito. Envie a parte que o modelo precisa. Se você estiver encadeando muitas chamadas em um agente, cortar o contexto por chamada é uma das maiores alavancas para sua conta. Aprofundamos nisso em como reduzir custos de tokens de agente.
Passo 6: Chamada de ferramentas e entrada multimodal
O M3 lida com a chamada de ferramentas e entrada multimodal, então ele pode acionar agentes e ler imagens, não apenas texto.
Para a chamada de ferramentas, você declara as ferramentas que o modelo tem permissão para invocar e, em seguida, lida com a chamada que ele retorna:
tools = [
{
"type": "function",
"function": {
"name": "run_tests",
"description": "Run the test suite for a given module path.",
"parameters": {
"type": "object",
"properties": {
"module": {"type": "string"},
},
"required": ["module"],
},
},
}
]
response = client.chat.completions.create(
model="MiniMax-M3",
messages=[
{"role": "user", "content": "Fix the failing test in auth/session.py and confirm it passes."}
],
tools=tools,
)
Quando o modelo decide chamar uma ferramenta, a resposta contém um array tool_calls. Seu código executa a função, anexa o resultado como uma mensagem tool e chama a API novamente para que o modelo possa continuar. Acertar essa comunicação é onde a maioria dos bugs de agente reside. Os padrões de conexão e os modos de falha valem a pena ser lidos antes de você lançar: conexão de ferramentas em fluxos de trabalho de agente.
O Apidog também ajuda aqui. Você pode reproduzir a troca completa de múltiplas rodadas (a requisição inicial, a resposta da chamada da ferramenta, o resultado da sua ferramenta, o acompanhamento) como requisições salvas separadas, para que você possa verificar cada etapa de ponta a ponta em vez de adivinhar dentro do seu runtime de agente.
Para entrada multimodal, você passa o conteúdo da imagem no mesmo array de mensagens, junto com seu prompt de texto, seguindo o formato padrão de partes de conteúdo. Verifique a referência da API para os nomes exatos dos campos, já que estes evoluem mais rápido que os endpoints de texto.
Preços e níveis
Dois fatores distintos controlam o que você paga e a velocidade do serviço.
Planos de token definem seu orçamento de crédito. Os níveis de assinatura são Plus por US$ 20, Max por US$ 50 e Ultra por US$ 120, cada um incluindo um pool maior de créditos de token usados pela sua Chave de Assinatura. O pagamento conforme o uso debita de uma chave de API regular em seu saldo.

Os níveis de serviço definem a prioridade de agendamento. Existem dois: standard (o padrão) e priority. O padrão é adequado para a maioria das cargas de trabalho. A prioridade é para tráfego sensível à latência ou vinculado a SLAs que não pode ficar em fila atrás de todos os outros.
Empilhe isso em cima da taxa padrão versus taxa de contexto longo do Passo 5, e seu custo real dependerá do tamanho da entrada, plano e nível juntos. Para os números atuais por token, verifique a página de preços e modelo do MiniMax e os docs da API, já que as taxas publicadas mudam.
Perguntas Frequentes
Existe uma maneira gratuita de experimentar o M3? Sim. Você pode testar o modelo sem se comprometer com um plano, e há algumas rotas sem custo. Nós as coletamos em como usar o MiniMax M3 gratuitamente.
Quais SDKs funcionam com a API? Três opções: HTTP puro, o SDK da Anthropic e o SDK da OpenAI. O MiniMax recomenda o SDK da Anthropic, mas todos os três acessam o mesmo endpoint https://api.minimax.io/v1/chat/completions. Para os clientes OpenAI e Anthropic, você apenas muda a base_url para apontar para o MiniMax.
Como faço para fazer streaming de respostas? Adicione "stream": true ao corpo da sua requisição. A API retorna eventos enviados pelo servidor, e ambos os SDKs expõem um iterador que você percorre para ler os pedaços à medida que chegam. Teste o streaming no Apidog primeiro para que você possa ver o formato do evento antes de analisá-lo.
Qual é o limite de taxa? Os limites dependem do nível da sua conta e se você está no serviço standard ou priority. Se você receber um 429, espere e tente novamente, ou mova o tráfego sensível à latência para o nível de prioridade. Os números atuais estão no painel da sua conta e nos docs da API.
Como o limite de 512K afeta minha conta? Chamadas com entrada de 512K tokens ou menos são faturadas à taxa padrão. Acima de 512K tokens de entrada, aplica-se a taxa de contexto longo mais alta. Reduza seu prompt para os tokens que o modelo realmente precisa, especialmente em loops de agente onde o custo se acumula entre as chamadas.
Posso auto-hospedar os pesos em vez de chamar a API? A API hospedada é o caminho que este guia cobre, e é a maneira mais rápida de começar. A auto-hospedagem depende do que o MiniMax publica para o M3 a qualquer momento, então verifique a página do modelo para a situação atual de pesos e licenças.
Conclusão
Agora você tem tudo para chamar o MiniMax M3: uma chave de API armazenada como variável de ambiente, requisições funcionando em curl, Python e Node, um alternador de "pensamento", o limite de faturamento de 512K e o handshake de chamada de ferramentas. A maneira mais rápida de fixar isso é executar uma chamada real manualmente. Insira o endpoint no Apidog, armazene seu token de portador como uma variável de ambiente, envie o prompt de refatoração e leia a resposta. Depois de ver o formato bruto, integrá-lo ao seu código leva minutos.
