Skip to content

Chat

ChatCompletions

List available chat completion models
client.chat.completions.models(CompletionModelsParams { ending_before, limit, model_vendor, 3 more } query?, RequestOptionsoptions?): CompletionModelsResponse { items, object }
GET/v5/chat/completions/models
Generate OpenAI chat completion from messages
client.chat.completions.create(CompletionCreateParamsparams, RequestOptionsoptions?): CompletionCreateResponse | Stream<ChatCompletionChunk { id, choices, created, 5 more } >
POST/v5/chat/completions
ModelsExpand Collapse
ChatCompletion { id, choices, created, 5 more }
id: string
choices: Array<Choice>
finish_reason: "stop" | "length" | "tool_calls" | 2 more
One of the following:
"stop"
"length"
"tool_calls"
"content_filter"
"function_call"
index: number
message: Message { role, annotations, audio, 4 more }

A chat completion message generated by the model.

role: "assistant"
annotations?: Array<Annotation>
type: "url_citation"
url_citation: URLCitation { end_index, start_index, title, url }

A URL citation when using web search.

end_index: number
start_index: number
title: string
url: string
audio?: Audio { id, data, expires_at, transcript }

If the audio output modality is requested, this object contains data about the audio response from the model. Learn more.

id: string
data: string
expires_at: number
transcript: string
content?: string
function_call?: FunctionCall { arguments, name }

Deprecated and replaced by tool_calls.

The name and arguments of a function that should be called, as generated by the model.

arguments: string
name: string
refusal?: string
tool_calls?: Array<ChatCompletionMessageFunctionToolCall { id, function, type } | ChatCompletionMessageCustomToolCall { id, custom, type } >
One of the following:
ChatCompletionMessageFunctionToolCall { id, function, type }

A call to a function tool created by the model.

id: string
function: Function { arguments, name }

The function that the model called.

arguments: string
name: string
type: "function"
ChatCompletionMessageCustomToolCall { id, custom, type }

A call to a custom tool created by the model.

id: string
custom: Custom { input, name }

The custom tool that the model called.

input: string
name: string
type: "custom"
logprobs?: ChoiceLogprobs { content, refusal }

Log probability information for the choice.

content?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
refusal?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
created: number
model: string
object?: "chat.completion"
service_tier?: "auto" | "default" | "flex" | 2 more
One of the following:
"auto"
"default"
"flex"
"scale"
"priority"
system_fingerprint?: string
usage?: CompletionUsage { completion_tokens, prompt_tokens, total_tokens, 2 more }

Usage statistics for the completion request.

completion_tokens: number
prompt_tokens: number
total_tokens: number
completion_tokens_details?: CompletionTokensDetails { accepted_prediction_tokens, audio_tokens, reasoning_tokens, rejected_prediction_tokens }

Breakdown of tokens used in a completion.

accepted_prediction_tokens?: number
audio_tokens?: number
reasoning_tokens?: number
rejected_prediction_tokens?: number
prompt_tokens_details?: PromptTokensDetails { audio_tokens, cached_tokens }

Breakdown of tokens used in the prompt.

audio_tokens?: number
cached_tokens?: number
ChatCompletionChunk { id, choices, created, 5 more }
id: string
choices: Array<Choice>
delta: Delta { content, function_call, refusal, 2 more }

A chat completion delta generated by streamed model responses.

content?: string
function_call?: FunctionCall { arguments, name }

Deprecated and replaced by tool_calls.

The name and arguments of a function that should be called, as generated by the model.

arguments?: string
name?: string
refusal?: string
role?: "developer" | "system" | "user" | 2 more
One of the following:
"developer"
"system"
"user"
"assistant"
"tool"
tool_calls?: Array<ToolCall>
index: number
id?: string
function?: Function { arguments, name }
arguments?: string
name?: string
type?: "function"
index: number
finish_reason?: "stop" | "length" | "tool_calls" | 2 more
One of the following:
"stop"
"length"
"tool_calls"
"content_filter"
"function_call"
logprobs?: ChoiceLogprobs { content, refusal }

Log probability information for the choice.

content?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
refusal?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
created: number
model: string
object?: "chat.completion.chunk"
service_tier?: "auto" | "default" | "flex" | 2 more
One of the following:
"auto"
"default"
"flex"
"scale"
"priority"
system_fingerprint?: string
usage?: CompletionUsage { completion_tokens, prompt_tokens, total_tokens, 2 more }

Usage statistics for the completion request.

completion_tokens: number
prompt_tokens: number
total_tokens: number
completion_tokens_details?: CompletionTokensDetails { accepted_prediction_tokens, audio_tokens, reasoning_tokens, rejected_prediction_tokens }

Breakdown of tokens used in a completion.

accepted_prediction_tokens?: number
audio_tokens?: number
reasoning_tokens?: number
rejected_prediction_tokens?: number
prompt_tokens_details?: PromptTokensDetails { audio_tokens, cached_tokens }

Breakdown of tokens used in the prompt.

audio_tokens?: number
cached_tokens?: number
ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes }
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
ChoiceLogprobs { content, refusal }

Log probability information for the choice.

content?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
refusal?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
InferenceModelVendor = "openai" | "cohere" | "vertex_ai" | 9 more
One of the following:
"openai"
"cohere"
"vertex_ai"
"anthropic"
"azure"
"gemini"
"launch"
"llmengine"
"model_zoo"
"bedrock"
"xai"
"fireworks_ai"
ModelDefinition { model_name, model_type, model_vendor, model_availability }
model_name: string

model name, for example gpt-4o

model_type: InferenceModelType

model type, for example chat_completion

One of the following:
"generic"
"completion"
"chat_completion"
model_vendor: InferenceModelVendor

model vendor, for example openai

One of the following:
"openai"
"cohere"
"vertex_ai"
"anthropic"
"azure"
"gemini"
"launch"
"llmengine"
"model_zoo"
"bedrock"
"xai"
"fireworks_ai"
model_availability?: InferenceModelAvailability

model availability indicating availability status, for example available

One of the following:
"unknown"
"available"
"unavailable"
SortOrder = "asc" | "desc"
One of the following:
"asc"
"desc"
CompletionModelsResponse { items, object }
items: Array<ModelDefinition { model_name, model_type, model_vendor, model_availability } >
model_name: string

model name, for example gpt-4o

model_type: InferenceModelType

model type, for example chat_completion

One of the following:
"generic"
"completion"
"chat_completion"
model_vendor: InferenceModelVendor

model vendor, for example openai

One of the following:
"openai"
"cohere"
"vertex_ai"
"anthropic"
"azure"
"gemini"
"launch"
"llmengine"
"model_zoo"
"bedrock"
"xai"
"fireworks_ai"
model_availability?: InferenceModelAvailability

model availability indicating availability status, for example available

One of the following:
"unknown"
"available"
"unavailable"
object?: "list"
CompletionCreateResponse = ChatCompletion { id, choices, created, 5 more } | ChatCompletionChunk { id, choices, created, 5 more }
One of the following:
ChatCompletion { id, choices, created, 5 more }
id: string
choices: Array<Choice>
finish_reason: "stop" | "length" | "tool_calls" | 2 more
One of the following:
"stop"
"length"
"tool_calls"
"content_filter"
"function_call"
index: number
message: Message { role, annotations, audio, 4 more }

A chat completion message generated by the model.

role: "assistant"
annotations?: Array<Annotation>
type: "url_citation"
url_citation: URLCitation { end_index, start_index, title, url }

A URL citation when using web search.

end_index: number
start_index: number
title: string
url: string
audio?: Audio { id, data, expires_at, transcript }

If the audio output modality is requested, this object contains data about the audio response from the model. Learn more.

id: string
data: string
expires_at: number
transcript: string
content?: string
function_call?: FunctionCall { arguments, name }

Deprecated and replaced by tool_calls.

The name and arguments of a function that should be called, as generated by the model.

arguments: string
name: string
refusal?: string
tool_calls?: Array<ChatCompletionMessageFunctionToolCall { id, function, type } | ChatCompletionMessageCustomToolCall { id, custom, type } >
One of the following:
ChatCompletionMessageFunctionToolCall { id, function, type }

A call to a function tool created by the model.

id: string
function: Function { arguments, name }

The function that the model called.

arguments: string
name: string
type: "function"
ChatCompletionMessageCustomToolCall { id, custom, type }

A call to a custom tool created by the model.

id: string
custom: Custom { input, name }

The custom tool that the model called.

input: string
name: string
type: "custom"
logprobs?: ChoiceLogprobs { content, refusal }

Log probability information for the choice.

content?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
refusal?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
created: number
model: string
object?: "chat.completion"
service_tier?: "auto" | "default" | "flex" | 2 more
One of the following:
"auto"
"default"
"flex"
"scale"
"priority"
system_fingerprint?: string
usage?: CompletionUsage { completion_tokens, prompt_tokens, total_tokens, 2 more }

Usage statistics for the completion request.

completion_tokens: number
prompt_tokens: number
total_tokens: number
completion_tokens_details?: CompletionTokensDetails { accepted_prediction_tokens, audio_tokens, reasoning_tokens, rejected_prediction_tokens }

Breakdown of tokens used in a completion.

accepted_prediction_tokens?: number
audio_tokens?: number
reasoning_tokens?: number
rejected_prediction_tokens?: number
prompt_tokens_details?: PromptTokensDetails { audio_tokens, cached_tokens }

Breakdown of tokens used in the prompt.

audio_tokens?: number
cached_tokens?: number
ChatCompletionChunk { id, choices, created, 5 more }
id: string
choices: Array<Choice>
delta: Delta { content, function_call, refusal, 2 more }

A chat completion delta generated by streamed model responses.

content?: string
function_call?: FunctionCall { arguments, name }

Deprecated and replaced by tool_calls.

The name and arguments of a function that should be called, as generated by the model.

arguments?: string
name?: string
refusal?: string
role?: "developer" | "system" | "user" | 2 more
One of the following:
"developer"
"system"
"user"
"assistant"
"tool"
tool_calls?: Array<ToolCall>
index: number
id?: string
function?: Function { arguments, name }
arguments?: string
name?: string
type?: "function"
index: number
finish_reason?: "stop" | "length" | "tool_calls" | 2 more
One of the following:
"stop"
"length"
"tool_calls"
"content_filter"
"function_call"
logprobs?: ChoiceLogprobs { content, refusal }

Log probability information for the choice.

content?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
refusal?: Array<ChatCompletionTokenLogprob { token, logprob, top_logprobs, bytes } >
token: string
logprob: number
top_logprobs: Array<TopLogprob>
token: string
logprob: number
bytes?: Array<number>
bytes?: Array<number>
created: number
model: string
object?: "chat.completion.chunk"
service_tier?: "auto" | "default" | "flex" | 2 more
One of the following:
"auto"
"default"
"flex"
"scale"
"priority"
system_fingerprint?: string
usage?: CompletionUsage { completion_tokens, prompt_tokens, total_tokens, 2 more }

Usage statistics for the completion request.

completion_tokens: number
prompt_tokens: number
total_tokens: number
completion_tokens_details?: CompletionTokensDetails { accepted_prediction_tokens, audio_tokens, reasoning_tokens, rejected_prediction_tokens }

Breakdown of tokens used in a completion.

accepted_prediction_tokens?: number
audio_tokens?: number
reasoning_tokens?: number
rejected_prediction_tokens?: number
prompt_tokens_details?: PromptTokensDetails { audio_tokens, cached_tokens }

Breakdown of tokens used in the prompt.

audio_tokens?: number
cached_tokens?: number