Pular para o conteúdo principal
POST
/
openai
/
v1
/
chat
/
completions
Criar solicitação de conversa de chat
curl --request POST \
  --url https://api.highwayapi.ai/openai/v1/chat/completions \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "model": "<string>",
  "messages": [
    {
      "content": {
        "type": "<string>",
        "text": "<string>",
        "image_url": "<string>",
        "video_url": "<string>"
      },
      "role": "<string>",
      "name": "<string>"
    }
  ],
  "max_tokens": 123,
  "stream": {},
  "stream_options": {
    "include_usage": true
  },
  "n": {},
  "seed": {},
  "frequency_penalty": {},
  "presence_penalty": {},
  "repetition_penalty": {},
  "stop": {},
  "temperature": {},
  "top_p": {},
  "top_k": {},
  "min_p": {},
  "logit_bias": {},
  "logprobs": {},
  "top_logprobs": {},
  "tools": {
    "type": "<string>",
    "function": {
      "name": "<string>",
      "description": {},
      "parameters": {},
      "strict": true
    }
  },
  "response_format": {
    "type": "<string>",
    "json_schema": {
      "name": "<string>",
      "description": {},
      "schema": {},
      "strict": true
    }
  },
  "separate_reasoning": {},
  "enable_thinking": {}
}
'
{
  "choices": [
    {
      "finish_reason": "<string>",
      "index": 123,
      "message": {
        "role": "<string>",
        "content": {},
        "reasoning_content": {}
      }
    }
  ],
  "created": 123,
  "id": "<string>",
  "model": "<string>",
  "object": "<string>",
  "usage": {
    "completion_tokens": 123,
    "prompt_tokens": 123,
    "total_tokens": 123
  }
}
Gera uma resposta do modelo com base na conversa de chat especificada

Cabeçalhos da solicitação

Content-Type
string
obrigatório
Valores enumerados: application/json
Authorization
string
obrigatório
Formato de autenticação Bearer: Bearer {{API Key}}.

Corpo da solicitação

model
string
obrigatório
O nome do modelo a ser usado.
messages
object[]
obrigatório
Lista de mensagens que compõem a conversa atual.
max_tokens
integer
obrigatório
O número máximo de tokens a serem gerados na conclusão.Se sua instrução (mensagens anteriores) mais o número de tokens de max_tokens exceder o comprimento de contexto do modelo, o comportamento dependerá de context_length_exceeded_behavior. Por padrão, max_tokens será reduzido para caber na janela de contexto, em vez de retornar um erro.
stream
boolean | null
padrão:false
Se deve retornar o progresso parcial em streaming. Se definido, os tokens serão enviados como eventos enviados pelo servidor (SSE) exclusivos de dados à medida que ficarem disponíveis, e o stream será encerrado com uma mensagem data: [DONE].
stream_options
object | null
Opções para respostas em streaming. Defina isto apenas quando stream estiver definido como true.
n
integer | null
padrão:1
O número de conclusões a serem geradas para cada prompt.Observação: como este parâmetro gera muitas conclusões, ele pode consumir rapidamente sua cota de tokens. Use com cuidado e garanta que você tenha configurações razoáveis para max_tokens e stop.Intervalo obrigatório: 1 < x < 128
seed
integer | null
Se especificado, nosso sistema fará o melhor esforço para realizar a amostragem de forma determinística, de modo que solicitações repetidas com o mesmo seed e os mesmos parâmetros retornem os mesmos resultados.
frequency_penalty
number | null
padrão:0
Valores positivos penalizam novos tokens com base na frequência existente deles no texto, reduzindo a probabilidade de o modelo repetir as mesmas linhas palavra por palavra.Se o objetivo for apenas reduzir ligeiramente amostras repetidas, valores razoáveis ficam entre 0.1 e 1. Se o objetivo for suprimir fortemente a repetição, o coeficiente pode ser aumentado para 2, mas isso pode reduzir significativamente a qualidade da amostra. Valores negativos podem ser usados para aumentar a probabilidade de repetição.Consulte também presence_penalty, usado para penalizar tokens que apareceram pelo menos uma vez a uma taxa fixa.Intervalo obrigatório: -2 < x < 2
presence_penalty
number | null
padrão:0
Valores positivos penalizam novos tokens com base em eles já terem aparecido no texto, aumentando a probabilidade de o modelo falar sobre novos tópicos.Se o objetivo for apenas reduzir ligeiramente amostras repetidas, valores razoáveis ficam entre 0.1 e 1. Se o objetivo for suprimir fortemente a repetição, o coeficiente pode ser aumentado para 2, mas isso pode reduzir significativamente a qualidade da amostra. Valores negativos podem ser usados para aumentar a probabilidade de repetição.Consulte também frequency_penalty, usado para penalizar tokens a uma taxa crescente com base na frequência em que aparecem.Intervalo obrigatório: -2 < x < 2
repetition_penalty
number | null
Aplica uma penalidade a tokens repetidos para desencorajar ou incentivar repetições. Um valor de 1.0 significa que não há penalidade, permitindo repetição livre. Valores acima de 1.0 penalizam a repetição, reduzindo a probabilidade de tokens repetidos. Valores entre 0.0 e 1.0 recompensam a repetição, aumentando a chance de tokens repetidos. Para obter um bom equilíbrio, normalmente recomenda-se usar o valor 1.2. Observe que a penalidade se aplica à saída gerada e ao prompt em modelos somente decodificadores.Intervalo obrigatório: 0 < x < 2
stop
string | null
Até 4 sequências nas quais a API interromperá a geração de tokens adicionais. O texto retornado conterá a sequência de parada.
temperature
number | null
padrão:1
A temperatura de amostragem usada, entre 0 e 2. Valores mais altos, como 0.8, tornam a saída mais aleatória, enquanto valores mais baixos, como 0.2, a tornam mais focada e determinística.Geralmente recomendamos alterar isto ou top_p, mas não ambos.Intervalo obrigatório: 0 < x < 2
top_p
number | null
Um método alternativo à temperatura de amostragem, chamado amostragem de núcleo, no qual o modelo considera os resultados de tokens com massa de probabilidade top_p. Assim, 0.1 significa considerar apenas os tokens que compõem os 10% superiores da massa de probabilidade. Geralmente recomendamos alterar isto ou a temperatura, mas não ambos.Intervalo obrigatório: 0 < x <= 1
top_k
integer | null
A amostragem Top-k é outro método de amostragem no qual os k próximos tokens mais prováveis são filtrados, e a massa de probabilidade é redistribuída apenas entre esses k próximos tokens. O valor de k controla o número de candidatos a próximo token em cada etapa durante a geração de texto.Intervalo obrigatório: 1 < x < 128
min_p
number | null
Representa a probabilidade mínima para que tokens sejam considerados, em relação à probabilidade do token mais provável.Intervalo obrigatório: 0 <= x <= 1
logit_bias
map[string, integer] | null
Modifica a probabilidade de tokens especificados aparecerem na conclusão.Aceita um objeto JSON que mapeia tokens para valores de viés associados entre -100 e 100. Matematicamente, o viés é adicionado aos logits gerados pelo modelo antes da amostragem. O efeito exato varia conforme o modelo.Por exemplo, definir "logit_bias":{"1024": 6} aumentará a probabilidade dos tokens com ID de token 1024.
logprobs
boolean | null
padrão:false
Se deve retornar as probabilidades logarítmicas dos tokens de saída. Se true, retorna a probabilidade logarítmica de cada token de saída no conteúdo da mensagem.
top_logprobs
integer | null
Um inteiro entre 0 e 20 que especifica o número de tokens mais prováveis a retornar em cada posição de token, cada um com uma probabilidade logarítmica associada. Se este parâmetro for usado, logprobs deve ser definido como true.Intervalo obrigatório: 0 <= x <= 20
tools
object[] | null
Lista de ferramentas que o modelo pode chamar. Atualmente, apenas funções são suportadas como ferramentas. Use isto para fornecer uma lista de funções para as quais o modelo pode gerar entradas JSON.Saiba mais sobre chamadas de função no guia de chamadas de função.
response_format
object | null
Permite forçar o modelo a gerar um formato de saída específico.Defina como { "type": "json_schema", "json_schema": {...} } para habilitar saída estruturada, garantindo que o modelo corresponda ao JSON schema fornecido por você.Defina como { "type": "json_object" } para habilitar o modo JSON legado, garantindo que a mensagem gerada pelo modelo seja um JSON válido. Para modelos que oferecem suporte a isso, recomenda-se usar json_schema.
separate_reasoning
boolean | null
padrão:false
Se deve separar o raciocínio de “content” no campo “reasoning_content”.Modelos compatíveis:
  • deepseek/deepseek-r1-turbo
enable_thinking
boolean | null
padrão:true
Controla a alternância entre os modos de pensamento e sem pensamento.Modelos compatíveis:
  • zai-org/glm-4.5

Informações da resposta

choices
object[]
obrigatório
Lista de opções de conclusão de chat.
created
integer
obrigatório
O horário Unix (em segundos) em que a resposta foi gerada.
id
string
obrigatório
O identificador exclusivo da resposta.
model
string
obrigatório
O modelo usado para a conclusão de chat.
object
string
obrigatório
O tipo de objeto, sempre chat.completion.
usage
object
Estatísticas de uso.Para respostas em streaming, o campo usage é incluído no último bloco de resposta retornado.