Zum Inhalt springen
DeutschlandGPT

Response erstellen

Erstellt eine Modellantwort über die zustandslose Responses API. Eine Alternative zu /v2/chat/completions mit einem einfacheren Eingabeformat und umfangreicheren Streaming-Ereignissen.

Akzeptiert einen einfachen String oder ein Array von Eingabe-Items (Nachrichten und Tool-Ausgaben). Das Feld store muss weggelassen oder auf false gesetzt werden — nur der zustandslose Modus wird unterstützt.

Prompt-Caching (Anthropic-Modelle). Die Cache-Lebensdauer beträgt ausschließlich fünf Minuten — ttl: "1h" wird auf diesem Endpoint NICHT unterstützt. Markieren Sie das letzte Element eines unveränderlichen Präfixes mit cache_control, und dieses Präfix wird beim Anbieter zwischengespeichert; eine spätere Anfrage, die es Byte für Byte wiederholt, wird zum Cache-Read-Tarif abgerechnet. Ohne Ihre Markierung wird nichts gecacht — wir setzen niemals selbst Breakpoints, denn ob sich ein Cache-Write lohnt, hängt von Ihrem Zugriffsmuster ab, nicht von unserem. Jeder Cache lebt fünf Minuten — ttl: "1h" wird akzeptiert, aber noch nicht unterstützt und als marker_ttl_unsupported gemeldet statt angewandt. Siehe Abrechnung → Prompt-Caching.

Prompt-Caching (Mistral-Modelle). Mistral cacht Präfixe automatisch, cache_control bewirkt dort also nichts — senden Sie stattdessen prompt_cache_key: eine stabile Zeichenkette pro Konversation oder Sitzung, wiederholt bei jeder Anfrage mit gemeinsamem Präfix. Das Feld wird bedingungslos angewendet und kostet nichts extra (Mistral berechnet keinen Cache-Write-Aufschlag), Ihr Wert wird Ihrem Workspace zugeordnet, und ein Treffer ist eine Wahrscheinlichkeit, keine Zusage. Siehe Abrechnung → Mistral-Modelle.

POSThttps://api.deutschlandgpt.de/v2/responses

Beispielaufruf

curl https://api.deutschlandgpt.de/v2/responses \
  -X POST \
  -H "Authorization: Bearer $DGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "gpt-4o",
  "instructions": "You are a concise assistant. Answer in German.",
  "input": "",
  "stream": false,
  "temperature": 0,
  "max_output_tokens": 0,
  "tools": [
    {
      "type": "function",
      "name": "string",
      "parameters": {}
    }
  ],
  "tool_choice": "auto",
  "parallel_tool_calls": true,
  "text": {},
  "reasoning": {},
  "store": true,
  "prompt_cache_key": "conversation-42",
  "reasoning_effort": "none"
}'

Anfrage-Body

modelstringerforderlich

Zu verwendende Modell-ID (z. B. gpt-4o, o4-mini). Verfügbare Modelle mit /v2/models auflisten.

instructionsstring | nulloptional

Eine System- (bzw. Developer-)Nachricht, die als erstes Element in den Kontext des Modells eingefügt wird. Das Äquivalent zu einer system-Nachricht bei /v2/chat/completions. Enthält Ihr input-Array bereits ein system- oder developer-Element, wird dieser Text davor gestellt — der Endpoint unterstützt eine System-Nachricht pro Anfrage.

inputstring | object[]optional

Text-, Bild- oder Dateieingaben. Einen String für einen einzelnen Benutzer-Turn oder ein Array von Eingabe-Items für mehrstufige Unterhaltungen übergeben.

streambooleanoptional

Response als Server-Sent Events streamen. Ereignisse sind JSON-Objekte mit einem Feld type (z. B. response.output_text.delta, response.completed).

temperaturenumberoptional

Sampling-Temperatur (0–2). Höher = variablere Ausgabe.

max_output_tokensintegeroptional

Obergrenze für zu generierende Token. Alias: max_completion_tokens.

toolsobject[]optional

Funktionen, die das Modell aufrufen darf. Verwendet flaches Format — kein verschachteltes function-Objekt.

typestringerforderlich
namestringerforderlich
descriptionstringoptional
parametersobjecterforderlich

JSON Schema für Funktionsparameter

strictbooleanoptional
cache_controlCacheControloptional

Cacht die Tool-Definitionen (und damit auch den System-Prompt, da Anthropic Tools zuerst anordnet). Erfordert eine System-Nachricht in derselben Anfrage — ohne sie wird die Markierung verworfen und nicht auf die erste Nutzer-Nachricht verschoben, die sich bei jeder Anfrage aendert und daher nie zu einem Treffer fuehren wuerde.

typestringerforderlich
ttlstringoptional

Cache-Lebensdauer. Auf DIESEM Endpoint wird 1h NICHT UNTERSTUETZT: es wird akzeptiert, damit bestehende Integrationen weiterlaufen, der Breakpoint wird aber mit der Standard-Lebensdauer von fuenf Minuten gesetzt, zum Fuenf-Minuten-Tarif abgerechnet (1,25-facher Eingabetarif, nicht 2-facher) und als Warnung marker_ttl_unsupported in prompt_cache gemeldet. Da damit alle Breakpoints dieselbe Lebensdauer haben, wird das Mischen beider Werte akzeptiert und Anthropics Reihenfolge-Regel (1h vor 5m) nicht erzwungen. Auf /anthropic/v1/messages WIRD 1h beachtet, dort ist cache_control Anthropics eigenes Feld. Wo nichts gecacht wird, werden die Markierungen vollstaendig ignoriert.

tool_choicestring | objectoptional

Steuert, welches Tool (falls überhaupt) aufgerufen wird.

parallel_tool_callsbooleanoptional

Erlaubt dem Modell, mehrere Tools in einem einzigen Turn aufzurufen.

textobjectoptional

Konfiguration für Ausgabeformat und Ausführlichkeit.

formatobject | objectoptional

Ausgabeformat. json_schema für strukturierte Ausgabe verwenden (Streaming nicht unterstützt).

verbositystringoptional

Schränkt die Antwortlänge ein. low = prägnant, high = detailliert.

reasoningobjectoptional

Konfiguration für Reasoning-Modelle (für o3, o4-mini usw.).

effortstringoptional

Reasoning-Intensität. none deaktiviert erweitertes Denken und wird dem Modell auch so übergeben, es entstehen also keine Reasoning-Tokens und es werden keine berechnet. Nicht jedes Reasoning-Modell akzeptiert jeden Wert.

summarystring | nulloptional

Fordert eine Zusammenfassung des Reasonings an, die als reasoning-Output-Elemente zurückkommt (beim Streaming als response.reasoning_summary_*-Events). Wird nur von Reasoning-Modellen erzeugt und nur bei einem Effort über none.

generate_summarystring | nulloptional

Veralteter Alias für summary, wird für ältere OpenAI-SDKs akzeptiert. Bevorzugen Sie summary; sind beide gesetzt, gewinnt summary.

storebooleanoptional

Wird für OpenAI-SDK-Kompatibilität akzeptiert, aber immer als false behandelt — nur der zustandslose Modus wird unterstützt. Das Setzen auf true führt nicht zu einem Fehler; die Antwort wird dennoch nicht gespeichert.

prompt_cache_keystringoptional

Optionale stabile Kennung für Anfragen, die sich ein Prompt-Präfix teilen — eine Konversations-, Sitzungs- oder Workflow-ID. Erhöht die Prompt-Cache-Trefferquote bei Modellen, die Präfixe automatisch cachen (Mistral). Wird von Modellen ignoriert, die über explizite cache_control-Breakpoints cachen (Anthropic), sowie von Modellen ohne Prompt-Cache. Ihr Wert wird serverseitig Ihrem Workspace zugeordnet und kann daher nie mit einem anderen Tenant kollidieren oder auf dessen Cache zielen. Treffer sind Best-Effort und nie garantiert — ein Fehlschlag wird exakt wie eine ungecachte Anfrage abgerechnet, es geht also nichts verloren. Legen Sie keine Geheimnisse oder personenbezogenen Daten hinein.

reasoning_effortstringoptional

Alias für reasoning.effort, akzeptiert damit ein /v2/chat/completions-Request-Body unverändert auf diesem Endpoint funktioniert. Bei Angabe beider Felder gewinnt reasoning.effort.

Antwort

200application/json
{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 0,
  "status": "completed",
  "model": "string",
  "output": [
    {
      "id": "string",
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": null,
          "text": null,
          "annotations": null
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 0,
    "output_tokens": 0,
    "total_tokens": 0,
    "input_tokens_details": {
      "cached_tokens": 0,
      "cache_write_tokens": 0
    }
  },
  "prompt_cache_key": "string"
}

Response-Objekt oder SSE-Stream bei stream: true

Ebenfalls verfügbar als text/event-stream

idstring
objectstring
created_atinteger

Unix-Zeitstempel

statusstring
modelstring
outputobject[]
idstring
typestring
rolestring
contentobject[]
typestring
textstring
annotationsobject[]
usageobject
input_tokensinteger
output_tokensinteger
total_tokensinteger
input_tokens_detailsobject

Die Cache-Aufteilung von input_tokens, das die Gesamtsumme ist.

cached_tokensinteger

Eingabetokens aus dem Prompt-Cache, abgerechnet zum Cache-Read-Tarif, sofern Prompt-Caching fuer Ihre Organisation aktiviert ist.

cache_write_tokensinteger

In den Prompt-Cache geschriebene Eingabetokens. Nur vorhanden, wenn Prompt-Caching fuer Ihre Organisation aktiviert ist.

prompt_cache_keystring | null

Der von Ihnen gesendete prompt_cache_key, zurückgegeben. null, wenn Sie keinen gesendet haben.

Statuscodes

200

Response-Objekt oder SSE-Stream bei stream: true

object
400

Ungültige Anfrage oder stream: true mit json_schema

Error
401

Fehlender oder ungültiger API-Key

Error
402

Nicht genügend Guthaben

Error
403

Feature nicht aktiviert

Error
404

Modell nicht gefunden

Error
War diese Seite hilfreich?