Документация API

OpenAI-совместимый API - один ключ, все модели. Работает с любым SDK, библиотекой или инструментом, поддерживающим формат OpenAI или Anthropic.

Готовые конфиги для Cursor, Claude Code, OpenCode

Base URL

Адрес, который подставляется в параметр base_url любого OpenAI-совместимого клиента. Больше ничего менять не нужно.

https://cheapmodels.xyz/v1

Авторизация

Каждый запрос должен содержать заголовок Authorization с вашим API-ключом. Ключ создаётся в личном кабинете, раздел «Ключи».

curl https://cheapmodels.xyz/v1/chat/completions \ -H "Authorization: Bearer cm_live_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "cheapmodels/claude-opus-5.5", "messages": [{"role": "user", "content": "Hi"}]}'

Быстрый старт

Выберите язык, скопируйте код, подставьте свой API-ключ - и можно отправлять запросы.

Python

from openai import OpenAI client = OpenAI( base_url="https://cheapmodels.xyz/v1", api_key="cm_live_YOUR_API_KEY", ) response = client.chat.completions.create( model="cheapmodels/claude-opus-5.5", messages=[{"role": "user", "content": "Hello"}], ) print(response.choices[0].message.content)

JavaScript

import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://cheapmodels.xyz/v1", apiKey: "cm_live_YOUR_API_KEY", }); const response = await client.chat.completions.create({ model: "cheapmodels/claude-opus-5.5", messages: [{ role: "user", content: "Hello" }], });

Стриминг

Добавьте "stream": true в тело запроса, чтобы получать ответ потоком. Сервер присылает чанки по мере генерации, не дожидаясь полного ответа.

Чанки могут содержать дельты контента, рассуждений или вызовов инструментов. Завершение обозначается data: [DONE], если провайдер её отправляет, либо закрытием соединения.

curl https://cheapmodels.xyz/v1/chat/completions \ -H "Authorization: Bearer cm_live_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "cheapmodels/claude-opus-5.5", "messages": [{"role": "user", "content": "Hello"}], "stream": true }'

Список моделей

Метод GET /v1/models возвращает все доступные модели в формате OpenAI. Используйте значение поля id в параметре model при запросах.

curl https://cheapmodels.xyz/v1/models \ -H "Authorization: Bearer cm_live_YOUR_API_KEY"

Rate limits

При превышении лимита запросов API вернёт 429 с кодом rate_limit_exceeded. Подождите около 60 секунд и повторите запрос.

Лимиты токенов действуют в трёх окнах: 6 часов, 7 дней и 30 дней. При исчерпании - 429 «token_balance_exhausted».

Коды ошибок

СтатусКодОписание
401missing_authorizationЗаголовок Authorization отсутствует
401invalid_api_keyКлюч не найден или отозван
403account_inactiveАккаунт отключён администратором
403subscription_not_activeПодписка не активна - активируйте тариф
404model_not_foundМодель не найдена или неактивна
429rate_limit_exceededСлишком много запросов
429token_balance_exhaustedЛимит токенов тарифа исчерпан
503provider_unavailableПровайдер временно недоступен
400model_requiredВ теле запроса не указано поле model

Claude Code и Anthropic-формат

Если вы используете Claude Code или другой инструмент, работающий через Anthropic API, есть совместимый эндпоинт /v1/messages. Авторизация через x-api-key или Authorization: Bearer.

Переменные окружения для Claude Code:

ANTHROPIC_BASE_URL=https://cheapmodels.xyz ANTHROPIC_AUTH_TOKEN=cm_live_YOUR_API_KEY ANTHROPIC_MODEL=cheapmodels/claude-opus-5.5

Пример запроса к /v1/messages:

curl https://cheapmodels.xyz/v1/messages \ -H "x-api-key: cm_live_YOUR_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model": "cheapmodels/claude-opus-5.5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'

Оценка количества токенов:

POST /v1/messages/count_tokens