Home / Docs / Chat Completions API

Chat Completions API

POST /v1/chat/completions — the OpenAI-format endpoint, for Cursor, LangChain, LiteLLM and the OpenAI SDKs.

The OpenAI-compatible surface. Same models, same prices, different envelope.

EndpointPOST https://aiprimetech.io/v1/chat/completions
Base URL for SDKshttps://aiprimetech.io/v1 — note the /v1
AuthAuthorization: Bearer sk-...

Request body

FieldTypeRequiredDescription
modelstringyesAny id from /v1/models, including Claude ids
messagesarrayyesSupports system, user and assistant roles
max_tokensintegernoOptional here, unlike the Messages API
temperaturenumberno0–2 in the OpenAI convention
streambooleannotrue for SSE chunks
toolsarraynoOpenAI function-calling shape
Unlike Messages, system is a role here — put it as the first entry of messages. Do not send a top-level system field to this endpoint.

Example

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"}]
  }'

Response

{
  "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}
}

Using the OpenAI SDK

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)

Field mapping between the two formats

ConceptMessagesChat Completions
System prompttop-level systemmessages[0] with role system
Reply textcontent[0].textchoices[0].message.content
Why it stoppedstop_reasonfinish_reason
Input tokensusage.input_tokensusage.prompt_tokens
Output tokensusage.output_tokensusage.completion_tokens
Stream deltacontent_block_deltachoices[0].delta.content