Usage
haimaker returns the OpenAI compatible usage object across all providers.
"usage": {
"prompt_tokens": int,
"completion_tokens": int,
"total_tokens": int
}
Quick Start
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.haimaker.ai/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hello, how are you?"}]
)
print(response.usage)
# Usage(prompt_tokens=12, completion_tokens=9, total_tokens=21)
print(f"Prompt tokens: {response.usage.prompt_tokens}")
print(f"Completion tokens: {response.usage.completion_tokens}")
print(f"Total tokens: {response.usage.total_tokens}")
Streaming Usage
When streaming, set stream_options={"include_usage": True} to receive usage statistics. An additional chunk will be streamed before the [DONE] message containing the token usage for the entire request.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.haimaker.ai/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
stream=True,
stream_options={"include_usage": True}
)
for chunk in response:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")
if chunk.usage:
print(f"\n\nUsage: {chunk.usage}")
cURL
curl https://api.haimaker.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "openai/gpt-4o",
"messages": [{"role": "user", "content": "Hello!"}]
}'
Response includes usage:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1694268190,
"model": "gpt-4o",
"choices": [...],
"usage": {
"prompt_tokens": 8,
"completion_tokens": 12,
"total_tokens": 20
}
}