Antbase/Documentation

Chat Completions

The main endpoint for sending messages and receiving AI responses. Fully OpenAI-compatible.

POST/v1/chat/completions

Create a chat completion with automatic model routing.

Request

Headers

HeaderRequiredDescription
AuthorizationYesBearer token with your API key
Content-TypeYesapplication/json
X-Antbase-SourceNoClient identifier for analytics

Body Parameters

ParameterTypeRequiredDescription
modelstringYesVirtual model (ant:auto) or real model name
messagesarrayYesArray of message objects
streambooleanNoStream response as SSE events
temperaturenumberNoSampling temperature (0-2)
max_tokensintegerNoMaximum tokens to generate
toolsarrayNoFunction definitions for tool use

Example Request

curl -X POST https://antbase.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ant:auto",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Explain recursion in programming."}
    ],
    "temperature": 0.7,
    "max_tokens": 500
  }'

Response

Response Body

{
  "id": "chatcmpl-abc123xyz",
  "object": "chat.completion",
  "created": 1708123456,
  "model": "anthropic/claude-haiku-4-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Recursion is a programming technique where a function calls itself..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 150,
    "total_tokens": 175
  }
}

ANT Response Headers

HeaderExampleDescription
X-Antbase-Modelanthropic/claude-haiku-4-5Actual model used
X-Antbase-Virtual-Modelant:autoRequested virtual model
X-Antbase-Task-TypecodingDetected task type
X-Antbase-Complexitymediumsimple, medium, or complex
X-Antbase-Tokens-Saved45Tokens saved by optimization

Streaming

Set "stream": true to receive Server-Sent Events.

data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"}}]}

data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" world"}}]}

data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

Tool Use (Function Calling)

Define tools for the model to use. ANT passes these to the underlying model.

{
  "model": "ant:auto",
  "messages": [{"role": "user", "content": "What's the weather in Paris?"}],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get current weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": { "type": "string", "description": "City name" }
          },
          "required": ["location"]
        }
      }
    }
  ]
}