Início / Documentação / API de conclusões de chat

API de conclusões de chat

POST /v1/chat/completions — o endpoint no formato OpenAI, para Cursor, LangChain, LiteLLM e os SDKs da OpenAI.

A interface compatível com OpenAI. Mesmos modelos, mesmos preços, estrutura diferente.

EndpointPOST https://aiprimetech.io/v1/chat/completions
URL base para SDKshttps://aiprimetech.io/v1 — observe o /v1
AutenticaçãoAuthorization: Bearer sk-...

Corpo da requisição

CampoTipoObrigatórioDescrição
modelstringsimQualquer ID de /v1/models, incluindo IDs do Claude
messagesarraysimAceita os papéis system, user e assistant
max_tokensinteironãoOpcional aqui, ao contrário da Messages API
temperaturenúmeronão0–2 na convenção da OpenAI
streambooleanonãotrue para blocos SSE
toolsarraynãoEstrutura de chamada de funções da OpenAI
Ao contrário de Messages, system é um papel aqui — coloque-o como a primeira entrada de messages. Não envie um campo de nível superior system para este endpoint.

Exemplo

curl https://aiprimetech.io/v1/chat/completions \
  -H "Authorization: Bearer $CLAUDEAPIKEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Resposta

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "claude-sonnet-4-6",
  "choices": [{
    "index": 0,
    "message": {"role": "assistant", "content": "..."},
    "finish_reason": "stop"
  }],
  "usage": {"prompt_tokens": 9, "completion_tokens": 12, "total_tokens": 21}
}

Como usar o SDK da OpenAI

from openai import OpenAI

client = OpenAI(
    api_key=class="s">"sk-your-key",
    base_url=class="s">"https://aiprimetech.io/v1",   class=class="s">"c"># the /v1 matters
)

resp = client.chat.completions.create(
    model=class="s">"claude-sonnet-4-6",
    messages=[{class="s">"role": class="s">"user", class="s">"content": class="s">"Hello"}],
)
print(resp.choices[0].message.content)

Mapeamento de campos entre os dois formatos

ConceitoMessagesChat Completions
Prompt de sistemano nível superior systemmessages[0] com o papel system
Texto da respostacontent[0].textchoices[0].message.content
Motivo da interrupçãostop_reasonfinish_reason
Tokens de entradausage.input_tokensusage.prompt_tokens
Tokens de saídausage.output_tokensusage.completion_tokens
Delta de streamingcontent_block_deltachoices[0].delta.content