Документация NeuroAPI
Введение

Миграция с OpenRouter

Переезд с OpenRouter на NeuroAPI: смена base_url и ключа, формат Model ID, проверка streaming и tools, переход на рублёвый баланс.

OpenRouter и NeuroAPI оба предоставляют OpenAI-совместимый доступ к моделям, поэтому при переходе чаще всего не нужно переписывать клиентский код. Изменения касаются четырёх вещей: базового адреса, API-ключа, идентификаторов моделей и способа оплаты.

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

Миграция не обязана быть одномоментной: сначала можно перевести на NeuroAPI отдельный сервис или staging-окружение, убедиться, что запросы, ошибки и расходы ведут себя предсказуемо, и только потом переключать основную нагрузку. Пока идут проверки, держите оба ключа — это позволяет сравнить ответы на одинаковых промптах, не теряя рабочий доступ.

Важно: ключ NeuroAPI — самостоятельный ключ сервиса NeuroAPI, а не официальный ключ OpenAI, Anthropic или Google. При переходе вы не «переносите» ключ OpenRouter, а выпускаете новый ключ в NeuroAPI.

Что меняется

  • Base URL. Адрес OpenRouter https://openrouter.ai/api/v1 заменяется на https://neuroapi.host/v1.
  • API-ключ. Нужен ключ NeuroAPI из личного кабинета; старый ключ OpenRouter не подойдёт.
  • Model ID. OpenRouter использует именование вида <vendor>/<model>, а NeuroAPI — точное model_name из публичного каталога. Простое удаление префикса вендора не гарантирует совпадения.
  • Оплата. Вместо кредитов OpenRouter — предоплаченный баланс NeuroAPI в рублях: карта для физлица или счёт для ООО и ИП. Обязательной подписки нет.

Шаг 1. Замените Base URL и ключ

Обновите инициализацию SDK. Путь к методу клиент добавляет сам, поэтому адрес должен заканчиваться на /v1.

import os
from openai import OpenAI

# Было (пример клиента OpenRouter):
# client = OpenAI(
#     base_url="https://openrouter.ai/api/v1",
#     api_key=os.environ["OPENROUTER_API_KEY"],
# )

# Стало:
client = OpenAI(
    base_url="https://neuroapi.host/v1",
    api_key=os.environ["NEUROAPI_API_KEY"],
)
import OpenAI from 'openai';

const openai = new OpenAI({
  baseURL: 'https://neuroapi.host/v1',
  apiKey: process.env.NEUROAPI_API_KEY,
});

Если в клиенте остались дополнительные заголовки, которые добавлял прежний провайдер, удалите лишние и оставьте только те, которые требует сам клиент. Проверьте, что итоговый запрос уходит на https://neuroapi.host/v1, а не на старый адрес: конфликт конфигурации — самая частая причина ошибок при переезде. Инструкция по поиску старых настроек — в восстановлении подключения.

Шаг 2. Приведите Model ID к каталогу NeuroAPI

В OpenRouter модели адресуются строкой с вендором (<vendor>/<model>). В NeuroAPI используется точное имя модели — model_name из карточки каталога. Форматы не совпадают, поэтому переносить идентификаторы «как есть» или срезать префикс вручную нельзя.

Порядок действий:

  1. Откройте каталог моделей и цен и найдите нужную модель по названию или вендору.
  2. Скопируйте точное model_name из карточки модели.
  3. Проверьте, что модель доступна на тарифе вашего ключа.

Список моделей, доступных конкретному ключу, возвращает GET /v1/models:

for model in client.models.list().data:
    print(model.id)

Состав каталога меняется вместе с публикацией моделей. На 18.10.2026 в публичном каталоге было 98 моделей, но перед переездом сверяйтесь с актуальным списком на /price: если нужной модели нет, подберите функциональный аналог и отдельно протестируйте поведение.

Шаг 3. Проверьте ответы, streaming и tools

Базовый чат-запрос обычно работает сразу, но проект может использовать особенности, которые стоит проверить отдельно:

  • Поля ответа. Сверьте, что клиент читает сообщение и usage из того же формата, что и раньше. Для Chat Completions это choices и usage; для Responses — свой набор полей. Гайд: Текст.
  • Streaming. Проверьте порядок событий и обработку завершения. Гайд: Streaming.
  • Tools и structured output. Возможности зависят от модели: часть моделей не поддерживает вызов инструментов или структурированный вывод. Смотрите карточку модели.
  • Изображения и видео. Если проект генерировал изображения или видео, проверьте соответствующие маршруты: POST /v1/images/generations и POST /v1/videos. Гайды: Изображения, Видео.
  • Нативные форматы. Anthropic Messages и Gemini GenerateContent в NeuroAPI помечены как Beta. Если вы использовали их через OpenRouter, проверьте отдельно. См. форматы API.
  • Ошибки. Коды и машинные коды отличаются от прежнего сервиса; сверяйте их со справочником ошибок, а не переносите обработку «по памяти».

Полезно прогнать одинаковый набор запросов на старом и новом провайдере и сравнить не только ответы, но и фактические поля usage: от них зависит ваш внутренний учёт расходов.

Если проект полагался на функции уровня агрегатора — собственные правила выбора провайдера или автоматические переключения между поставщиками, — перепроверьте этот сценарий отдельно. В NeuroAPI маршрут запроса определяется тарифом ключа (Пилот, Смарт или Оптимальный), и именно выбранный тариф задаёт поведение при временной ошибке. Это стоит протестировать до переезда, чтобы после переключения поведение не изменилось неожиданно: Смарт, например, делает одну физическую попытку Пилота и при безопасной для повтора ошибке переходит к цепочке Оптимального.

Шаг 4. Переключите оплату на рублёвый баланс

Оплата в NeuroAPI устроена как предоплаченный баланс в рублях: вы пополняете баланс, а запросы списываются по фактическому использованию. Обязательной подписки и автоматического продления нет.

  • Физлицо пополняет баланс банковской картой на защищённой платёжной странице; доступные способы и минимальную сумму показывает форма оплаты. Подробнее — на странице «Оплата».
  • ООО и ИП регистрируются в корпоративном контуре по ИНН, получают счёт в PDF и оплачивают его банковским переводом. Закрывающие документы и ЭДО обсуждаются при оформлении; реквизиты опубликованы на странице «Реквизиты».
  • Тариф выбирается при создании ключа: Пилот — экономичный вариант с возможными перебоями, Смарт — одна физическая попытка Пилота и резервная цепочка Оптимального, Оптимальный — официальные каналы. Фиксированной «цены тарифа» нет: тарифицируется успешный физический маршрут.
  • Бонусный баланс, если он начислен по акции или промокоду, учитывается отдельно и расходуется после обычного баланса — держите его отдельной строкой в расчётах.

Актуальные ставки по моделям смотрите в каталоге, а условия для юридических лиц — на странице «Для бизнеса». Цены и состав каталога меняются: проверяйте их на дату переезда, а не по сохранённым скриншотам.

Для компании переезд означает ещё и смену комплекта документов: счёт на оплату формируется в корпоративном кабинете, закрывающие документы и ЭДО обсуждаются при оформлении, а публичные реквизиты оператора доступны на странице «Реквизиты». Состав и налогообложение документов зависят от договора и условий выставления счёта — уточняйте их при оформлении.

План переключения

  1. Оставьте оба ключа на время пилота. Не отключайте старый провайдер, пока новый не прошёл production-прогон.
  2. Прогоните одинаковую нагрузку. Сравните ответы, ошибки и фактические расходы на одном наборе запросов.
  3. Переключайте постепенно. Начните со staging или части трафика, затем переведите основную нагрузку.
  4. Проверьте биллинг и документы. Убедитесь, что пополнение, списание и закрывающие документы устроены так, как нужно вашей бухгалтерии.
  5. Отключите старый доступ. После успешного переезда отзовите старый ключ и уберите прежний base_url из конфигураций.

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

СтатусВероятная причинаЧто проверить
401Ключ OpenRouter остался в конфигурации или ключ NeuroAPI не переданЗаголовок Authorization: Bearer …, переменные окружения
404В адресе нет /v1, остался старый хост или Model ID не из каталога NeuroAPIBase URL https://neuroapi.host/v1, точное model_name, тариф ключа
429Сработали лимиты ключа или аккаунтаЛимиты в кабинете, правила повторов
400Модель не поддерживает переданные параметры или функциюКарточка модели, форматы API

Полный разбор статусов — в справочнике ошибок.

Куда дальше

On this page