Zum Inhalt springen
DeutschlandGPT

Chat-Vervollständigung erstellen

Erstellt eine Modellantwort für die angegebene Chat-Konversation. OpenAI-kompatibel — richten Sie ein OpenAI SDK auf die Platform API Basis-URL und tauschen Sie den API-Key aus, um die meisten Apps zu migrieren.

Unterstützt Streaming via SSE (stream: true), Function Calling, strukturierte Ausgabe (json_schema) und multimodale Eingabe (Bilder, Dateien).

Unterstützte Anfrage-Felder: messages, model, max_completion_tokens, temperature, tools, parallel_tool_calls, reasoning_effort, response_format, stream, stream_options, prompt_cache_key. Andere OpenAI-Felder — einschließlich des veralteten max_tokens (verwenden Sie max_completion_tokens), top_p, n, stop, presence_penalty, frequency_penalty, seed, user, logit_bias und tool_choice — werden stillschweigend ignoriert. Wenn Sie tool_choice benötigen, verwenden Sie /v2/responses.

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/chat/completionsAusprobieren

Beispielaufruf

curl https://api.deutschlandgpt.de/v2/chat/completions \
  -X POST \
  -H "Authorization: Bearer $DGPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "messages": [
    {
      "role": "system",
      "content": null
    }
  ],
  "model": "gpt-4o",
  "max_completion_tokens": 0,
  "temperature": 0,
  "stream": false,
  "stream_options": {},
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "string"
      }
    }
  ],
  "parallel_tool_calls": true,
  "reasoning_effort": "none",
  "response_format": {
    "type": "text"
  },
  "prompt_cache_key": "conversation-42"
}'

Anfrage-Body

messagesMessage[]erforderlich

Konversationsverlauf. Fügen Sie system-, user-, assistant-, tool- und developer-Nachrichten ein.

modelstringerforderlich

Modell-ID (z. B. gpt-4o, claude-4.5-sonnet, gemini-2.5-flash). Verwenden Sie /v2/models, um verfügbare Textmodelle aufzulisten.

max_completion_tokensintegeroptional

Obergrenze für generierte Token, einschließlich sichtbarer Ausgabe und Reasoning-Token.

temperaturenumberoptional

Sampling-Temperatur (0–2). Höher = zufälligere Ausgabe. Setzen Sie nicht gleichzeitig temperature und top_p.

streambooleanoptional

Wenn true, werden inkrementelle Token als Server-Sent Events gestreamt. Jede data:-Zeile ist ein JSON-Delta. Der Stream endet mit data: [DONE]. Nicht kompatibel mit dem json_schema-Antwortformat.

stream_optionsobjectoptional

Optionen für Streaming-Antworten. Nur gültig, wenn stream: true.

include_usagebooleanoptional

Wenn true, wird ein abschließendes Chunk mit Token-Nutzungsstatistiken vor [DONE] gesendet.

toolsFunctionTool[]optional

Funktionen, die das Modell aufrufen kann. Wenn das Modell eine Funktion aufruft, geben Sie das Ergebnis in einer tool-Nachricht zurück.

typestringerforderlich
functionobjecterforderlich
namestringerforderlich

Funktionsname (a-z, A-Z, 0-9, Unterstriche, Bindestriche)

descriptionstringoptional

Was die Funktion tut — wird vom Modell verwendet, um zu entscheiden, wann sie aufgerufen wird

parametersobjectoptional

JSON Schema, das die Funktionsparameter beschreibt

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.

parallel_tool_callsbooleanoptional

Dem Modell erlauben, mehrere Tools in einem einzigen Schritt aufzurufen.

reasoning_effortstringoptional

Reasoning-Budget für Reasoning-Modelle (z. B. o3, o4-mini). Niedriger = schneller und günstiger; none deaktiviert erweitertes Denken.

response_formatobject | objectoptional

Ausgabeformat einschränken. Verwenden Sie json_schema für strukturierte Ausgabe (Streaming wird nicht unterstützt).

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.

Antwort

200application/json
{
  "id": "chatcmpl-xR4qT5Uy",
  "object": "chat.completion",
  "created": 0,
  "model": "string",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "string",
        "tool_calls": [
          null
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 0,
    "completion_tokens": 0,
    "total_tokens": 0,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "cache_write_tokens": 0
    }
  },
  "prompt_cache": {
    "cache_write_tokens": {
      "5m": 0,
      "1h": 0
    },
    "warnings": [
      {
        "code": "breakpoint_limit_exceeded",
        "message": "string"
      }
    ]
  }
}

Chat-Vervollständigung (JSON) oder SSE-Stream, wenn stream: true

Ebenfalls verfügbar als text/event-stream

idstring
objectstring
createdinteger

Unix-Zeitstempel

modelstring
choicesChatCompletionChoice[]
indexinteger
messageobject
rolestring
contentstring | null
tool_callsToolCall[]
finish_reasonstring | null
usageUsage
prompt_tokensinteger
completion_tokensinteger
total_tokensinteger
prompt_tokens_detailsobject

Die Cache-Aufteilung von prompt_tokens. prompt_tokens ist die GESAMTSUMME; diese Werte sind Teilmengen davon, keine Ergaenzungen.

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_cacheobject

DeutschlandGPT-Erweiterung. Was mit den gesendeten cache_control-Breakpoints passiert ist. Fehlt vollstaendig, wenn es nichts zu melden gibt; eine Anfrage ohne cache_control bleibt also unveraendert. Siehe Abrechnung -> Prompt-Caching.

cache_write_tokensobject

Cache-Write-Tokens nach TTL, wie vom Anbieter gemeldet: 125% des Eingabetarifs fuer 5m, 200% fuer 1h. Auf /v2/chat/completions und /v2/responses ist das 1h-Kontingent immer 0, weil diese Endpoints den Ein-Stunden-Cache nicht unterstuetzen und einen ttl: "1h"-Breakpoint mit der Fuenf-Minuten-Lebensdauer schreiben.

5minteger

Tokens written at the default 5-minute TTL.

1hinteger

Tokens written at the extended 1-hour TTL.

warningsobject[]

Breakpoints, die nicht genau wie geschrieben umgesetzt werden konnten. Nur vorhanden, wenn mindestens einer betroffen war.

codestringerforderlich

Stable machine-readable reason, so a client can branch without parsing prose.

messagestringerforderlich

Human-readable explanation naming the affected position.

Statuscodes

200

Chat-Vervollständigung (JSON) oder SSE-Stream, wenn stream: true

ChatCompletionResponse
400

Validierungsfehler oder nicht unterstützte Kombination

Error
401

Fehlender oder ungültiger API-Key

Error
402

Nicht genügend Guthaben

Error
403

Funktion für diesen Workspace nicht aktiviert

Error
404

Modell nicht gefunden

Error
War diese Seite hilfreich?