Developers

Documentation

A technical guide to integrating leading AI models through Oblion's unified API.

On this page

Using Claude Models

Claude models (claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5-20251001, and other 4.x variants — see Supported Models) work through the same /v1/chat/completions endpoint as every other model. Just set model to a Claude model id — no separate SDK or endpoint needed.

Basic request

curl https://api.oblion.io/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "Explain quantum entanglement in one sentence."}]
  }'
from openai import OpenAI

client = OpenAI(base_url="https://api.oblion.io/v1", api_key="YOUR_API_KEY")

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Explain quantum entanglement in one sentence."}],
)
print(response.choices[0].message.content)

System prompts

Claude follows the standard OpenAI system role message:

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {"role": "system", "content": "You are a terse assistant. Reply in one short sentence."},
        {"role": "user", "content": "What causes rain?"},
    ],
)

Choosing a Claude model

ModelBest for
claude-haiku-4-5-20251001Fastest, cheapest — simple tasks, high-volume requests
claude-sonnet-4-6Balanced speed/quality — the default choice for most apps
claude-opus-4-8Highest quality — complex reasoning, long-form writing, coding

See the full list of available Claude ids under Anthropic Claude in Supported Models.

Streaming

Set stream: true to receive the response as Server-Sent Events, exactly like OpenAI streaming:

stream = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Count from 1 to 5."}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Multi-turn conversations

Include prior assistant replies in messages to keep context, the same as any other model:

messages = [
    {"role": "user", "content": "My favorite color is teal."},
    {"role": "assistant", "content": "Got it — teal it is."},
    {"role": "user", "content": "What's my favorite color?"},
]
response = client.chat.completions.create(model="claude-sonnet-4-6", messages=messages)

Notes

  • Claude models here are 100% OpenAI-request-compatible — Anthropic-specific fields (e.g. max_tokens_to_sample from the native Anthropic SDK) are not required; use standard OpenAI parameters like max_tokens, temperature, and messages.
  • Some Claude ids require specific groups (e.g. Official-Relay Claude, Direct Claude) for higher throughput — if a request fails with a "no available channel" error, check which group your token is on.