Skip to main content
POST
CometAPI kieruje Chat Completions do wielu dostawców — w tym OpenAI, Claude i Gemini — za pośrednictwem jednego interfejsu zgodnego z OpenAI. Przełączaj modele, zmieniając parametr model; większość SDK zgodnych z OpenAI działa po ustawieniu base_url na https://api.cometapi.com/v1.
Parametry żądań i pola odpowiedzi mogą znacznie różnić się między dostawcami modeli. Gdy potrzebujesz pełnej listy parametrów lub zachowania charakterystycznego dla dostawcy, sprawdź oficjalną dokumentację dostawcy danego modelu. Na przykład reasoning_effort dotyczy wyłącznie modeli reasoning (o-series, GPT-5.1+), a niektóre modele nie obsługują logprobs ani n > 1.
W przypadku modeli OpenAI Pro, modeli reasoning o-series oraz modeli Codex użyj punktu końcowego Responses zamiast tego. Te rodziny modeli mają pełniejszą obsługę w API Responses.

Role wiadomości

W przypadku nowszych modeli (GPT-4.1, seria GPT-5, o-series) dla wiadomości z instrukcjami preferuj developer zamiast system. Oba działają, ale developer zapewnia lepsze stosowanie się do instrukcji.

Wysyłanie danych wejściowych Multimodal

Wiele modeli obsługuje obrazy i dźwięk wraz z tekstem. Aby wysyłać wiadomości Multimodal, użyj formatu tablicowego dla content:
Parametr detail kontroluje poziom szczegółowości analizy obrazu:
  • low — szybciej, zużywa mniej tokenów (stały koszt)
  • high — szczegółowa analiza, zużywa więcej tokenów
  • auto — model decyduje (domyślnie)

Strumieniowanie odpowiedzi

Aby otrzymywać dane wyjściowe przyrostowo, ustaw stream na true. Odpowiedź jest dostarczana jako zdarzenia wysyłane przez serwer (SSE), gdzie każde zdarzenie zawiera obiekt chat.completion.chunk:
Aby uwzględnić statystyki użycia tokenów w odpowiedziach Streaming, ustaw stream_options.include_usage na true. Dane o użyciu pojawiają się w ostatnim fragmencie przed [DONE].

Żądanie danych wyjściowych o ustrukturyzowanym formacie

Aby wymusić na modelu zwrócenie prawidłowego JSON zgodnego z określonym schematem, użyj response_format:
Tryb JSON Schema (json_schema) gwarantuje, że dane wyjściowe dokładnie odpowiadają Twojemu schematowi. Tryb JSON Object (json_object) gwarantuje jedynie prawidłowy JSON — struktura nie jest wymuszana.

Wywoływanie narzędzi i funkcji

Aby umożliwić modelowi wywoływanie funkcji zewnętrznych, podaj definicje narzędzi:
Gdy model zdecyduje się wywołać narzędzie, odpowiedź będzie zawierać finish_reason: "tool_calls", a tablica message.tool_calls będzie zawierać nazwę funkcji i argumenty. Następnie wykonaj funkcję i odeślij wynik jako wiadomość tool z pasującym tool_call_id.

Uwagi dotyczące różnych dostawców

  • max_tokens — Starszy parametr. Działa z większością modeli, ale jest wycofywany w nowszych modelach OpenAI.
  • max_completion_tokens — Zalecany parametr dla modeli GPT-4.1, serii GPT-5 i modeli o-series. Wymagany dla modeli reasoning, ponieważ obejmuje zarówno tokeny wyjściowe, jak i tokeny reasoning.
CometAPI automatycznie obsługuje mapowanie podczas kierowania żądań do różnych dostawców.
  • system — Tradycyjna rola instrukcji. Działa ze wszystkimi modelami.
  • developer — Wprowadzona wraz z modelami o1. Zapewnia lepsze stosowanie się do instrukcji przez nowsze modele. W starszych modelach przechodzi do zachowania system.
W nowych projektach kierowanych do modeli GPT-4.1+ lub o-series używaj developer.

FAQ

Jak obsługiwać limity szybkości?

W przypadku wystąpienia 429 Too Many Requests zastosuj wykładnicze opóźnienie ponownych prób:

Jak zachować kontekst rozmowy?

Uwzględnij pełną historię rozmowy w tablicy messages:

Co oznacza finish_reason?

Jak kontrolować koszty?

  1. Użyj max_completion_tokens, aby ograniczyć długość danych wyjściowych.
  2. Użyj gpt-5.6-terra dla równowagi między inteligencją a kosztem albo gpt-5.6-luna dla wydajnych obciążeń o dużej skali.
  3. Zachowuj zwięzłość Promptów — unikaj zbędnego kontekstu.
  4. Monitoruj użycie tokenów w polu odpowiedzi usage.

Autoryzacje

Authorization
string
header
wymagane

Bearer token authentication. Use your CometAPI key.

Treść

application/json
model
string
domyślnie:gpt-5.6-sol
wymagane

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

Przykład:

"gpt-4.1"

messages
object[]
wymagane

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
domyślnie: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.

Wymagany zakres: 0 <= x <= 2
top_p
number
domyślnie: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.

Wymagany zakres: 0 <= x <= 1
n
integer
domyślnie: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
domyślnie: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.

Wymagany zakres: -2 <= x <= 2
frequency_penalty
number
domyślnie:0

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

Wymagany zakres: -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
domyślnie:auto

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

logprobs
boolean
domyślnie: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.

Wymagany zakres: 0 <= x <= 20
reasoning_effort
enum<string>

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

Dostępne opcje:
low,
medium,
high
stream_options
object

Options for streaming. Only valid when stream is true.

service_tier
enum<string>

Specifies the processing tier.

Dostępne opcje:
auto,
default,
flex,
priority

Odpowiedź

Successful chat completion response.

id
string

Unique completion identifier.

Przykład:

"chatcmpl-abc123"

object
enum<string>

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

Dostępne opcje:
chat.completion
Przykład:

"chat.completion"

created
integer

Unix timestamp of creation.

Przykład:

1774412483

model
string

The model used (may include version suffix).

Przykład:

"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.

Przykład:

"default"

system_fingerprint
string | null

Provider backend configuration fingerprint, when the provider reports one.

Przykład:

"fp_490a4ad033"