Completions
OpenAI-kompatible API-Endpunkte
Achtung
Unsere API unterstützt nicht alle Parameter, die OpenAI anbietet. Anfragen werden trotzdem akzeptiert und verarbeitet, jedoch werden nicht alle Parameter beachtet.
Unterstützte Parameter:
modelmessagesresponse_format(nur{ "type": "json_object" }oder{ "type": "text" }— OpenAIsjson_schema/Strict Structured Outputs wird aktuell nicht unterstützt)streamtemperaturetoolstool_choice
Der Reasoning-Effort bzw. das Reasoning-Level (z. B. OpenAIs reasoning_effort) lässt sich über die API derzeit nicht einstellen — Reasoning-Modelle verwenden bei API-Anfragen ihr Standard-Effort-Level.
Der content-Wert einer Nachricht muss reiner Text (String) sein — die API akzeptiert aktuell keine Bilder, Dateien oder sonstigen Anhänge (z. B. image_url-Content-Blöcke) in Chat-Completion-Anfragen. Für den Versand von Dateien oder Bildern stehen stattdessen die Assistant- bzw. Workflow-Ausführung über die API zur Verfügung.
Ein paar weitere Verhaltensweisen fallen bei der Migration von OpenAI besonders häufig auf.
Hinweis
Für schema-validierte JSON-Ausgaben ohne OpenAIs json_schema-Modus kannst Du stattdessen ein Tool definieren, dessen parameters das gewünschte JSON Schema sind, und tool_choice auf diese Funktion setzen ({"type": "function", "function": {"name": "..."}}). Das Modell ruft die Funktion dann mit Argumenten auf, die dem Schema entsprechen — Du liest die JSON-Daten aus tool_calls[0].function.arguments statt aus content.
Bei Reasoning-Modellen kommt zusätzlich eine Einschränkung beim temperature-Parameter hinzu:
Hinweis
Reasoning-Modelle verwenden intern einen festen temperature-Wert und können andere Werte ablehnen. Wenn du bei diesen Modellen einen Fehler erhältst, lasse temperature in der Anfrage weg oder entferne einen eventuellen Client-seitigen Standardwert.
Unabhängig davon gilt für die Modellauswahl selbst eine eigene Freischaltungslogik:
Hinweis
Nicht jedes Modell, das Du im MeinGPT-Chat siehst, ist automatisch über die API nutzbar. Welche Modelle für Deine Organisation freigeschaltet sind, legt ein Workspace-Admin fest (siehe Workspace-Konfiguration).
Rufe GET /models/v1 auf, um die exakte Liste der für Deinen API-Schlüssel freigeschalteten Modelle abzurufen, und verwende genau den Wert aus dem id-Feld als model in Deiner Anfrage.
Schickst Du eine model-ID, die es nicht mehr gibt (zum Beispiel weil das Modell eingestellt wurde), lehnt die API die Anfrage mit 400 und der Meldung Validation error: Invalid input at 'model' ab. Eingestellte Modell-IDs werden bei API-Aufrufen nicht auf ein Nachfolgemodell umgeleitet. Nur gespeicherte Verweise in Assistenten, Workflows und Chats werden automatisch migriert. Ersetze die ID durch eine aktuelle ID aus GET /models/v1. Hinweise zu eingestellten Modellen gehen in der Regel per E-Mail an Workspace-Admins; gib sie an die Teams weiter, die API-Integrationen betreiben.
Schickst Du einen model-Wert, der für Deine Organisation nicht freigeschaltet ist, antwortet die API mit 403 Forbidden und einer Fehlermeldung der Form:
{
"status": "error",
"message": "Model 'dein-modell-id' is not enabled for this organization."
}Diese Meldung unterscheidet sich vom allgemeinen 403-Fehler "Completions-API ist für die Organisation nicht aktiviert" (der die gesamte Completions-API betrifft, nicht ein einzelnes Modell). Kostenlose Modelle (aktuell GPT-5 Nano, API-ID gpt-5-nano) sind von dieser Einschränkung ausgenommen und immer verfügbar.
Ein weiterer 403-Fehler entsteht, wenn die Deinem Konto zugewiesene Nutzungsstufe ihr separates Limit für „API-Nutzung“ erreicht hat oder dort 0,00 € hinterlegt ist. Diese Prüfung läuft vor der Modell-Freischaltung und betrifft deshalb jedes kostenpflichtige Modell gleichermaßen - ein Modellwechsel hilft nicht. Ein Workspace-Admin kann Dir eine Nutzungsstufe mit API-Budget zuweisen.
https://app.meingpt.com/api/openai/v1/chat/completionsChat-Vervollständigung erstellen
Erstellt eine Modellantwort für die gegebene Chat-Konversation. Kompatibel mit OpenAIs Chat Completions API.
🔒 ApiKeyAuth
Parameter
| Parameter | In | Typ | Beschreibung |
|---|---|---|---|
| Authorization* | header | string | API-Schlüssel zur Authentifizierung. Verwende das Format 'Bearer <Dein-API-Schlüssel>'. |
Request Body · application/json
| Feld | Typ | Beschreibung |
|---|---|---|
| messages* | Array<ChatMessage> | Liste der bisherigen Nachrichten der Konversation |
| model* | string | ID des zu verwendenden Modells |
| response_format | object | |
| stream | boolean | Ob Teilergebnisse zurückgestreamt werden sollen |
| temperature | number | Sampling-Temperatur |
| tools | Array<object> | Tools (Funktionen), die das Modell aufrufen darf. Nicht jedes Modell unterstützt Tool Calling – eine Anfrage mit Tools an ein nicht unterstütztes Modell liefert 400. |
| tool_choice | "auto" | "none" | "required" | object | Steuert, welches Tool aufgerufen wird – 'auto', 'none', 'required' oder eine bestimmte Funktion. |
Responses
| Feld | Typ | Beschreibung |
|---|---|---|
| id | string | Eindeutige Kennung für die Chat-Vervollständigung |
| object | string | |
| created | number | Unix-Zeitstempel |
| model | string | Verwendetes Modell |
| choices | Array<object> | |
| usage | Usage |
| Feld | Typ | Beschreibung |
|---|---|---|
| status | string | |
| message | string |
| Feld | Typ | Beschreibung |
|---|---|---|
| status | string | |
| message | string |
| Feld | Typ | Beschreibung |
|---|---|---|
| status | string | |
| message | string |
| Feld | Typ | Beschreibung |
|---|---|---|
| status | string | |
| message | string |