Design
Sprache

Strukturierte Ausgaben

Erzwingen Sie die JSON-Ausgabe mit response_format. Zwei Modi: json_object (beliebiges gültiges JSON) und json_schema (strikte Schemaeinhaltung). Beispiele in curl und Python.

Der Parameter response_format zwingt das Modell, gültiges JSON zurückzugeben. Es werden zwei Modi unterstützt.

json_object mode

Das Modell garantiert, dass die Ausgabe gültiges JSON ist. Sie definieren die Struktur im System-Prompt.

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "response_format": { "type": "json_object" },
    "messages": [
      {"role": "system", "content": "Reply with JSON with fields: name (string), score (number)."},
      {"role": "user", "content": "Rate this answer: very good"}
    ]
  }'

json_schema mode

Strikte JSON-Schema-Konformität — das Modell füllt genau die angegebenen Felder aus. Unterstützt von GPT-5.x und kompatiblen Modellen.

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "response_format": {
      "type": "json_schema",
      "json_schema": {
        "name": "review",
        "strict": true,
        "schema": {
          "type": "object",
          "properties": {
            "name": { "type": "string" },
            "score": { "type": "number", "minimum": 1, "maximum": 10 },
            "summary": { "type": "string" }
          },
          "required": ["name", "score", "summary"],
          "additionalProperties": false
        }
      }
    },
    "messages": [
      {"role": "user", "content": "Rate this product: fast delivery, careful packaging"}
    ]
  }'
Mit strict: true leitet das Gateway die Anfrage nur an Modellvarianten weiter, die das Schema tatsächlich berücksichtigen, und zwar bei jedem Versuch — einschließlich eines Wechsels zu einem Backup-Anbieter. Wenn derzeit keine geeignete Variante verfügbar ist, erhalten Sie einen ausdrücklichen structured_output_unsupported-Fehler statt einfachen Texts, obwohl JSON angefordert wurde. Diese Schutzmaßnahme basiert auf Messungen und deckt nur die von uns gemessenen Varianten ab: Bei einer nicht gemessenen Variante kann der Anbieter das Schema weiterhin stillschweigend verwerfen.
Modelle unterscheiden sich darin, wie zuverlässig sie JSON beibehalten – prüfen Sie Ihr Modell. Gemessen am 2026-09-12 auf deepseek-v4-flash-0731, 10 Aufrufe pro Zelle: json_object wurde in den :cxa- und :cxbc-Varianten jeweils 10/10-mal geparst und in :network 8/10-mal, während ein striktes json_schema bei beiden Varianten 0/10-mal geparst wurde (:cxa antwortet mit 400, :cxbc mit 200 und einfachem Text) und bei :network 3/10-mal. Die eigene API von DeepSeek verfügt über keinen json_schema-Modus – verwenden Sie json_object. Wenn Sie genau eine Form benötigen, lieferte ein erzwungener Funktionsaufruf (tools + tool_choice) bei jeder Variante in 10/10 Fällen parsbare Argumente. Die Zahlen pro Variante befinden sich im Feld structuredOutput von GET /v1/model-capabilities. Jede Zahl ist eine einmalige, mit ihrem Datum (measurement: "point-in-time") versehene Messung und keine Zusage: Der Anbieter hinter einer Variante kann Änderungen vornehmen, und wir führen keine regelmäßigen Neumessungen durch.

Beispielantwort

{
  "id": "chatcmpl-...",
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "{\"name\":\"product X\",\"score\":9,\"summary\":\"Fast and convenient\"}"
    },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 42, "completion_tokens": 18, "total_tokens": 60 }
}
GetVibe API strukturierte Ausgaben – JSON Schema, json_object, Python | GetVibe API