Text
MiniMax M3.1 Flash
Use o MiniMax M3.1 Flash com Chat Completions, Messages ou Responses. Parâmetros oficiais, entrada multimodal, raciocínio, histórico de ferramentas e contabilização de tokens.
Use exatamente o ID de modelo MiniMax-M3.1-Flash. A página do modelo oferece o Playground e os preços em tempo real. A especificação OpenAPI define os campos aninhados de requisição e resposta.
Início rápido
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"
}'Este exemplo define um limite de saída; ele não é o padrão do modelo. Mantenha as chaves no seu servidor. O Playground usa a conta em que você está conectado e não exige que você cole uma chave de API.
Formatos e autenticação
| Formato | Endpoint | Campos obrigatórios | Total de campos de nível superior |
|---|---|---|---|
| Chat Completions | POST /v1/chat/completions | model, messages | 13 |
| Messages | POST /v1/messages | model, messages | 12 |
| Responses | POST /v1/responses | model, input | 13 |
Envie Content-Type: application/json e Authorization: Bearer $SEEDROUTER_API_KEY. Messages também aceita x-api-key; clientes SDK podem incluir anthropic-version: 2023-06-01. Esses formatos preservam seus corpos de requisição e estruturas de resposta nativos.
Parâmetros
Todos os campos são opcionais, exceto os obrigatórios indicados acima. Omitir um campo é diferente de enviar null explicitamente: um campo só aceita null quando a OpenAPI declara essa possibilidade. Campos de nível superior não suportados são descartados; valores inválidos em campos suportados retornam um erro.
Chat Completions
| Campo | Tipo | Regra |
|---|---|---|
model | string | Exatamente MiniMax-M3.1-Flash |
messages | array | Mensagens de conversa nativas; preserve o raciocínio e o histórico de ferramentas |
thinking | objeto | type só pode ser adaptive |
reasoning_effort | string | low, medium, high, xhigh, max; padrão: max |
reasoning_split | booleano | Somente true |
stream | booleano | Padrão: false |
stream_options | objeto | include_usage controla a exibição dos dados de uso no streaming |
max_completion_tokens | inteiro | 1–524288; inclui tokens de raciocínio e resposta |
max_tokens | inteiro | Limite de saída legado, 1–524288; prefira max_completion_tokens |
temperature | número | Aceito, mas ignorado; o modelo usa 1 |
top_p | número | Maior que 0 e no máximo 1; ignorado, o modelo usa 0.95 |
tools | array | Definições de função: type, function.name, function.parameters e descrição opcional |
n | inteiro | Somente 1 |
Messages
| Campo | Tipo | Regra |
|---|---|---|
model | string | Exatamente MiniMax-M3.1-Flash |
messages | array | Mensagens user/assistant e blocos de conteúdo nativos |
system | string ou array | Instruções do sistema ou blocos de texto |
stream | booleano | Padrão: false |
max_tokens | inteiro | 1–524288, incluindo o raciocínio; opcional no esquema API do modelo |
temperature | número | Aceito, mas ignorado; o modelo usa 1 |
top_p | número | Maior que 0 e no máximo 1; o modelo usa 0.95 |
tools | array | Definições de função nativas com input_schema |
tool_choice | objeto | Somente {"type":"auto"} |
thinking | objeto | Somente {"type":"adaptive"} |
output_config | objeto | effort: low, medium, high, xhigh, max; padrão: max |
metadata | objeto | Metadados nativos opcionais |
Responses
| Campo | Tipo | Regra |
|---|---|---|
model | string | Exatamente MiniMax-M3.1-Flash |
input | string ou array | Texto ou itens nativos de mensagem, chamada de função, resultado de função e raciocínio |
instructions | string | Instruções do sistema |
max_output_tokens | inteiro | 1–524288, incluindo o raciocínio |
temperature | número | Aceito, mas ignorado; o modelo usa 1 |
top_p | número | Maior que 0 e no máximo 1; o modelo usa 0.95 |
stream | booleano | Padrão: false |
tools | array | Definições de função nativas |
tool_choice | string | Somente auto |
metadata | objeto | Os valores devem ser strings |
prompt_cache_key | string | Chave opcional de agrupamento do cache |
text | objeto | Somente {"format":{"type":"text"}} |
reasoning | objeto | effort: os cinco níveis acima; padrão: max |
O Playground fixa model e disponibiliza todos os demais campos: 12 controles para Chat, 11 para Messages e 12 para Responses. Objetos aninhados e históricos completos de conversa usam campos JSON. Valores inválidos em campos suportados bloqueiam o envio no navegador.
Raciocínio e limites
A janela de contexto documentada é de 1.000.000 de tokens. O limite de saída é de 524.288 tokens, incluindo o raciocínio. A MiniMax recomenda 131.072 tokens de saída para tarefas exigentes, mas não define esse valor como padrão.
O modo de pensamento fica sempre ativado. Este modelo não suporta disabled, none e minimal como configurações de pensamento. Um orçamento de saída pequeno pode se esgotar antes que o texto da resposta apareça. Este contrato de API não suporta service_tier, entrada de áudio e saída JSON estruturada.
O corpo completo da requisição não pode ultrapassar 64 MB. O serviço do modelo valida o uso exato do contexto e o conteúdo das mídias remotas.
Imagens e vídeos
| Entrada | Formatos suportados | Limite |
|---|---|---|
| Imagem | JPEG, PNG, GIF, WebP | 10 MB por imagem |
| Vídeo por URL ou inline | MP4, AVI, MOV, MKV | 50 MB por vídeo |
| Requisição inteira | Corpo JSON | 64 MB |
Chat usa os blocos de conteúdo image_url: {"url":"..."} e video_url: {"url":"..."}. Messages usa blocos de imagem/vídeo com um objeto source: {"type":"url","url":"..."} ou {"type":"base64","media_type":"...","data":"..."}. Responses usa input_image ou input_video, cujo valor de URL pode ser uma string ou um objeto de opções suportado.
detail aceita low, default e high, com default como padrão. O fps do vídeo varia de 0.2 a 5, com padrão 1. O campo opcional max_long_side_pixel é um inteiro positivo quando está disponível no esquema aninhado.
{
"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
}Substitua a URL de exemplo pela de um arquivo seu que esteja acessível. Entradas inline usam o tipo MIME base64 apropriado; MOV usa video/mov. Referências de vídeo mm_file:// existentes são repassadas sem alterações, mas este serviço não oferece uma API de upload Files. A referência ainda precisa estar acessível à conta que processa a requisição.
Ferramentas e histórico de conversa
Ferramentas de função descrevem ações que sua aplicação pode executar. Uma chamada de ferramenta não comprova que uma ação externa foi executada: confira o nome e os argumentos, execute a ação na sua aplicação e depois retorne o resultado com o ID de chamada correspondente.
Ao continuar uma conversa com Chat, preserve a mensagem assistant completa, incluindo reasoning_content e tool_calls; mensagens de ferramenta exigem tool_call_id. Com Messages, preserve os blocos de pensamento, as assinaturas e os blocos tool_use e tool_result. Com Responses, acrescente todos os itens de saída retornados antes da próxima entrada do usuário.
Não reduza esses históricos ao texto das respostas. Esquemas arbitrários de parâmetros de função e campos de raciocínio devolvidos são preservados. A referência oficial de Chat não define um parâmetro tool_choice para este modelo.
Streaming e campos de resposta
Defina stream: true para receber eventos enviados pelo servidor. Chat emite choices[].delta e termina com [DONE]; solicite stream_options: {"include_usage":true} para receber os dados de uso. Messages emite eventos nomeados, como message_start, atualizações de blocos de conteúdo e message_stop. Responses emite eventos como response.output_text.delta e response.completed.
Sem streaming, Chat retorna choices[].message, finish_reason e usage. Messages retorna blocos de conteúdo, stop_reason e dados de uso. Responses retorna itens output, status e dados de uso. Preserve a resposta completa quando sua aplicação precisar de mais informações do que a resposta exibida.
Uso e preços atuais
A tabela de preços em tempo real mostra as duas faixas de entrada. Um total de entrada de até 512.000 tokens usa a primeira faixa; acima de 512.000, aplica-se a segunda. A faixa selecionada determina o preço de toda a requisição, incluindo saída e cache.
| Formato | Entrada total | Saída |
|---|---|---|
| Chat | prompt_tokens inclui a entrada em cache | completion_tokens inclui o raciocínio |
| Messages | Some input_tokens, cache_read_input_tokens e cache_creation_input_tokens | output_tokens inclui o raciocínio |
| Responses | input_tokens inclui a entrada em cache | output_tokens inclui o raciocínio |
Tokens de leitura e gravação de cache não são cobrados novamente como entrada comum. O cache automático verifica prefixos repetidos elegíveis com pelo menos 512 tokens; não há garantia de acerto de cache. Não é necessário um marcador de cache explícito.
As respostas apresentam contagens de tokens, não valores monetários. Os registros de uso da conta mostram as cobranças finais. Requisições que falham não são cobradas.
Erros
Em caso de erro, confira o campo inválido e a referência pública de erros. O mesmo ID de modelo suporta os três endpoints de texto acima; ele não deve ser usado em um endpoint de embeddings ou do Gemini.
