Skip to content

Quickstart

Inferel’s API is OpenAI-compatible: any OpenAI SDK works by changing the base URL and key.

  1. Sign up or sign in at console.inferel.ai.
  2. Go to API Keys and click Create key.
  3. Copy the key immediately — for security it is shown only once. Store it in an environment variable:
Terminal window
export INFEREL_API_KEY="your-key-here"

New accounts need a credit balance before making paid requests — see Billing & credits to top up.

Terminal window
curl https://inference.inferel.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $INFEREL_API_KEY" \
-d '{
"model": "anthropic/claude-sonnet-4.6",
"messages": [
{"role": "user", "content": "Say hello from Inferel!"}
]
}'
from openai import OpenAI
client = OpenAI(
base_url="https://inference.inferel.ai/v1",
api_key="YOUR_INFEREL_API_KEY",
)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
messages=[{"role": "user", "content": "Say hello from Inferel!"}],
)
print(response.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://inference.inferel.ai/v1',
apiKey: process.env.INFEREL_API_KEY,
});
const response = await client.chat.completions.create({
model: 'anthropic/claude-sonnet-4.6',
messages: [{ role: 'user', content: 'Say hello from Inferel!' }],
});
console.log(response.choices[0].message.content);

Set stream: true to receive tokens as server-sent events. Inferel automatically includes a final usage chunk so you always know what a streamed request cost:

stream = client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
messages=[{"role": "user", "content": "Write a haiku about GPUs."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
  • Pick a model from the live catalogGET /v1/models always reflects what’s currently available.
  • Understand rate limits and how to set per-key limits.
  • Learn how errors are reported so your retries behave well.