API для разработчиков

Wello в ваших проектах

Единый HTTP-интерфейс к Claude и GPT по одному ключу. Эндпоинты совместимы с OpenAI и Anthropic — чтобы перейти, достаточно поменять baseURL и ключ. Оплата по факту (PAYG) с предоплаченного баланса, без подписок и месячных лимитов.

Содержание
Нужно скормить доку ИИ-ассистенту? Скопируйте её или скачайте в Markdown.

Что это

  • Один ключ — много моделей. Ключ wlo_live_… работает для всех моделей сразу.
  • Совместимость drop-in. Эндпоинты повторяют OpenAI Chat Completions и Anthropic Messages.
  • Оплата по факту. На балансе лежат предоплаченные средства, с них списывается стоимость каждого запроса.

Быстрый старт за 5 минут

  1. Войдите в кабинет на wello.dev → Разработчикам → API-ключи и создайте ключ. Он показывается один раз — сразу сохраните его.
  2. Пополните PAYG-баланс в разделе «Обзор».
  3. Сделайте первый запрос:
curl https://api.wello.dev/v1/chat/completions \
  -H "Authorization: Bearer $WELLO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4.6",
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

Аутентификация

Каждый запрос несёт ваш ключ wlo_live_…. Поддерживаются обе схемы — берите ту, что использует ваш инструмент:

  • OpenAI-стиль: Authorization: Bearer wlo_live_…
  • Anthropic-стиль: x-api-key: wlo_live_…

Ключ передаётся только в заголовке — в query-параметре он утекал бы в логи прокси, Referer и историю браузера. Базовый URL: https://api.wello.dev/v1 для инструментов формата OpenAI и https://api.wello.dev (без /v1) для формата Anthropic.

Модели и цены

Имя модели задаётся полем model. Цена — за 1 млн токенов, отдельно вход/выход. Полный список — запросом GET /v1/models.

Регистр не важен, точки и дефисы в версии взаимозаменяемы, допустим префикс провайдера: claude-sonnet-4-6, Claude-Sonnet-4.6 и anthropic/claude-sonnet-4.6 — это одна и та же модель.

МодельidКонтекстВход / Выход за 1М
Claude Fable 5NEWclaude-fable-5200k$4.00 / $4.00
Claude Opus 4.8claude-opus-4.8200k$2.00 / $2.00
Claude Opus 4.7claude-opus-4.7200k$2.00 / $2.00
Claude Sonnet 5NEWclaude-sonnet-5200k$1.60 / $1.60
Claude Sonnet 4.6claude-sonnet-4.6200k$1.60 / $1.60
Claude Haiku 4.5claude-haiku-4.5200k$1.35 / $1.35
GPT-5.5gpt-5.5400k$1.60 / $1.60
GPT-5.4gpt-5.4400k$1.35 / $1.35
Gemini 3.1 ProNEWgemini-3.1-pro1000k$1.60 / $1.60

Оплата (PAYG)

API оплачивается только по факту — режим pay-as-you-go. Стоимость запроса = (вход_токены / 1М × цена_входа) + (выход_токены / 1М × цена_выхода). Сколько токенов потрачено — видно в поле usage каждого ответа. Пока баланс положительный — запросы проходят; на нуле приходит 402, нужно пополнить.

Эндпоинты

МетодПутьНазначение
POST/v1/chat/completionsOpenAI Chat Completions (Bearer)
POST/v1/messagesAnthropic Messages (x-api-key)
POST/v1/responsesOpenAI Responses — для Codex CLI (Bearer)
GET/v1/modelsСписок доступных моделей
GET/v1/balanceБаланс и суммарные токены по ключу
GET/v1/usageИстория списаний (курсорная пагинация)

Wello — точный прокси: тело запроса уходит модели как есть. Всё, что умеет нативный формат (system, temperature, top_p, top_k, stop_sequences, metadata, tools, tool_choice, картинки на вход и т.д.), работает напрямую.

Исключение: у новых моделей Claude (Fable 5, Opus 4.8/4.7, Sonnet 5/4.6) параметры сэмплинга (temperature, top_p, top_k) объявлены устаревшими и моделью игнорируются — в формате Anthropic они молча отбрасываются, чтобы запрос не падал с ошибкой.

GET /v1/balance отдаёт { balance_cents, total_input_tokens, total_output_tokens, total_tokens_used }. GET /v1/usage принимает limit (1–100) и cursor; если next_cursor не пустой — передайте его в cursor за следующей страницей.

Стриминг

Добавьте "stream": true в тело запроса — ответ придёт потоком Server-Sent Events по мере генерации. Формат потока повторяет провайдера: OpenAI завершается строкой data: [DONE], Anthropic — событием message_stop. Официальные SDK разбирают поток сами.

Размышления

Модели с расширенными рассуждениями отдают ход мысли отдельно от финального ответа — через нативные механизмы своего формата, которые уходят как есть:

  • Модели формата OpenAI с рассуждениями стримят reasoning_content.
  • Для формата Anthropic рассуждения включаются параметром thinking.
  • Формат Responses принимает reasoning.effort (low / medium / high).

Особых заголовков не нужно — передавайте нативный параметр, и он дойдёт до модели.

Официальные SDK

Возьмите официальный SDK провайдера и подмените базовый URL и ключ.

OpenAI SDK · Node.js

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.WELLO_API_KEY,
  baseURL: "https://api.wello.dev/v1",
});

const r = await client.chat.completions.create({
  model: "claude-sonnet-4.6",
  messages: [{ role: "user", content: "Привет!" }],
});
console.log(r.choices[0].message.content);

OpenAI SDK · Python

from openai import OpenAI

client = OpenAI(api_key="wlo_live_...", base_url="https://api.wello.dev/v1")

r = client.chat.completions.create(
    model="claude-sonnet-4.6",
    messages=[{"role": "user", "content": "Привет!"}],
)
print(r.choices[0].message.content)

Anthropic SDK · Node.js

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.WELLO_API_KEY,
  baseURL: "https://api.wello.dev",
});

const msg = await client.messages.create({
  model: "claude-sonnet-4.6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Привет!" }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : "");

Anthropic SDK · Python

import anthropic

client = anthropic.Anthropic(api_key="wlo_live_...", base_url="https://api.wello.dev")

msg = client.messages.create(
    model="claude-sonnet-4.6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Привет!"}],
)
print(msg.content[0].text)

IDE и CLI

Claude Code, Cursor, Codex, OpenCode и расширения VS Code подключаются двумя настройками — адресом и ключом. Ниже — по шагам для каждого.

Перед началом
  1. 1
    Создайте ключ на вкладке API-ключи и сразу скопируйте, он показывается один раз (вид wlo_live_…).
  2. 2
    Пополните баланс в разделе «Обзор», API работает по предоплате.
  3. 3
    Везде ниже вместо wlo_live_YOUR_KEY вставляйте свой ключ, а имя модели берите со вкладки Модели (например claude-sonnet-4.6).

Адрес: инструменты формата OpenAI используют https://api.wello.dev/v1, формата Anthropic, https://api.wello.dev (без /v1). В шагах ниже нужный уже подставлен.

Claude Code

Anthropic

Терминальный ИИ-агент Anthropic, работает в командной строке (терминале).

  1. 1
    Установите Claude Code, если ещё нет. После установки проверьте версию командой claude --version:
    # Windows (PowerShell)
    irm https://claude.ai/install.ps1 | iex
    
    # macOS / Linux
    curl -fsSL https://claude.ai/install.sh | bash
  2. 2
    Быстрый запуск: вставьте эти строки в терминал (подставив свой ключ), Claude Code запустится на Wello:
    export ANTHROPIC_BASE_URL=https://api.wello.dev
    export ANTHROPIC_API_KEY=wlo_live_YOUR_KEY
    claude
  3. 3
    Чтобы не вводить каждый раз: создайте файл settings.json с этим блоком, сохраните, и дальше запускайте просто командой claude:
    {
      "$schema": "https://json.schemastore.org/claude-code-settings.json",
      "env": {
        "ANTHROPIC_BASE_URL": "https://api.wello.dev",
        "ANTHROPIC_API_KEY": "wlo_live_YOUR_KEY",
        "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4.8",
        "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4.6",
        "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4.5",
        "ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4.5"
      }
    }

    ~/.claude/settings.json · Windows: %USERPROFILE%\.claude\settings.json

    Три строки ANTHROPIC_DEFAULT_*_MODEL подменяют кнопки Opus / Sonnet / Haiku в меню /model на наши модели.

Cursor

OpenAI

ИИ-редактор кода. Подключается как «OpenAI-совместимый» провайдер.

Кастомный API в Cursor доступен только на платных планах (Pro и выше). Пробный Pro с кастомным эндпоинтом не работает.

  1. 1
    Откройте Cursor → Settings (значок шестерёнки) → раздел Models.
  2. 2
    Включите OpenAI API Key, затем «Override OpenAI Base URL» и вставьте туда https://api.wello.dev/v1.
  3. 3
    В поле ключа вставьте свой wlo_live_… и нажмите «Verify».
  4. 4
    Добавьте модели вручную: «Add model» → впишите id, например claude-sonnet-4.6 (и другие со вкладки Модели).
  5. 5
    Выберите добавленную модель в чате, готово.

Codex CLI

OpenAI

Терминальный ИИ-агент OpenAI. Работает через формат Responses API.

  1. 1
    Установите Codex (нужен Node.js) и проверьте codex --version:
    npm install -g @openai/codex
  2. 2
    Создайте файл ~/.codex/config.toml (если его нет) и вставьте:
    model = "gpt-5.5"
    model_provider = "wello"
    model_reasoning_effort = "high"
    
    [model_providers.wello]
    name = "Wello"
    base_url = "https://api.wello.dev/v1"
    wire_api = "responses"
    env_key = "WELLO_API_KEY"

    ~/.codex/config.toml · Windows: %USERPROFILE%\.codex\config.toml

    Важно: wire_api = "responses" обязателен, Codex работает только по Responses API.

  3. 3
    Задайте ключ в переменной окружения WELLO_API_KEY и запустите codex:
    export WELLO_API_KEY=wlo_live_YOUR_KEY
    codex

    На Windows вместо export используйте это, затем перезапустите терминал:

    setx WELLO_API_KEY wlo_live_YOUR_KEY

OpenCode

Anthropic

Терминальный ИИ-агент (open-source). Подключается через провайдер Anthropic.

  1. 1
    Установите OpenCode (инструкция на opencode.ai).
  2. 2
    Создайте файл ~/.config/opencode/opencode.jsonc и вставьте:
    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "anthropic": {
          "options": {
            "baseURL": "https://api.wello.dev/v1",
            "apiKey": "wlo_live_YOUR_KEY"
          }
        }
      }
    }

    ~/.config/opencode/opencode.jsonc · Windows: %USERPROFILE%\.config\opencode\opencode.jsonc

    Адрес с /v1, так и нужно для OpenCode (в отличие от Claude Code и Roo Code).

  3. 3
    Запустите opencode в терминале, он подхватит настройки.

OpenClaw

Anthropic

Автономный ИИ-агент. Подключается через кастомный провайдер (формат Anthropic).

  1. 1
    Получите ключ wlo_live_… на вкладке API-ключи и пополните PAYG-баланс.
  2. 2
    Откройте файл провайдеров OpenClaw и добавьте провайдер Wello (адрес без /v1, его дописывает клиент Anthropic):
    {
      "agents": {
        "defaults": { "model": { "primary": "wello/claude-sonnet-4.6" } }
      },
      "models": {
        "providers": {
          "wello": {
            "baseUrl": "https://api.wello.dev",
            "apiKey": "${WELLO_API_KEY}",
            "api": "anthropic-messages",
            "models": [
              { "id": "claude-opus-4.8", "name": "Claude Opus 4.8" },
              { "id": "claude-sonnet-4.6", "name": "Claude Sonnet 4.6" },
              { "id": "claude-haiku-4.5", "name": "Claude Haiku 4.5" }
            ]
          }
        }
      }
    }

    ~/.openclaw/agents/<id>/agent/models.json · Windows: %USERPROFILE%\.openclaw\agents\<id>\agent\models.json

  3. 3
    Передайте ключ в переменной окружения и запустите. В allowlist модель указывается как wello/имя-модели:
    export WELLO_API_KEY=wlo_live_YOUR_KEY
    openclaw

Hermes

OpenAI

Автономный агент Nous Research. Работает с любым OpenAI-совместимым эндпоинтом.

  1. 1
    Получите ключ wlo_live_… на вкладке API-ключи и пополните PAYG-баланс.
  2. 2
    Проще всего интерактивно: запустите команду, выберите «Custom endpoint», адрес https://api.wello.dev/v1, ключ wlo_live_… и модель (id со вкладки Модели):
    hermes model
  3. 3
    Или вручную в ~/.hermes/config.yaml (ключ лучше держать в ~/.hermes/.env):
    model:
      default: "claude-sonnet-4.6"
      provider: custom
      base_url: "https://api.wello.dev/v1"
      api_key: "wlo_live_YOUR_KEY"

    ~/.hermes/config.yaml · Windows: %USERPROFILE%\.hermes\config.yaml

Расширения VS Code

Cline, Roo Code, Kilo Code, Continue, ИИ-расширения для VS Code. Шаги одинаковые, отличается только провайдер и адрес (таблица ниже).

  1. 1
    Установите расширение из VS Code Marketplace (поиск по названию).
  2. 2
    Откройте настройки расширения и выберите провайдера из таблицы ниже.
  3. 3
    Вставьте адрес (Base URL) из таблицы и свой ключ wlo_live_….
  4. 4
    Выберите модель, её id со вкладки Модели.
ИнструментПровайдерАдрес (Base URL)
ClineOpenAI Compatiblehttps://api.wello.dev/v1
Roo CodeAnthropichttps://api.wello.dev
Kilo CodeOpenAI Compatiblehttps://api.wello.dev/v1
ContinueOpenAIhttps://api.wello.dev/v1

Любое OpenAI/Anthropic-совместимое приложение

Тот же приём подходит для LibreChat, Open WebUI, Jan, LM Studio, Chatbox и других клиентов. Укажите три вещи: адрес, ключ и модель.

  • OpenAI-совместимые: адрес https://api.wello.dev/v1, заголовок Authorization: Bearer wlo_live_….
  • Anthropic-совместимые: адрес https://api.wello.dev, заголовок x-api-key: wlo_live_….
  • Список доступных моделей: GET https://api.wello.dev/v1/models. Id моделей, на вкладке Модели.
ИнструментПровайдерАдрес (Base URL)
LibreChatOpenAI Compatiblehttps://api.wello.dev/v1
Open WebUIOpenAI Compatiblehttps://api.wello.dev/v1
JanOpenAI Compatiblehttps://api.wello.dev/v1
LM StudioOpenAI Compatiblehttps://api.wello.dev/v1
ChatboxOpenAI Compatiblehttps://api.wello.dev/v1

Внешний API работает только при положительном PAYG-балансе (в подписку не входит).

Что-то не вышло? Проверьте, что ключ вставлен целиком и баланс пополнен. Ключи, на вкладке API-ключи, вопросы, в поддержку @wellosupport.

Ошибки

Ошибки приходят в формате { "error": { "type", "message" } }.

HTTPtypeКогдаЧто делать
400invalid_request_errorНет model / пустой messages / неверный JSONПоправьте тело запроса
401authentication_errorКлюч не передан / неверен / отозванПроверьте ключ и заголовок
402insufficient_quotaНулевой балансПополните баланс
404invalid_request_errorНеизвестная модельСверьтесь с GET /v1/models
408server_errorТаймаут (тяжёлая модель на холодном старте)Повторите
409server_errorАккаунт ещё не подготовленПовторите через несколько секунд
429server_errorПревышен лимит запросовПовторите с паузой
500 / 502server_errorОшибка или недоступность шлюза моделиПовторите с экспоненциальной паузой
503server_errorСервис перегружен или временно недоступенПовторите чуть позже

Безопасно повторять 408, 429 и 5xx с нарастающей паузой. 4xx (кроме 429) повтором не лечится — сначала исправьте причину.

Лимиты

  • Размер тела запроса — до 32 MB (хватает на картинки в base64).
  • Таймаут — до 180 секунд (тяжёлые модели на «холодном старте» отвечают дольше).
  • При всплеске запросы встают в очередь, а не отбрасываются; на всякий случай держите ретраи на 429/503.

Безопасность ключей

  • Ключ — секрет уровня доступа к балансу. Держите его только на сервере, не в коде фронтенда.
  • Заводите отдельный ключ на каждый проект — так видно расход по каждому и можно отозвать только один.
  • Не коммитьте ключ в git (храните в .env). Утёк — отзовите в разделе «API-ключи» и создайте новый.

Частые вопросы

Нужна ли подписка, чтобы пользоваться API?

Нет. API — это отдельный режим оплаты по факту (PAYG) на предоплаченном балансе. Подписки веб-версии на API не действуют, и наоборот.

Какой формат выбрать — OpenAI или Anthropic?

Любой: оба дают доступ к тем же моделям. Берите тот, под который написан ваш код или заточен инструмент. Имя модели задаётся полем model независимо от формата, так что через OpenAI-формат можно вызвать и Claude.

Как узнать баланс и сколько я потратил?

Из кода: GET /v1/balance (текущий баланс + суммарные токены) и GET /v1/usage (история списаний с курсорной пагинацией). Точный расход одного запроса есть в поле usage его ответа. В кабинете то же наглядно: «Разработчикам» → «Использование» (тоталы, разбивка по моделям, фильтр по ключу).

Что будет при нулевом балансе?

Запросы начнут возвращать 402. Пополните баланс — и всё продолжит работать. Уже начатые запросы не прерываются.

Готовы начать?

Создайте ключ и сделайте первый запрос за пару минут.

Создать ключ
Документация API · Wello