OpenAI-совместимый API: одна строка кода вместо десяти подписок
Genosai отдаёт 22 текстовые нейросети через эндпоинт, полностью совместимый с OpenAI. Если у вас уже написан код на официальной библиотеке OpenAI, для перехода достаточно поменять две переменные — base_url и ключ. Дальше в том же коде работают Claude, GPT, Gemini, DeepSeek, Qwen, MiniMax и Perplexity, а платите вы рублями с одного баланса, без зарубежной карты и VPN.
Обновлено: 31 июля 2026 г.
- Переезд за одну строку — Меняется только base_url и ключ. Остальной код на библиотеке OpenAI остаётся нетронутым.
- 22 модели по одному ключу — Claude, GPT, Gemini, DeepSeek, Qwen, MiniMax и Perplexity доступны через один и тот же запрос.
- Оплата за токены — Списывается фактический расход, а не подписка. Точная сумма приходит в ответе каждого запроса.
- Стриминг и вызов функций — Поддержаны server-sent events и tools — агентные приложения переносятся без переделки логики.
- Без карты и VPN — Оплата рублями с российской карты, запросы идут на российский домен без прокси.
Содержание
- Что такое OpenAI-совместимый API
- Как начать за одну строку
- Примеры интеграции
- Какие модели доступны
- Возможности API
- Стоимость запросов
- Сравнение с прямым доступом
- Подключение агентов через MCP
- Ограничения и советы
- FAQ
Что такое OpenAI-совместимый API
Когда OpenAI выпустила свой API, его формат запроса стал отраслевым стандартом де-факто. Сегодня почти каждая библиотека для работы с языковыми моделями, каждый фреймворк для агентов и каждый плагин к редактору кода умеют говорить именно на этом диалекте: POST-запрос с массивом сообщений, ответ с массивом choices, потоковая выдача через server-sent events.
Genosai использует этот же формат. Эндпоинт принимает те же поля — model, messages, stream, temperature, max_tokens, top_p — и возвращает объект той же структуры, вплоть до имён полей в блоке usage и формы объекта ошибки. Практический смысл простой: код, написанный под OpenAI, работает с Genosai без изменений в логике. Меняется только адрес, по которому уходит запрос.
Это отличается от привычной ситуации, когда подключение нового поставщика моделей означает новый SDK, новую схему ответа и отдельную ветку кода на каждый случай. Здесь ветка одна, а моделей за ней — двадцать две, из пяти разных семейств. Совместимость касается и ошибок: если баланса не хватило или модель временно недоступна, клиентская библиотека получит привычный объект с полями message, type и code и выбросит то же исключение, которое ваш код уже умеет ловить.
Как начать за одну строку
Порядок действий занимает несколько минут:
- Зарегистрируйтесь на Genosai и пополните баланс на удобную сумму — оплата рублями с российской карты.
- Откройте профиль, раздел API-ключей, и создайте ключ. Он показывается один раз, поэтому сразу сохраните его в переменных окружения проекта.
- В коде укажите base_url со значением
https://api.genosai.io/v1и созданный ключ. - Поменяйте название модели в запросе на любое из каталога.
- Запустите приложение — остальной код трогать не нужно.
Ключей можно завести сколько угодно: удобно держать отдельный ключ на каждый сервис или окружение. Тогда при компрометации или увольнении подрядчика достаточно отозвать один ключ, не останавливая остальные интеграции.
Примеры интеграции
В официальной библиотеке OpenAI для Python адрес API и ключ задаются в конструкторе клиента:
from openai import OpenAI
client = OpenAI(
base_url="https://api.genosai.io/v1",
api_key="sdk_live_ваш_ключ",
)
response = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Объясни рекурсию за три предложения"}],
)
print(response.choices[0].message.content)
print(response.usage.model_extra["cost_credits"])
В JavaScript всё устроено так же:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.genosai.io/v1",
apiKey: process.env.GENOSAI_API_KEY,
});
const response = await client.chat.completions.create({
model: "gpt-5.4",
messages: [{ role: "user", content: "Напиши SQL-запрос для выборки топ-10 клиентов" }],
});
Если библиотеку вы не используете, подойдёт обычный HTTP-запрос:
curl -sS -X POST "https://api.genosai.io/v1/chat/completions" \
-H "Authorization: Bearer sdk_live_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3-flash",
"messages": [{ "role": "user", "content": "Привет" }]
}'
Тот же адрес подставляется в переменные окружения инструментов, которые ожидают OpenAI: обычно это пара OPENAI_BASE_URL и OPENAI_API_KEY. Так подключаются библиотеки для агентов, плагины к редакторам и self-hosted интерфейсы чата.
Какие модели доступны
Идентификатор модели передаётся в поле model. Полный актуальный список возвращает запрос к эндпоинту моделей — в секции text, вместе с ценами, размером контекста и признаками поддержки картинок, веб-поиска и функций.
| Семейство | Примеры моделей | Чем полезно |
|---|---|---|
| Claude | Claude Sonnet 5, Claude Opus 4.8, Claude Haiku 4.5 | Длинный контекст до 800 тысяч токенов, аккуратный код и текст |
| GPT | GPT-5.6 Sol, GPT-5.4, GPT-5.4 Mini | Универсальные рассуждения, контекст до 380 тысяч токенов |
| Gemini | Gemini 3 Flash, Gemini 2.5 Pro | Быстрые ответы и низкая цена на массовых задачах |
| DeepSeek | DeepSeek V4 Flash, DeepSeek V3.2 | Самая низкая стоимость токена при контексте 800 тысяч |
| Поиск | Perplexity Pro, Perplexity | Ответы со свежими данными из интернета |
Модели переключаются одной строкой, поэтому дешёвую можно поставить на массовые операции вроде классификации писем, а дорогую — на редкие сложные запросы. Это тот случай, когда экономия достигается не торгом с поставщиком, а маршрутизацией внутри вашего же кода.
Возможности API
Потоковая выдача включается параметром stream. Ответ приходит фрагментами в формате server-sent events, причём последний фрагмент несёт блок usage с итоговым расходом:
stream = client.chat.completions.create(
model="gpt-5.4",
messages=[{"role": "user", "content": "Напиши рассказ на 200 слов"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Вызов функций работает через параметры tools и tool_choice. Вы описываете доступные функции JSON-схемой, модель решает, какую вызвать, и возвращает tool_calls вместо текста. Дальше вы выполняете функцию на своей стороне и присылаете результат сообщением с ролью tool — ровно как в документации OpenAI:
tools = [{
"type": "function",
"function": {
"name": "get_order_status",
"description": "Статус заказа по номеру",
"parameters": {
"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"],
},
},
}]
Благодаря этому агентные фреймворки, которые строят цикл «модель вызвала функцию, приложение выполнило, результат вернулся модели», переносятся на Genosai без переделки. Инструменты поддерживают все модели, кроме поисковых Perplexity.
Картинки принимаются в том же формате, что у OpenAI: массив частей содержимого, где часть с типом image_url несёт ссылку или data-URI. Поддержка зрения есть почти у всех моделей, кроме DeepSeek, Qwen и Perplexity — признак возвращается в каталоге. Веб-поиск включается флагом web_search у моделей Perplexity и повышает стоимость запроса в полтора раза.
Стоимость запросов
Списание происходит по факту, после ответа модели, и считается отдельно за входные и выходные токены. Цена каждой модели указана в каталоге в кредитах за миллион токенов, один кредит равен одному рублю. Минимальное списание за запрос — 0,1 кредита.
| Модель | Вход за 1M токенов | Выход за 1M токенов |
|---|---|---|
| DeepSeek V4 Flash | 11,2 кредита | 22,4 кредита |
| Gemini 2.5 Flash Lite | 10 кредитов | 30 кредитов |
| Claude Haiku 4.5 | 80 кредитов | 400 кредитов |
| GPT-5.4 | 200 кредитов | 1200 кредитов |
| Claude Opus 4.8 | 480 кредитов | 2400 кредитов |
Главное отличие от подписки — вы не платите за месяцы простоя. Короткий диалог обычно обходится в доли рубля, и точная сумма приходит прямо в ответе, в поле usage.cost_credits. Это удобно, когда нужно посчитать себестоимость одной операции в вашем продукте: не надо сводить логи с биллингом, цифра уже в ответе. Текущий баланс отдаёт отдельный эндпоинт, а пополнить его можно на странице Тарифы.
Сравнение с прямым доступом
| Что сравниваем | Прямой доступ к каждому поставщику | API Genosai |
|---|---|---|
| Договоры и оплата | Отдельный счёт и карта на каждого поставщика | Один баланс в рублях |
| Ключи | Свой ключ и своя панель у каждого | Один ключ на все модели |
| Код | Свой SDK и формат ответа под каждого | Один формат OpenAI |
| Смена модели | Переписать интеграцию | Поменять строку в поле model |
| Доступ из России | Нужны прокси и зарубежная карта | Российский домен, рублёвая оплата |
Есть и обратная сторона: платформа берёт наценку к себестоимости токенов, поэтому при очень больших объёмах на одной-единственной модели прямой договор с поставщиком может выйти дешевле. Genosai выигрывает, когда моделей несколько, объёмы средние, а время разработчиков дороже разницы в цене токена.
Подключение агентов через MCP
Кроме REST у Genosai есть сервер Model Context Protocol по адресу genosai.io/mcp — это способ дать ИИ-агенту прямой доступ к платформе. Ключ используется тот же самый.
Через MCP агент получает набор инструментов: чат с любой текстовой моделью, генерация изображений и видео, озвучка текста, создание музыки, проверка баланса и статуса задач. В Cursor и Claude Code сервер подключается конфигурацией с заголовком авторизации, а в приложении Claude — как пользовательский коннектор, которому достаточно указать один URL и вставить ключ на странице подключения.
На практике это означает, что ассистент в редакторе кода может сам сгенерировать иллюстрацию к статье или озвучить текст, не выходя из диалога с вами.
Ограничения и советы
Действует ограничение в 15 запросов в минуту на аккаунт. Для пакетной обработки закладывайте паузы между вызовами или очередь — иначе получите ответ с кодом 429 и заголовком Retry-After.
Количество картинок в одном запросе ограничено десятью. Если пришлёте больше, лишние будут отброшены, начиная с самых старых, а запрос всё равно выполнится.
Устаревшие поля functions и function_call, которые OpenAI объявила нежелательными, не принимаются — используйте tools и tool_choice.
Параметры приводятся к допустимому диапазону автоматически: температура ограничена значениями от 0 до 2, максимальная длина ответа — от 256 до 32768 токенов. Если передать значение вне диапазона, оно будет мягко подрезано, а не отклонено с ошибкой.
Если модель ответила пустотой из-за сбоя на стороне поставщика, списания не произойдёт — платформа отдаст ошибку с кодом 503 и не тронет баланс. А вот если поток уже начался и оборвался на середине, списание пройдёт: сгенерированные токены поставщиком уже посчитаны.
Начать проще всего с недорогой модели вроде Gemini 3 Flash или DeepSeek V4 Flash: убедитесь, что интеграция работает, и только потом переключайте продакшен на флагманы.
FAQ
Что значит OpenAI-совместимый API?
Это значит, что эндпоинт принимает и возвращает данные ровно в том формате, который описан в документации OpenAI: те же поля запроса, та же структура ответа, те же коды ошибок. Благодаря этому официальные библиотеки OpenAI для Python и JavaScript, а также любые сторонние инструменты, умеющие работать с OpenAI, подключаются к Genosai без правок логики.
Что нужно изменить в существующем коде?
Две вещи: адрес API и ключ. В конструкторе клиента укажите base_url со значением https://api.genosai.io/v1 и передайте ключ вида sdk_live_..., полученный в профиле Genosai. Название модели поменяйте на любое из каталога — например claude-sonnet-5 или gpt-5.4. Всё остальное, включая обработку ответов и стриминг, продолжит работать как раньше.
Какие модели доступны через API?
На момент публикации доступны 22 текстовые модели: линейки GPT-5.4, GPT-5.5 и GPT-5.6, Claude Opus, Sonnet и Haiku, Gemini 2.5 и 3.1, DeepSeek V3.2 и V4 Flash, Qwen3.5, MiniMax M2.7, а также Perplexity с веб-поиском. Актуальный список всегда возвращает запрос GET /v1/models в секции text.
Сколько стоит запрос?
Оплата идёт за фактически израсходованные токены по цене из каталога, отдельно за входной и выходной текст. Минимальное списание — 0,1 кредита за запрос, один кредит равен одному рублю. Точная списанная сумма приходит в поле usage.cost_credits в ответе, поэтому расход виден сразу, без похода в личный кабинет.
Поддерживаются ли стриминг и вызов функций?
Да, оба режима. Параметр stream со значением true включает потоковую выдачу в формате server-sent events, как у OpenAI. Вызов функций работает через параметры tools и tool_choice: модель возвращает tool_calls, вы выполняете функцию у себя и присылаете результат сообщением с ролью tool. Это позволяет переносить агентные приложения без переделки.
Нужны ли зарубежная карта и VPN?
Нет. Баланс пополняется рублями с российской карты, а запросы идут на домен api.genosai.io, доступный из России напрямую. Прокси, зарубежные платёжные системы и VPN не требуются ни для оплаты, ни для работы приложения.
Можно ли подключить API к Cursor или Claude Code?
Да, для агентов есть отдельный MCP-сервер по адресу genosai.io/mcp с тем же ключом. Он даёт инструменты для чата с моделями, генерации изображений, видео, озвучки и музыки. В Cursor и Claude Code сервер подключается через конфигурацию с заголовком авторизации, а в приложении Claude — как пользовательский коннектор по одному URL.