Первый запрос к LLM

Heimdall совместим с OpenAI SDK. Если у тебя уже работает код с OpenAI или Anthropic — поменяешь 2 строки.

Самый быстрый тест — curl из терминала

Открой терминал (на Windows — PowerShell или Git Bash) и выполни:

curl https://heimdall-llm.com/v1/chat/completions \
  -H "Authorization: Bearer sk-bf-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4-5",
    "messages": [{"role":"user","content":"Привет!"}]
  }'

Подставь свой sk-bf-... вместо троеточия. Через 1-2 секунды получишь ответ:

{
  "choices": [{"message": {"role": "assistant", "content": "Привет! Чем могу помочь?"}}],
  "model": "claude-haiku-4-5-20251001",
  "usage": {"prompt_tokens": 10, "completion_tokens": 8, "total_tokens": 18}
}

Python — самый частый кейс

Установи OpenAI SDK (он совместим с Heimdall):

pip install openai

В коде:

from openai import OpenAI

client = OpenAI(
    base_url="https://heimdall-llm.com/v1",
    api_key="sk-bf-...",  # твой ключ
)

resp = client.chat.completions.create(
    model="claude-haiku-4-5",
    messages=[
        {"role": "system", "content": "Ты помощник, отвечающий кратко"},
        {"role": "user", "content": "Что такое REST API?"},
    ],
)
print(resp.choices[0].message.content)

Ключ не пиши в коде — положи в переменную окружения:

# в .env файле
HEIMDALL_API_KEY=sk-bf-...

# в коде
import os
api_key=os.environ["HEIMDALL_API_KEY"]

Node.js / TypeScript

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://heimdall-llm.com/v1",
  apiKey: process.env.HEIMDALL_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "deepseek-v4-flash",  // самая дешёвая опция
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(resp.choices[0].message.content);

Какую модель выбрать

Если хочешь...ИспользуйЦена провайдера (вход / выход за 1М токенов)
Самое умное для сложных задачclaude-opus-4-7$5 / $25
Универсальный балансclaude-sonnet-4-6$3 / $15
Дёшево и быстроclaude-haiku-4-5$1 / $5
Очень дёшевоdeepseek-v4-flash$0.027 / $0.11
Лучший tool-usegpt-5.4$2.5 / $15

Цены провайдеров без Heimdall fee — актуальны на 2026-05-12, могут меняться. Heimdall fee добавляется сверху и виден отдельной колонкой в дашборде. Точную цену конкретного запроса смотри в usage.

Псевдонимы (aliases)

Чтобы не привязываться к конкретной модели, используй псевдонимы:

Если завтра выйдет Claude 5 — мы перенаправим ceo на него, и твой код продолжит работать без изменений.

Streaming

Для чат-интерфейсов добавь "stream": true в запрос — будешь получать ответ по частям. SDK поддерживают это через генераторы:

stream = client.chat.completions.create(
    model="claude-haiku-4-5",
    messages=[...],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Типичные ошибки

HTTPЧто значитЧто делать
401Ключ невалидный или отозванПроверь что не опечатался. Если отозвал — создай новый.
403 MODEL_NOT_ALLOWEDЗапросил модель не из allowed_modelsОткрой ключ в дашборде → добавь модель в список.
429 DAILY_LIMIT_EXCEEDEDДневной бюджет ключа закончилсяПодожди до 00:00 UTC или подними бюджет.
429 RATE_LIMIT_EXCEEDEDСлишком много запросов в минутуПодожди или подними RPM в настройках ключа.
502 UPSTREAM_ERRORПровайдер (Anthropic/OpenAI) упалПовторить через 30 сек. На Pro+ — настрой fallback.