Text
MiniMax M3.1 Flash
Usa MiniMax M3.1 Flash con Chat Completions, Messages o Responses. Parametri ufficiali, input multimodali, ragionamento, cronologia degli strumenti e conteggio dei token.
Usa esattamente l’ID modello MiniMax-M3.1-Flash. La pagina del modello include il Playground e i prezzi in tempo reale. La specifica OpenAPI definisce i campi annidati di richiesta e risposta.
Guida rapida
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"
}'Questo esempio imposta un limite di output; non è il valore predefinito del modello. Conserva le chiavi sul tuo server. Il Playground usa l’account con cui hai effettuato l’accesso e non richiede di incollare una chiave API.
Formati e autenticazione
| Formato | Endpoint | Campi obbligatori | Totale campi di primo livello |
|---|---|---|---|
| Chat Completions | POST /v1/chat/completions | model, messages | 13 |
| Messages | POST /v1/messages | model, messages | 12 |
| Responses | POST /v1/responses | model, input | 13 |
Invia Content-Type: application/json e Authorization: Bearer $SEEDROUTER_API_KEY. Messages accetta anche x-api-key; i client SDK possono includere anthropic-version: 2023-06-01. Questi formati mantengono il corpo della richiesta e la struttura della risposta nativi.
Parametri
Tutti i campi sono facoltativi, tranne quelli obbligatori indicati sopra. Omettere un campo è diverso dall’inviare esplicitamente null: un campo accetta null solo se la specifica OpenAPI lo dichiara. I campi di primo livello non supportati vengono scartati; valori non validi nei campi supportati restituiscono un errore.
Chat Completions
| Campo | Tipo | Regola |
|---|---|---|
model | stringa | Esattamente MiniMax-M3.1-Flash |
messages | array | Messaggi di conversazione nativi; conserva il ragionamento e la cronologia degli strumenti |
thinking | oggetto | type può essere solo adaptive |
reasoning_effort | stringa | low, medium, high, xhigh, max; predefinito: max |
reasoning_split | booleano | Solo true |
stream | booleano | Predefinito: false |
stream_options | oggetto | include_usage controlla la visibilità dei dati di utilizzo nello streaming |
max_completion_tokens | intero | 1–524288; include i token di ragionamento e risposta |
max_tokens | intero | Limite di output precedente, 1–524288; preferisci max_completion_tokens |
temperature | numero | Accettato ma ignorato; il modello usa 1 |
top_p | numero | Maggiore di 0 e al massimo 1; ignorato, il modello usa 0.95 |
tools | array | Definizioni di funzione: type, function.name, function.parameters, descrizione facoltativa |
n | intero | Solo 1 |
Messages
| Campo | Tipo | Regola |
|---|---|---|
model | stringa | Esattamente MiniMax-M3.1-Flash |
messages | array | Messaggi user/assistant e blocchi di contenuto nativi |
system | stringa o array | Istruzioni di sistema o blocchi di testo |
stream | booleano | Predefinito: false |
max_tokens | intero | 1–524288, ragionamento incluso; facoltativo nello schema API del modello |
temperature | numero | Accettato ma ignorato; il modello usa 1 |
top_p | numero | Maggiore di 0 e al massimo 1; il modello usa 0.95 |
tools | array | Definizioni di funzione native con input_schema |
tool_choice | oggetto | Solo {"type":"auto"} |
thinking | oggetto | Solo {"type":"adaptive"} |
output_config | oggetto | effort: low, medium, high, xhigh, max; predefinito: max |
metadata | oggetto | Metadati nativi facoltativi |
Responses
| Campo | Tipo | Regola |
|---|---|---|
model | stringa | Esattamente MiniMax-M3.1-Flash |
input | stringa o array | Testo o elementi nativi di messaggio, chiamata a funzione, risultato di funzione e ragionamento |
instructions | stringa | Istruzioni di sistema |
max_output_tokens | intero | 1–524288, ragionamento incluso |
temperature | numero | Accettato ma ignorato; il modello usa 1 |
top_p | numero | Maggiore di 0 e al massimo 1; il modello usa 0.95 |
stream | booleano | Predefinito: false |
tools | array | Definizioni di funzione native |
tool_choice | stringa | Solo auto |
metadata | oggetto | I valori devono essere stringhe |
prompt_cache_key | stringa | Chiave facoltativa di raggruppamento della cache |
text | oggetto | Solo {"format":{"type":"text"}} |
reasoning | oggetto | effort: i cinque livelli indicati sopra; predefinito: max |
Il Playground mantiene fisso model ed espone tutti gli altri campi: 12 controlli per Chat, 11 per Messages e 12 per Responses. Gli oggetti annidati e le cronologie complete delle conversazioni si inseriscono nei campi JSON. I valori non validi nei campi supportati bloccano l’invio nel browser.
Ragionamento e limiti
La finestra di contesto documentata è di 1.000.000 di token. Il limite di output è di 524.288 token, ragionamento incluso. MiniMax consiglia 131.072 token di output per le attività impegnative, ma non indica questo valore come predefinito.
La modalità di pensiero è sempre attiva. Questo modello non supporta disabled, none e minimal come impostazioni di pensiero. Un budget di output ridotto può esaurirsi prima che compaia il testo della risposta. Questo contratto API non supporta service_tier, input audio e output JSON strutturato.
Il corpo completo della richiesta non deve superare 64 MB. Il servizio del modello verifica l’utilizzo esatto del contesto e il contenuto dei media remoti.
Immagini e video
| Input | Formati supportati | Limite |
|---|---|---|
| Immagine | JPEG, PNG, GIF, WebP | 10 MB per immagine |
| Video tramite URL o inline | MP4, AVI, MOV, MKV | 50 MB per video |
| Intera richiesta | Corpo JSON | 64 MB |
Chat usa i blocchi di contenuto image_url: {"url":"..."} e video_url: {"url":"..."}. Messages usa blocchi immagine/video con un oggetto source: {"type":"url","url":"..."} oppure {"type":"base64","media_type":"...","data":"..."}. Responses usa input_image o input_video, il cui valore URL può essere una stringa o un oggetto di opzioni supportato.
detail accetta low, default e high, con default come valore predefinito. Per i video, fps va da 0.2 a 5, con valore predefinito 1. Il campo facoltativo max_long_side_pixel è un intero positivo, laddove previsto dallo schema annidato.
{
"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
}Sostituisci l’URL di esempio con quello di un tuo file accessibile. Gli input inline usano il tipo MIME base64 appropriato; MOV usa video/mov. I riferimenti video mm_file:// esistenti vengono inoltrati senza modifiche, ma questo servizio non offre un’API di caricamento Files. Il riferimento deve comunque essere accessibile all’account che elabora la richiesta.
Strumenti e cronologia della conversazione
Gli strumenti di funzione descrivono azioni che la tua applicazione può eseguire. Una chiamata a uno strumento non dimostra che sia stata eseguita un’azione esterna: controlla il nome e gli argomenti, esegui l’azione nell’applicazione, quindi restituisci il risultato con l’ID di chiamata corrispondente.
Per continuare una conversazione Chat, conserva l’intero messaggio assistant, inclusi reasoning_content e tool_calls; i messaggi degli strumenti richiedono tool_call_id. Con Messages, conserva i blocchi di pensiero, le firme e i blocchi tool_use e tool_result. Con Responses, aggiungi tutti gli elementi di output restituiti prima dell’input successivo dell’utente.
Non ridurre queste cronologie al solo testo delle risposte. Gli schemi arbitrari dei parametri di funzione e i campi di ragionamento restituiti vengono conservati. Il riferimento ufficiale di Chat non definisce un parametro tool_choice per questo modello.
Streaming e campi della risposta
Imposta stream: true per ricevere eventi inviati dal server. Chat emette choices[].delta e termina con [DONE]; richiedi stream_options: {"include_usage":true} per ricevere i dati di utilizzo. Messages emette eventi con nome, come message_start, aggiornamenti dei blocchi di contenuto e message_stop. Responses emette eventi come response.output_text.delta e response.completed.
Senza streaming, Chat restituisce choices[].message, finish_reason e usage. Messages restituisce blocchi di contenuto, stop_reason e dati di utilizzo. Responses restituisce elementi output, stato e dati di utilizzo. Conserva la risposta completa quando l’applicazione ha bisogno di informazioni oltre alla risposta visualizzata.
Utilizzo e prezzi attuali
La tabella dei prezzi in tempo reale mostra entrambe le fasce di input. Un input totale fino a 512.000 token usa la prima fascia; oltre 512.000 si applica la seconda. La fascia selezionata determina il prezzo dell’intera richiesta, inclusi output e cache.
| Formato | Input totale | Output |
|---|---|---|
| Chat | prompt_tokens include l’input in cache | completion_tokens include il ragionamento |
| Messages | Somma input_tokens, cache_read_input_tokens e cache_creation_input_tokens | output_tokens include il ragionamento |
| Responses | input_tokens include l’input in cache | output_tokens include il ragionamento |
I token di lettura e scrittura della cache non vengono addebitati una seconda volta come input ordinario. Il caching automatico verifica i prefissi ripetuti idonei di almeno 512 token; i riscontri nella cache non sono garantiti. Non è necessario un marcatore di cache esplicito.
Le risposte riportano il numero di token, non gli importi monetari. I registri di utilizzo dell’account mostrano gli addebiti finali. Le richieste non riuscite non vengono addebitate.
Errori
In caso di errore, controlla il campo non valido e il riferimento pubblico degli errori. Lo stesso ID modello supporta i tre endpoint di testo indicati sopra; non si usa con un endpoint di embedding o Gemini.
