Der Endpunkt /v1/chat/completions
Auf dieser Seite
Update vom 2. November 2026 — Modelle. Mistral Large 3 (
mistral-large-2512) und Mistral Medium 3.5 wurden am 31. Oktober 2026 eingestellt und werden am 30. April 2027 endgültig zurückgezogen. Ihr benannter Nachfolger, Mistral Large 4 (mistral-large-4), steht seit dem 6. Oktober in der öffentlichen Vorschau. Die Beispiele in diesem Kurs verwenden den Aliasmistral-large-latest, der gemäß der offiziellen Spezifikation (verifiziert am 3. November 2026) derzeit auf Mistral Large 3 verweist. Ebenso verweistmistral-medium-latestauf Mistral Medium 3.5. Diese Aliase bleiben bis zum 30. April 2027 gültig. Für neue Projekte testen Siemistral-large-4, ihren benannten Nachfolger.
Ihr Zugang zu Mistral-Modellen
Alles, was Sie mit der Mistral-API tun, läuft über einen einzigen Pfad: /v1/chat/completions. Dies ist das zentrale Hub der Plattform und verwaltet alle Ihre interaktiven Gespräche mit Sprachmodellen. Ob Sie einen internen Support-Chatbot entwickeln, einen Extraktor erstellen, der PDF-Rechnungen in Datenbankzeilen umwandelt, oder einen Schreibassistenten in Ihr CMS integrieren – diese drei scheinbar unterschiedlichen Anwendungen rufen denselben Endpunkt mit unterschiedlichen Nachrichten und Parametern auf. Sie müssen nicht drei separate Integrationen lernen; Sie müssen nur eine meistern.
Ab April 2026 verarbeitet dieser Endpunkt weltweit Milliarden von Anfragen täglich. Das Verständnis seiner Struktur ist der erste Schritt, um Mistral-Modelle in der Produktion effektiv zu nutzen.
Die Basis-URL
Alle Anfragen an die Mistral-API beginnen bei derselben Basis:
https://api.mistral.ai/v1/chat/completions
Sie senden eine POST-Anfrage mit einem JSON-Körper, der Ihre Nachrichten und Parameter enthält, und die API gibt eine strukturierte JSON-Antwort zurück. Es gibt keine Sitzungen zu eröffnen und keinen serverseitigen Zustand zu pflegen: Jeder Aufruf ist eigenständig.
Anatomie einer Anfrage
Der schnellste Weg, um zu überprüfen, ob Ihr Schlüssel funktioniert, besteht darin, eine minimale Anfrage direkt aus Ihrem Terminal mit curl zu senden:
curl https://api.mistral.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-d '{
"model": "mistral-large-latest",
"messages": [
{"role": "user", "content": "Hallo, wie funktioniert Ihre API?"}
]
}'
Zwei Header sind zwingend erforderlich: Content-Type: application/json beschreibt das Format des Anfragekörpers, und Authorization: Bearer <Ihr-Schlüssel> übermittelt Ihre Authentifizierung. Der Körper selbst muss mindestens zwei Felder enthalten: model, die Kennung des zu verwendenden Modells, und messages, das Array, das das Gespräch trägt.
Äquivalent in Python mit dem SDK
Sobald Sie die Testphase hinter sich haben, schreibt niemand in der Produktion rohe curl-Befehle. Das offizielle SDK führt denselben Aufruf in nur wenigen Zeilen durch:
from mistralai.client import Mistral
import os
client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
response = client.chat.complete(
model="mistral-large-latest",
messages=[
{"role": "user", "content": "Hallo, wie funktioniert Ihre API?"}
]
)
print(response.choices[0].message.content)
Das SDK übernimmt für Sie die Header, die JSON-Serialisierung und die Antwortparsing. Es verwaltet zudem automatische Wiederholungen bei vorübergehenden Fehlern und spart Ihnen das Schreiben eigener Wiederholungslogik, falls ein Verkehrsspitze zu einem transienten Ausfall führt.
Antwortstruktur
Unabhängig davon, wie Sie die API aufrufen, gibt sie immer dasselbe JSON-Objekt zurück:
{
"id": "cmpl-abc123",
"object": "chat.completion",
"created": 1712150400,
"model": "mistral-large-latest",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hallo! Die Mistral-API funktioniert..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 87,
"total_tokens": 102
}
}
Drei Felder verdienen Ihre sofortige Aufmerksamkeit. choices ist ein Array, das die generierten Antworten enthält; hier finden Sie den Text, der dem Benutzer angezeigt werden soll. usage liefert die Token-Zählung für Eingabe, Ausgabe und das Gesamtsumme, sodass Sie die tatsächlichen Kosten jeder Funktion verfolgen können, anstatt die Rechnung erst am Monatsende zu entdecken. Schließlich erklärt finish_reason, warum das Modell aufgehört hat: stop für ein natürliches Ende, length, wenn das Token-Limit die Antwort abgeschnitten hat, oder tool_calls, wenn das Modell die Ausführung von Tools anfordert. Eine Zusammenfassung, die mitten im Satz endet, ist fast nie ein Modellproblem; es handelt sich um einen finish_reason von length, den niemand gelesen hat.
Häufige Fehlercodes
Wenn etwas schiefgeht, gibt die API standardmäßige HTTP-Codes zurück:
- 400 — Fehlbildete Anfrage (ungültiges JSON, fehlender Parameter)
- 401 — Ungültiger oder fehlender API-Schlüssel
- 429 — Rate Limit erreicht (zu viele Anfragen)
- 500 — Serverfehler (nach wenigen Sekunden erneut versuchen)
In Python wirft das SDK typisierte Ausnahmen, die Sie abfangen können, sodass Sie zwischen einem abgelaufenen Schlüssel und einer vorübergehenden Sättigung unterscheiden und in jedem Fall unterschiedlich reagieren können:
from mistralai.client import Mistral
from mistralai.client.errors import SDKError
client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))
try:
response = client.chat.complete(
model="mistral-large-latest",
messages=[{"role": "user", "content": "Test"}]
)
except SDKError as e:
print(f"API-Fehler: {e.status_code} — {e.message}")
Machen Sie es zur Gewohnheit, jeden Aufruf in diesem Block einzuschließen, ab Ihrem allerersten Skript. An dem Tag, an dem Ihre Anwendung unbeaufsichtigt läuft, wird es Ihnen mitteilen, was fehlgeschlagen ist, anstatt stumm zu stoppen.
Kernaussagen
- Der Endpunkt
/v1/chat/completionsist der einzige, der für interaktive Gespräche benötigt wird - Jede Anfrage erfordert ein
modelund einmessages-Array - Die Antwort enthält immer
choices,usageundfinish_reason - Das Python-SDK vereinfacht Aufrufe erheblich im Vergleich zu
curl - Usage-Tokens ermöglichen es Ihnen, Ihre Kosten präzise zu berechnen