v47

latestOpenAPI 3.1.0raw.githubusercontent.com2026-06-181,0851,7264.5 MB
OpenAI Chat

Create a chat completion (OpenAI-compatible)

Chat with a language model. This endpoint is consistent with the OpenAI Chat Completions API and may be used with the OpenAI JS or Python SDK by setting the base URL to https://api.telnyx.com/v2/ai/openai.

post/ai/openai/chat/completions

Request body

modelstring

The language model to chat with.

api_key_refstring

If you are using an external inference provider like xAI or OpenAI, this field allows you to pass along a reference to your API key. After creating an integration secret for you API key, pass the secret's identifier in this field.

streamboolean

Whether or not to stream data-only server-sent events as they become available.

temperaturenumber

Adjusts the "creativity" of the model. Lower values make the model more deterministic and repetitive, while higher values make the model more random and creative.

max_tokensinteger

Maximum number of completion tokens the model should generate.

tool_choice'none' | 'auto' | 'required'
guided_jsonobject

Must be a valid JSON schema. If specified, the output will follow the JSON schema.

guided_regexstring

If specified, the output will follow the regex pattern.

guided_choicestring[]

If specified, the output will be exactly one of the choices.

min_pnumber

This is an alternative to top_p that many prefer. Must be in [0, 1].

nnumber

This will return multiple choices for you instead of a single chat completion.

use_beam_searchboolean

Setting this to true will allow the model to explore more completion options. This is not supported by OpenAI.

best_ofinteger

This is used with use_beam_search to determine how many candidate beams to explore.

length_penaltynumber

This is used with use_beam_search to prefer shorter or longer completions.

early_stoppingboolean

This is used with use_beam_search. If true, generation stops as soon as there are best_of complete candidates; if false, a heuristic is applied and the generation stops when is it very unlikely to find better candidates.

logprobsboolean

Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the content of message.

top_logprobsinteger

This is used with logprobs. An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability.

frequency_penaltynumber

Higher values will penalize the model from repeating the same output tokens.

presence_penaltynumber

Higher values will penalize the model from repeating the same output tokens.

top_pnumber

An alternative or complement to temperature. This adjusts how many of the top possibilities to consider.

seedinteger

If specified, the system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result.

enable_thinkingboolean

Whether to enable the thinking/reasoning phase for models that support it (e.g., QwQ, Qwen3). When set to false, the model will skip the internal reasoning step and respond directly, which can reduce latency. Defaults to true.

Example request

{
  "messages": [
    {
      "role": "system",
      "content": "You are a friendly chatbot."
    },
    {
      "role": "user",
      "content": "Hello, world!"
    }
  ]
}

Response

Successful Response

object required