Text
MiniMax M3.1 Flash
Utilisez MiniMax M3.1 Flash avec Chat Completions, Messages ou Responses. Paramètres officiels, entrées multimodales, raisonnement, historique des outils et comptage des tokens.
Utilisez exactement l’identifiant de modèle MiniMax-M3.1-Flash. La page du modèle propose le Playground et les tarifs en temps réel. La spécification OpenAPI définit les champs imbriqués des requêtes et des réponses.
Démarrage rapide
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"
}'Cet exemple fixe une limite de sortie ; ce n’est pas la valeur par défaut du modèle. Conservez vos clés sur votre serveur. Le Playground utilise le compte auquel vous êtes connecté et ne demande pas de coller une clé API.
Formats et authentification
| Format | Point de terminaison | Champs obligatoires | Nombre total de champs de premier niveau |
|---|---|---|---|
| Chat Completions | POST /v1/chat/completions | model, messages | 13 |
| Messages | POST /v1/messages | model, messages | 12 |
| Responses | POST /v1/responses | model, input | 13 |
Envoyez Content-Type: application/json et Authorization: Bearer $SEEDROUTER_API_KEY. Messages accepte également x-api-key ; les clients SDK peuvent inclure anthropic-version: 2023-06-01. Ces formats conservent leur corps de requête et leur structure de réponse natifs.
Paramètres
Tous les champs sont facultatifs, sauf ceux indiqués comme obligatoires ci-dessus. Omettre un champ est différent de lui attribuer explicitement null : un champ n’accepte null que si la spécification OpenAPI le déclare. Les champs de premier niveau non pris en charge sont supprimés ; une valeur incorrecte dans un champ pris en charge entraîne une erreur.
Chat Completions
| Champ | Type | Règle |
|---|---|---|
model | chaîne | Exactement MiniMax-M3.1-Flash |
messages | tableau | Messages de conversation natifs ; conserver le raisonnement et l’historique des outils |
thinking | objet | type ne peut être que adaptive |
reasoning_effort | chaîne | low, medium, high, xhigh, max ; par défaut : max |
reasoning_split | booléen | Uniquement true |
stream | booléen | Par défaut : false |
stream_options | objet | include_usage contrôle l’affichage de l’utilisation en streaming |
max_completion_tokens | entier | 1–524288 ; inclut les tokens de raisonnement et de réponse |
max_tokens | entier | Ancienne limite de sortie, 1–524288 ; privilégier max_completion_tokens |
temperature | nombre | Accepté mais ignoré ; le modèle utilise 1 |
top_p | nombre | Supérieur à 0 et au plus égal à 1 ; ignoré, le modèle utilise 0.95 |
tools | tableau | Définitions de fonctions : type, function.name, function.parameters, description facultative |
n | entier | Uniquement 1 |
Messages
| Champ | Type | Règle |
|---|---|---|
model | chaîne | Exactement MiniMax-M3.1-Flash |
messages | tableau | Messages user/assistant et blocs de contenu natifs |
system | chaîne ou tableau | Instructions système ou blocs de texte |
stream | booléen | Par défaut : false |
max_tokens | entier | 1–524288, raisonnement compris ; facultatif dans le schéma API du modèle |
temperature | nombre | Accepté mais ignoré ; le modèle utilise 1 |
top_p | nombre | Supérieur à 0 et au plus égal à 1 ; le modèle utilise 0.95 |
tools | tableau | Définitions de fonctions natives avec input_schema |
tool_choice | objet | Uniquement {"type":"auto"} |
thinking | objet | Uniquement {"type":"adaptive"} |
output_config | objet | effort : low, medium, high, xhigh, max ; par défaut : max |
metadata | objet | Métadonnées natives facultatives |
Responses
| Champ | Type | Règle |
|---|---|---|
model | chaîne | Exactement MiniMax-M3.1-Flash |
input | chaîne ou tableau | Texte ou éléments natifs de message, d’appel de fonction, de résultat de fonction et de raisonnement |
instructions | chaîne | Instructions système |
max_output_tokens | entier | 1–524288, raisonnement compris |
temperature | nombre | Accepté mais ignoré ; le modèle utilise 1 |
top_p | nombre | Supérieur à 0 et au plus égal à 1 ; le modèle utilise 0.95 |
stream | booléen | Par défaut : false |
tools | tableau | Définitions de fonctions natives |
tool_choice | chaîne | Uniquement auto |
metadata | objet | Les valeurs doivent être des chaînes |
prompt_cache_key | chaîne | Clé facultative de regroupement du cache |
text | objet | Uniquement {"format":{"type":"text"}} |
reasoning | objet | effort : les cinq niveaux ci-dessus ; par défaut : max |
Le Playground fixe model et expose tous les autres champs : 12 contrôles pour Chat, 11 pour Messages et 12 pour Responses. Les objets imbriqués et les historiques de conversation complets utilisent des champs JSON. Les valeurs incorrectes dans les champs pris en charge bloquent l’envoi dans le navigateur.
Raisonnement et limites
La fenêtre de contexte documentée est de 1 000 000 de tokens. La limite de sortie est de 524 288 tokens, raisonnement compris. MiniMax recommande 131 072 tokens de sortie pour les tâches exigeantes, sans définir cette valeur comme valeur par défaut.
La réflexion est toujours activée. disabled, none et minimal ne sont pas des réglages de réflexion pris en charge par ce modèle. Un budget de sortie trop faible peut être épuisé avant que le texte de la réponse n’apparaisse. service_tier, l’entrée audio et la sortie JSON structurée ne font pas partie des fonctionnalités prises en charge par ce contrat d’API.
Le corps complet de la requête ne doit pas dépasser 64 MB. Le service du modèle valide l’utilisation exacte du contexte et le contenu des médias distants.
Images et vidéos
| Entrée | Formats pris en charge | Limite |
|---|---|---|
| Image | JPEG, PNG, GIF, WebP | 10 MB par image |
| Vidéo par URL ou intégrée | MP4, AVI, MOV, MKV | 50 MB par vidéo |
| Requête entière | Corps JSON | 64 MB |
Chat utilise les blocs de contenu image_url: {"url":"..."} et video_url: {"url":"..."}. Messages utilise des blocs image/vidéo avec un objet source : {"type":"url","url":"..."} ou {"type":"base64","media_type":"...","data":"..."}. Responses utilise input_image ou input_video, dont la valeur URL peut être une chaîne ou un objet d’options pris en charge.
detail accepte low, default et high, avec default comme valeur par défaut. Pour les vidéos, fps va de 0.2 à 5, avec 1 par défaut. Le champ facultatif max_long_side_pixel doit être un entier positif lorsqu’il est proposé dans le schéma imbriqué.
{
"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
}Remplacez l’URL d’exemple par celle de votre propre fichier accessible. Les entrées intégrées utilisent le type MIME base64 approprié ; MOV utilise video/mov. Les références vidéo mm_file:// existantes sont transmises telles quelles, mais ce service ne fournit pas d’API de téléversement Files. La référence doit rester accessible au compte qui traite la requête.
Outils et historique de conversation
Les outils de fonction décrivent les actions que votre application peut effectuer. Un appel d’outil ne prouve pas qu’une action externe a été exécutée : vérifiez le nom et les arguments, exécutez l’action dans votre application, puis renvoyez son résultat avec l’identifiant d’appel correspondant.
Pour poursuivre une conversation Chat, conservez le message assistant complet, y compris reasoning_content et tool_calls ; les messages d’outil exigent tool_call_id. Avec Messages, conservez les blocs de réflexion, les signatures et les blocs tool_use et tool_result. Avec Responses, ajoutez tous les éléments de sortie renvoyés avant la prochaine entrée utilisateur.
Ne réduisez pas ces historiques au texte des réponses. Les schémas de paramètres de fonction arbitraires et les champs de raisonnement renvoyés sont conservés. La référence officielle de Chat ne définit pas de paramètre tool_choice pour ce modèle.
Streaming et champs de réponse
Définissez stream: true pour recevoir des événements envoyés par le serveur. Chat émet choices[].delta et termine par [DONE] ; demandez stream_options: {"include_usage":true} pour recevoir les données d’utilisation. Messages émet des événements nommés tels que message_start, des mises à jour de blocs de contenu et message_stop. Responses émet des événements tels que response.output_text.delta et response.completed.
Sans streaming, Chat renvoie choices[].message, finish_reason et usage. Messages renvoie des blocs de contenu, stop_reason et les données d’utilisation. Responses renvoie des éléments output, un statut et les données d’utilisation. Conservez la réponse complète si votre application a besoin d’autres informations que la réponse affichée.
Utilisation et tarifs actuels
Le tableau des tarifs en temps réel présente les deux tranches d’entrée. Un total d’entrée allant jusqu’à 512 000 tokens relève de la première tranche ; au-delà de 512 000, la seconde s’applique. La tranche choisie détermine le prix de toute la requête, y compris la sortie et le cache.
| Format | Entrée totale | Sortie |
|---|---|---|
| Chat | prompt_tokens inclut l’entrée en cache | completion_tokens inclut le raisonnement |
| Messages | Additionner input_tokens, cache_read_input_tokens et cache_creation_input_tokens | output_tokens inclut le raisonnement |
| Responses | input_tokens inclut l’entrée en cache | output_tokens inclut le raisonnement |
Les tokens de lecture et d’écriture du cache ne sont pas facturés une seconde fois comme entrée ordinaire. La mise en cache automatique recherche les préfixes répétés admissibles d’au moins 512 tokens ; la réutilisation du cache n’est pas garantie. Aucun marqueur de cache explicite n’est nécessaire.
Les réponses indiquent le nombre de tokens, pas les montants facturés. L’historique d’utilisation du compte affiche les frais définitifs. Les requêtes qui échouent ne sont pas facturées.
Erreurs
En cas d’erreur, vérifiez le champ incorrect et la référence publique des erreurs. Le même identifiant de modèle prend en charge les trois points de terminaison textuels ci-dessus ; il ne s’utilise pas avec un point de terminaison d’embeddings ou Gemini.
