Skip to main content
POST
CometAPI leitet Chat Completions über eine einzige OpenAI-kompatible Schnittstelle an mehrere Anbieter weiter, darunter OpenAI, Claude und Gemini. Wechseln Sie zwischen Modellen, indem Sie den Parameter model ändern; die meisten OpenAI-kompatiblen SDKs funktionieren, wenn base_url auf https://api.cometapi.com/v1 gesetzt wird.
Anfrageparameter und Antwortfelder können sich je nach Modellanbieter erheblich unterscheiden. Prüfen Sie die offizielle Dokumentation des Anbieters hinter dem verwendeten Modell, wenn Sie die vollständige Parameterliste oder anbieterspezifisches Verhalten benötigen. Beispielsweise gilt reasoning_effort nur für Reasoning-Modelle (o-series, GPT-5.1+), und einige Modelle unterstützen logprobs oder n > 1 nicht.
Verwenden Sie für OpenAI-Pro-Modelle, o-series Reasoning-Modelle und Codex-Modelle stattdessen den Responses Endpunkt. Diese Modellfamilien werden von der Responses API umfassender unterstützt.

Nachrichtenrollen

Bei neueren Modellen (GPT-4.1, GPT-5-Serie, o-series) sollten Sie für Anweisungsnachrichten developer gegenüber system bevorzugen. Beide funktionieren, aber developer sorgt für eine stärkere Befolgung von Anweisungen.

Multimodal-Eingaben senden

Viele Modelle unterstützen neben Text auch Bilder und Audio. Verwenden Sie zum Senden von Multimodal-Nachrichten das Array-Format für content:
Der Parameter detail steuert die Analysetiefe für Bilder:
  • low — schneller, verwendet weniger Tokens (feste Kosten)
  • high — detaillierte Analyse, verbraucht mehr Tokens
  • auto — das Modell entscheidet (Standard)

Antworten streamen

Um inkrementelle Ausgaben zu erhalten, setzen Sie stream auf true. Die Antwort wird als Server-Sent Events (SSE), wobei jedes Ereignis ein chat.completion.chunk-Objekt enthält:
Um Token-Nutzungsstatistiken in Streaming-Antworten einzuschließen, setzen Sie stream_options.include_usage auf true. Die Nutzungsdaten erscheinen im letzten Chunk vor [DONE].

Strukturierte Ausgabe anfordern

Um das Modell dazu zu zwingen, gültiges JSON zurückzugeben, das einem bestimmten Schema entspricht, verwenden Sie response_format:
Der JSON-Schema-Modus (json_schema) garantiert, dass die Ausgabe exakt Ihrem Schema entspricht. Der JSON-Object-Modus (json_object) garantiert nur gültiges JSON – die Struktur wird nicht erzwungen.

Tools und Funktionen aufrufen

Um dem Modell den Aufruf externer Funktionen zu ermöglichen, stellen Sie Tool-Definitionen bereit:
Wenn das Modell entscheidet, ein Tool aufzurufen, enthält die Antwort finish_reason: "tool_calls", und das Array message.tool_calls enthält den Funktionsnamen und die Argumente. Führen Sie anschließend die Funktion aus und senden Sie das Ergebnis als tool-Nachricht mit dem passenden tool_call_id zurück.

Hinweise anbieterübergreifend

  • max_tokens — Der Legacy-Parameter. Funktioniert mit den meisten Modellen, ist aber für neuere OpenAI-Modelle veraltet.
  • max_completion_tokens — Der empfohlene Parameter für GPT-4.1, die GPT-5-Serie und o-series-Modelle. Für Reasoning-Modelle erforderlich, da er sowohl Ausgabe-Tokens als auch Reasoning-Tokens umfasst.
CometAPI übernimmt beim Routing an verschiedene Anbieter automatisch die Zuordnung.
  • system — Die traditionelle Anweisungsrolle. Funktioniert mit allen Modellen.
  • developer — Mit o1-Modellen eingeführt. Bietet für neuere Modelle eine stärkere Befolgung von Anweisungen. Fällt bei älteren Modellen auf das Verhalten von system zurück.
Verwenden Sie developer für neue Projekte, die auf GPT-4.1+- oder o-series-Modelle ausgerichtet sind.

FAQ

Wie gehe ich mit Ratenlimits um?

Implementieren Sie bei Auftreten von 429 Too Many Requests exponentielles Backoff:

Wie kann der Unterhaltungskontext erhalten werden?

Fügen Sie den vollständigen Unterhaltungsverlauf in das Array messages ein:

Was bedeutet finish_reason?

Wie lassen sich Kosten kontrollieren?

  1. Verwenden Sie max_completion_tokens, um die Ausgabelänge zu begrenzen.
  2. Verwenden Sie gpt-5.6-terra für ein Gleichgewicht zwischen Leistungsfähigkeit und Kosten oder gpt-5.6-luna für effiziente Workloads mit hohem Volumen.
  3. Halten Sie Prompts prägnant – vermeiden Sie redundanten Kontext.
  4. Überwachen Sie die Token-Nutzung im Antwortfeld usage.

Autorisierungen

Authorization
string
header
erforderlich

Bearer token authentication. Use your CometAPI key.

Body

application/json
model
string
Standard:gpt-5.6-sol
erforderlich

Model ID to use for this request. See the Models page for current options.

Beispiel:

"gpt-4.1"

messages
object[]
erforderlich

A list of messages forming the conversation. Each message has a role (system, user, assistant, or developer) and content (text string or multimodal content array).

stream
boolean

If true, partial response tokens are delivered incrementally via server-sent events (SSE). The stream ends with a data: [DONE] message.

temperature
number
Standard:1

Sampling temperature between 0 and 2. Higher values (e.g., 0.8) produce more random output; lower values (e.g., 0.2) make output more focused and deterministic. Recommended to adjust this or top_p, but not both.

Erforderlicher Bereich: 0 <= x <= 2
top_p
number
Standard:1

Nucleus sampling parameter. The model considers only the tokens whose cumulative probability reaches top_p. For example, 0.1 means only the top 10% probability tokens are considered. Recommended to adjust this or temperature, but not both.

Erforderlicher Bereich: 0 <= x <= 1
n
integer
Standard:1

Number of completion choices to generate for each input message. Defaults to 1.

stop
string

Up to 4 sequences where the API will stop generating further tokens. Can be a string or an array of strings.

max_tokens
integer

Maximum number of tokens to generate in the completion. The total of input + output tokens is capped by the model's context length.

presence_penalty
number
Standard:0

Number between -2.0 and 2.0. Positive values penalize tokens based on whether they have already appeared, encouraging the model to explore new topics.

Erforderlicher Bereich: -2 <= x <= 2
frequency_penalty
number
Standard:0

Number between -2.0 and 2.0. Positive values penalize tokens proportionally to how often they have appeared, reducing verbatim repetition.

Erforderlicher Bereich: -2 <= x <= 2
logit_bias
object

A JSON object mapping token IDs to bias values from -100 to 100. The bias is added to the model's logits before sampling. Values between -1 and 1 subtly adjust likelihood; -100 or 100 effectively ban or force selection of a token.

user
string

A unique identifier for your end-user. Helps with abuse detection and monitoring.

max_completion_tokens
integer

An upper bound for the number of tokens to generate, including visible output tokens and reasoning tokens. Use this instead of max_tokens for GPT-4.1+, GPT-5 series, and o-series models.

response_format
object

Specifies the output format. Use {"type": "json_object"} for JSON mode, or {"type": "json_schema", "json_schema": {...}} for strict structured output.

tools
object[]

A list of tools the model may call. Currently supports function type tools.

tool_choice
Standard:auto

Controls how the model selects tools. auto (default): model decides. none: no tools. required: must call a tool.

logprobs
boolean
Standard:false

Whether to return log probabilities of the output tokens.

top_logprobs
integer

Number of most likely tokens to return at each position (0-20). Requires logprobs to be true.

Erforderlicher Bereich: 0 <= x <= 20
reasoning_effort
enum<string>

Controls the reasoning effort for o-series and GPT-5.1+ models.

Verfügbare Optionen:
low,
medium,
high
stream_options
object

Options for streaming. Only valid when stream is true.

service_tier
enum<string>

Specifies the processing tier.

Verfügbare Optionen:
auto,
default,
flex,
priority

Antwort

Successful chat completion response.

id
string

Unique completion identifier.

Beispiel:

"chatcmpl-abc123"

object
enum<string>

Object type. Non-streaming responses use chat.completion.

Verfügbare Optionen:
chat.completion
Beispiel:

"chat.completion"

created
integer

Unix timestamp of creation.

Beispiel:

1774412483

model
string

The model used (may include version suffix).

Beispiel:

"gpt-5.4-2026-03-05"

choices
object[]

Array of completion choices.

usage
object

Token accounting for this request. Billing uses these counts.

service_tier
string

Service tier that processed the request, when the provider reports one.

Beispiel:

"default"

system_fingerprint
string | null

Provider backend configuration fingerprint, when the provider reports one.

Beispiel:

"fp_490a4ad033"