Wenn Ihr Code die Antwort des Modells parst, benötigen Sie JSON, das bei jedem Aufruf geparst werden kann. Auf der GetVibe API gibt es dafür drei Möglichkeiten: den json_object-Modus, den strikten json_schema-Modus und erzwungene Tool-Aufrufe. Die Modelle unterscheiden sich darin, welche dieser Möglichkeiten sie unterstützen. Dieser Artikel stellt die Matrix unseres Katalogs vor und zeigt, welcher Ansatz sich wo eignet.
Die drei Ansätze
response_format: {"type": "json_object"}: Das Modell gibt gültiges JSON zurück. Sie beschreiben die Felder im Prompt.response_format: {"type": "json_schema", ...}mitstrict: true: Das Modell füllt exakt das von Ihnen übergebene Schema aus. Unterstützt von GPT-5.x und kompatiblen Modellen.- Erzwungener Tool-Aufruf (
toolsplustool_choice, wobei eine Funktion angegeben wird): Das Modell gibt die Funktionsargumente als JSON zurück, das dem Parameterschema der Funktion entspricht. Jedes Textmodell in unserem Katalog unterstützt Tool-Aufrufe, daher ist dies die portable Option.
Die Matrix
Die Spalte für den JSON-Modus enthält caps.jsonMode aus https://getvibeapi.com/api/catalog, abgerufen am 25. September 2026.
| Modell | JSON-Modus | Tool-Aufrufe | Preis |
|---|---|---|---|
| GPT-6 Luna | ja | ja | $0.0055 Eingabe · $0.0274 Ausgabe pro 1 Mio. Tokens |
| GPT-6 Sol | ja | ja | $0.1096 Eingabe · $0.548 Ausgabe pro 1 Mio. Tokens |
| GPT-6 Astra | nein | ja | $0.548 Eingabe · $2.7398 Ausgabe pro 1 Mio. Tokens |
| GPT-5.6 Sol (auch Luna, Terra) | ja | ja | $0.0667 Eingabe · $0.40 Ausgabe pro 1 Mio. Tokens |
| Claude Opus 5.5 | ja | ja | $0.1067 Eingabe · $0.5334 Ausgabe pro 1 Mio. Tokens |
| Claude Sonnet 5 | ja | ja | $0.3334 Eingabe · $1.6667 Ausgabe pro 1 Mio. Tokens |
| Gemini 3.1 Pro | ja | ja | $0.2515 Eingabe · $1.5086 Ausgabe pro 1 Mio. Tokens |
| Gemini 3.8 Flash (auch 3.7 Flash) | nein | ja | $0.0097 Eingabe · $0.0483 Ausgabe pro 1 Mio. Tokens |
| DeepSeek V4.1 Flash | ja | ja | $0.0112 Eingabe · $0.0445 Ausgabe pro 1 Mio. Tokens |
| Qwen3.8 Max (auch 3.8 Flash) | ja | ja | $0.1543 Eingabe · $0.4629 Ausgabe pro 1 Mio. Tokens |
| Kimi K3 | ja | ja | $0.1715 Eingabe · $0.8572 Ausgabe pro 1 Mio. Tokens |
| MiniMax M3 | ja | ja | $0.0148 Eingabe · $0.0591 Ausgabe pro 1 Mio. Tokens |
| Tencent Hy4 Preview | ja | ja | $0.0334 Eingabe · $0.1001 Ausgabe pro 1 Mio. Tokens |
| GLM-5.3 (auch 5.3 Flash, 5.2) | nein | ja | $0.10 Eingabe · $0.3143 Ausgabe pro 1 Mio. Tokens |
Verwenden Sie bei Modellen mit der Kennzeichnung „nein“ einen erzwungenen Tool-Aufruf oder beschreiben Sie das JSON im Prompt und validieren Sie es auf Ihrer Seite.
Was der strikte Modus auf unserer Seite bewirkt
Bei strict: true in einer json_schema-Anfrage leitet das Gateway die Anfrage nur an Modellvarianten weiter, die das Schema tatsächlich einhalten. Dies geschieht bei jedem Versuch, einschließlich eines Wechsels zu einem Backup. Wenn keine geeignete Variante verfügbar ist, erhalten Sie den ausdrücklichen Fehler structured_output_unsupported statt Klartext, wenn JSON erwartet wurde. Diese Absicherung basiert auf unseren Messungen und deckt nur die von uns gemessenen Varianten ab.
Ein bekannter Fall: Die eigene API von DeepSeek verfügt über keinen json_schema-Modus. Verwenden Sie bei DeepSeek-Modellen json_object oder einen erzwungenen Tool-Aufruf, wenn Sie exakt eine bestimmte Struktur benötigen.
Beispiele
Striktes Schema:
from openai import OpenAI
import json
client = OpenAI(base_url="https://getvibeapi.com/v1", api_key="sk-pv-...")
schema = {
"type": "object",
"properties": {"name": {"type": "string"}, "score": {"type": "number"}},
"required": ["name", "score"],
"additionalProperties": False,
}
resp = client.chat.completions.create(
model="gpt-6-luna",
response_format={"type": "json_schema",
"json_schema": {"name": "review", "strict": True, "schema": schema}},
messages=[{"role": "user", "content": "Bewerten Sie dieses Produkt: schnelle Lieferung, sorgfältige Verpackung"}],
)
print(json.loads(resp.choices[0].message.content))
Erzwungener Tool-Aufruf, der auch bei Modellen ohne JSON-Modus funktioniert:
resp = client.chat.completions.create(
model="gemini-3.8-flash",
tools=[{"type": "function", "function": {"name": "save_review", "parameters": schema}}],
tool_choice={"type": "function", "function": {"name": "save_review"}},
messages=[{"role": "user", "content": "Bewerten Sie dieses Produkt: schnelle Lieferung, sorgfältige Verpackung"}],
)
args = json.loads(resp.choices[0].message.tool_calls[0].function.arguments)
Immer validieren
Prüfen Sie auch bei aktiviertem JSON-Modus das geparste Objekt anhand Ihres Schemas, bevor Sie es verwenden, und wiederholen Sie den Aufruf bei einem Fehler. Das ist besonders bei langen Ausgaben wichtig, da eine bei max_tokens abgeschnittene Antwort zu abgeschnittenem JSON führt. Prüfen Sie finish_reason: length bedeutet, dass die Antwort vorzeitig beendet wurde.
Nächste Schritte
Lesen Sie die Dokumentation zu strukturierten Ausgaben und den Leitfaden zu Tool-Aufrufen oder finden Sie ein kostengünstiges JSON-fähiges Modell in unserer Liste der günstigsten LLM-APIs.
