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

Подключение за пять минут

Всё, что нужно разработчику: адрес API, авторизация, параметры, модели, ошибки и примеры на популярных языках. Ниже — правила сервиса и оферта.

Xyvero — шлюз к языковым моделям с OpenAI-совместимым API. Один ключ и один баланс в рублях дают доступ к Claude, GPT, Grok, DeepSeek, Gemini, Kimi, Qwen и GLM. Вы платите только за фактически израсходованные токены — без подписки и минимальных платежей.

Базовый URL
https://xyvero.store/v1https://api.xyvero.store/v1резервный
Формат
OpenAI Chat Completions и Anthropic Messages
Авторизация
Bearer sk_live_…
  1. Создайте аккаунтРегистрация занимает минуту — нужен только email и пароль.
  2. Пополните балансРаздел «Счёт и оплата»: СБП, карта РФ, CryptoBot, xRocket или Telegram Stars. Минимум — 20 ₽.
  3. Создайте API-ключРаздел «Ключи». Секрет показывается один раз — сохраните его в менеджер паролей или переменную окружения.
  4. Отправьте первый запросИспользуйте пример ниже или любой OpenAI-совместимый SDK.
Первый запрос
export XYVERO_KEY="sk_live_..."

curl https://xyvero.store/v1/chat/completions \
  -H "Authorization: Bearer $XYVERO_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5.5",
    "messages": [{"role": "user", "content": "Привет! Кто ты?"}]
  }'
Ответ
{
  "id": "chatcmpl-1a2b3c4d",
  "object": "chat.completion",
  "model": "claude-sonnet-5.5",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "Привет! Я ассистент…" },
    "finish_reason": "stop"
  }],
  "usage": { "prompt_tokens": 12, "completion_tokens": 48, "total_tokens": 60 }
}

Каждый запрос к API подписывается ключом в заголовке Authorization. Ключ начинается с sk_live_.

Shell
Authorization: Bearer sk_live_...
  • Ключей можно создать до 20 активных — удобно разделять проекты, окружения и сотрудников.
  • На ключе задаются бюджет токенов, лимит запросов в минуту и список разрешённых моделей.
  • Мы храним только хеш ключа. Если секрет потерян — удалите ключ и создайте новый.
  • Остаток токенов ключа виден в кабинете, в разделе «Ключи»; список доступных ключу моделей отдаёт GET {base}/models.

POST {base}/chat/completions — основной эндпоинт. Принимает историю сообщений и возвращает ответ модели. Формат полностью совпадает с OpenAI, поэтому работают любые существующие клиенты.

С системным промптом
{
  "model": "gpt-5.6-sol",
  "max_tokens": 800,
  "temperature": 0.3,
  "messages": [
    { "role": "system", "content": "Ты — лаконичный технический редактор." },
    { "role": "user", "content": "Сократи этот абзац до двух предложений: …" }
  ]
}

Список доступных вашему ключу моделей — GET {base}/models. Если на ключе задан список моделей, вернутся только они.

ПараметрТипОписание
modelstring, обязательноID модели из каталога, например claude-sonnet-5.5
messagesarray, обязательноИстория диалога: объекты { role, content }. Роли: system, user, assistant, tool
max_tokensintegerМаксимум токенов в ответе. Ограничен лимитом модели
streambooleantrue — ответ приходит потоком SSE
temperaturenumber 0–2Случайность ответа. Меньше — точнее и предсказуемее
top_pnumber 0–1Nucleus-сэмплирование, альтернатива temperature
stopstring | string[]Последовательности, на которых генерация останавливается
toolsarrayОписание функций, которые модель может вызвать
tool_choicestring | objectauto, none или принудительный вызов конкретной функции
response_formatobject{ "type": "json_object" } — ответ строго в JSON
presence_penaltynumberШтраф за повторение тем
frequency_penaltynumberШтраф за повторение слов
userstringВаш идентификатор конечного пользователя — удобно для аналитики

Передайте "stream": true — ответ придёт в формате Server-Sent Events: строки data: {…}, в конце data: [DONE]. Последний чанк содержит usage с итоговым расходом токенов.

Python · стрим
from openai import OpenAI

client = OpenAI(base_url="https://xyvero.store/v1", api_key="sk_live_...")

stream = client.chat.completions.create(
    model="claude-sonnet-5.5",
    messages=[{"role": "user", "content": "Напиши хайку про токены"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Вызов функций (tools, tool_choice) и режим строгого JSON (response_format) передаются провайдеру как есть — поддержка зависит от модели (смотрите колонку «tools» в каталоге).

Вызов функции
{
  "model": "gpt-5.6-sol",
  "messages": [{ "role": "user", "content": "Какая погода в Москве?" }],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Текущая погода в городе",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      }
    }
  }]
}

Кроме формата OpenAI шлюз принимает родной формат Anthropic: POST /v1/messages. Подходит для SDKanthropic, Claude Code и любых клиентов Claude. Ключ передаётся в x-api-key илиAuthorization: Bearer. Поддерживаются стриминг, инструменты (tool use), картинки, системный промпт и кэширование промптов; заголовки anthropic-version и anthropic-beta передаются провайдеру.

Модель можно указать нашим ID (claude-sonnet-5.5) или ID Anthropic (claude-sonnet-5-5,claude-haiku-4-5-20251001). Модели других семейств (GPT, DeepSeek, Gemini…) тоже работают через этот формат — запрос и ответ конвертируются автоматически. Подсчёт токенов: POST /v1/messages/count_tokens.

Python · SDK Anthropic
from anthropic import Anthropic

client = Anthropic(base_url="https://xyvero.store", api_key="sk_live_...")

msg = client.messages.create(
    model="claude-sonnet-5.5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Привет! Расскажи о себе в двух словах."}],
)
print(msg.content[0].text)
curl
curl https://xyvero.store/v1/messages \
  -H "x-api-key: sk_live_..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5.5","max_tokens":512,"messages":[{"role":"user","content":"Привет"}]}'

POST /v1/embeddings — векторы для поиска, RAG и кластеризации. Модели: text-embedding-3-small (1536 измерений) и text-embedding-3-large (3072). Можно передать строку или массив до 2048 строк, параметр dimensions уменьшает размер вектора. Списание — по входным токенам.

Python
from openai import OpenAI

client = OpenAI(base_url="https://xyvero.store/v1", api_key="sk_live_...")

res = client.embeddings.create(
    model="text-embedding-3-small",
    input=["Как пополнить баланс?", "Оплата по СБП"],
)
print(len(res.data[0].embedding))  # 1536

POST /v1/images/generations — модели gpt-image-1, gpt-image-2 и dall-e-3. Параметры: prompt, size, quality, n (до 4 у GPT Image, 1 у DALL·E 3). Цена фиксирована за картинку и зависит от качества и размера; списываются только реально созданные изображения.

Python
import base64
from openai import OpenAI

client = OpenAI(base_url="https://xyvero.store/v1", api_key="sk_live_...")

img = client.images.generate(
    model="gpt-image-1",
    prompt="Кот-космонавт на фоне Москвы, акварель",
    size="1024x1024",
    quality="medium",
)
open("cat.png", "wb").write(base64.b64decode(img.data[0].b64_json))

POST /v1/audio/transcriptions, multipart/form-data: поле file (mp3, mp4, m4a, wav, webm, ogg — до 25 МБ) и model=whisper-1. Необязательно: language, prompt, temperature, response_format (json, text, verbose_json, srt, vtt). Списание — поминутно по фактической длительности записи.

curl
curl https://xyvero.store/v1/audio/transcriptions \
  -H "Authorization: Bearer sk_live_..." \
  -F file=@meeting.mp3 \
  -F model=whisper-1 \
  -F language=ru \
  -F response_format=srt

POST /v1/audio/speech — озвучка текста до 4096 символов. Модели: gpt-4o-mini-tts (понимает поле instructions — интонация, темп, эмоция), tts-1 и tts-1-hd. Голоса: alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse. Форматы: mp3, opus, aac, flac, wav, pcm; скорость speed от 0.25 до 4. Списание — по числу символов. В AI-чате любой ответ можно озвучить кнопкой «Озвучить».

Python
from openai import OpenAI

client = OpenAI(base_url="https://xyvero.store/v1", api_key="sk_live_...")

with client.audio.speech.with_streaming_response.create(
    model="gpt-4o-mini-tts",
    voice="nova",
    input="Привет! Это Xyvero.",
    instructions="Говори дружелюбно и спокойно",
) as res:
    res.stream_to_file("hello.mp3")

Актуальный каталог и цены за 1 млн токенов. Модели прошлых поколений остаются доступны по API, но скрыты с витрины. Точная цена на момент запроса — в кабинете.

modelКонтекстВход / 1MВыход / 1MСтрим · tools

Ошибки возвращаются с HTTP-статусом и JSON-телом одного формата:

JSON
{
  "error": { "message": "недостаточно средств", "code": "payment_required" },
  "message": "недостаточно средств"
}
HTTPcodeЧто случилось
400validationНеверное тело запроса: пустые messages, неправильный формат
401unauthorizedКлюч неверный, отозван или владелец заблокирован
402payment_requiredНедостаточно средств на балансе — пополните счёт
402token_limit_exceededИсчерпан лимит токенов ключа — добавьте токены в кабинете
403forbiddenМодель не разрешена для ключа или шлюз временно заморожен
404not_foundМодель не найдена или выключена
429rate_limitedПревышен лимит запросов в минуту. Повторите позже с паузой
502upstreamПровайдер модели не ответил. Можно безопасно повторить запрос
503misconfiguredСервис временно недоступен
Повторяйте запрос только при 429 и 502 — с экспоненциальной паузой (1 с, 2 с, 4 с…). Ошибки 4xx без исправления запроса не пройдут.
  • Запросы в минуту (RPM) — задаются на каждом ключе, по умолчанию 60.
  • Бюджет токенов — общий лимит ключа. Когда он исчерпан, ключ возвращает 402, пока вы не добавите токены.
  • Баланс — перед запросом резервируется оценка стоимости, после ответа списывается факт, остаток сразу возвращается.
  • Размер запроса — до 2 МБ тела; контекст ограничен окном модели.
  • Неверные ключи — после 30 попыток в минуту с одного адреса запросы временно блокируются.

Интеграции

SDK и языки

Подойдёт любой клиент OpenAI: укажите наш базовый URL и ключ. Примеры можно листать — перетаскивайте вкладки или используйте стрелки.

request.sh
curl https://xyvero.store/v1/chat/completions \
  -H "Authorization: Bearer $XYVERO_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5.5",
    "messages": [{"role": "user", "content": "hi"}]
  }'

Claude Code работает через наш шлюз напрямую — по протоколу Anthropic. Задайте адрес и ключ в переменных окружения (или в ~/.claude/settings.json в блоке env) и запустите claude как обычно. Расход виден в кабинете, оплата — с баланса в рублях.

Терминал
export ANTHROPIC_BASE_URL="https://xyvero.store"
export ANTHROPIC_AUTH_TOKEN="sk_live_..."
# необязательно: какие модели использовать
export ANTHROPIC_MODEL="claude-sonnet-5.5"
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4.5"
claude
~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://xyvero.store",
    "ANTHROPIC_AUTH_TOKEN": "sk_live_..."
  }
}

Инструменты с поддержкой «OpenAI-compatible provider» подключаются одинаково: провайдер OpenAI, свой base URL и ключ.

Переменные окружения (Codex CLI, LangChain, LlamaIndex, скрипты)
export OPENAI_BASE_URL="https://xyvero.store/v1"
export OPENAI_API_KEY="sk_live_..."
Continue · config.yaml
models:
  - name: Xyvero Sonnet
    provider: openai
    model: claude-sonnet-5.5
    apiBase: https://xyvero.store/v1
    apiKey: sk_live_...
  • Cursor: Settings → Models → OpenAI API Key, включите «Override OpenAI Base URL» и укажите адрес выше.
  • Open WebUI / LibreChat / Chatbox: добавьте OpenAI-подключение с нашим URL и ключом.
  • n8n / Make: узел OpenAI с кастомным base URL или HTTP-запрос на /chat/completions.

Баланс ведётся в рублях. Пополнение — от 20 ₽: СБП и карты РФ, криптовалютой через CryptoBot или xRocket в Telegram (счёт в рублях, монета пересчитывается по курсу сервиса) или звёздами Telegram Stars. Зачисление автоматическое после подтверждения платёжной системой.

  • Стоимость запроса = входные токены × цена входа + выходные × цена выхода по прайсу модели.
  • С лимита ключа токены списываются с учётом коэффициента модели — он виден в журнале.
  • Каждое списание и пополнение отражается в истории операций кабинета.
  • Без положительного баланса нельзя создавать ключи и добавлять им токены.
  • Спорное списание рассматриваем 14 дней с даты операции по request_id из журнала.
  • Неиспользованный остаток возвращаем по запросу, если оплата поступила и нет нарушений; израсходованные токены и комиссия платёжной системы не возвращаются.
  • Не вставляйте ключ в код фронтенда, мобильное приложение или публичный репозиторий — только на сервере.
  • Храните ключ в переменных окружения или секрет-менеджере.
  • Делайте отдельный ключ под каждый проект с минимальным бюджетом и нужными моделями.
  • Подозрение на утечку — сразу заблокируйте или удалите ключ: списания идут, пока он активен.
Не отправляйте в модели пароли, платёжные данные и персональные данные третьих лиц — тексты запросов обрабатываются провайдером модели.

После регистрации подтвердите почту по ссылке из письма — без этого нельзя пополнять баланс и создавать ключи. В профиле можно включить двухфакторную аутентификацию: код из приложения (Google Authenticator, Яндекс Ключ, 1Password, Bitwarden) и/или одноразовый код от нашего Telegram-бота. При включении выдаются 10 резервных кодов — сохраните их: они помогут войти, если телефон потерян. На доверенном устройстве код спрашивается раз в 30 дней.

В разделе «Рефералы» есть ваша личная ссылка. Каждый, кто зарегистрируется по ней, закрепляется за вами, и вы получаете процент от каждого его пополнения — бонус сразу зачисляется на баланс и тратится на любые модели. Если пополнение вернули, бонус с него списывается. Регистрации собственных вторых аккаунтов не засчитываются.

Нужно ли переписывать код под Xyvero?

Нет. Если вы используете OpenAI SDK или любой совместимый клиент, достаточно поменять base URL и ключ.

Сгорает ли баланс?

Нет. Подписки и абонентской платы нет, остаток лежит на счёте, пока вы его не потратите.

Почему списали чуть больше токенов, чем в ответе?

На ключ может действовать коэффициент модели (наценка). Итоговое списание видно в журнале кабинета по каждому запросу.

Можно ли дать ключ сотруднику или боту?

Да. Создайте отдельный ключ с лимитом токенов и списком моделей — его можно заблокировать или отозвать в один клик, не трогая остальные.

Сохраняете ли вы мои запросы?

Через API — нет, в журнал пишутся только модель, токены, стоимость и статус. Тексты сохраняются только для истории чата в кабинете.

Как вернуть деньги?

Напишите в поддержку: неиспользованный остаток возвращаем по правилам раздела «Баланс и списание».

  • Обход оплаты, перепродажа ключей, использование ключа как публичного прокси.
  • Атаки на инфраструктуру, перебор чужих ключей, попытки извлечь системные настройки шлюза.
  • Контент, запрещённый законом и политиками провайдеров моделей.
  • Нагрузка, заведомо превышающая лимиты и мешающая другим клиентам.

Нарушение — блокировка без возврата израсходованного.

Редакция от 1 октября 2026

Готовы?

Создать ключ и начать

Регистрация — минута. Дальше пополнение, ключ и обычный SDK.