OpenAI-совместимый · 401+ моделей · ГОСТ TLS

Замените 10 API-ключей на один

Мигрируйте с OpenAI за 5 минут. 401+ моделей без переписывания кода. Отслеживайте расходы по каждой модели. ГОСТ-шифрование включено.

# Один запрос — любая модель curl https://api.neuralgate.ru/v1/chat/completions \ -H "Authorization: Bearer ng-proj-..." \ -H "Content-Type: application/json" \ -d '{"model":"yandexgpt/latest","messages":[{"role":"user","content":"Привет"}]}'

Архитектура

Один запрос — любая модель

Ваше приложение POST /v1/chat/completions НейроГейт API ── auth ─ rate limit ─ billing ─ circuit breaker ── ├──▶ YandexGPT (yandexgpt/latest, lite, 32k) ├──▶ GigaChat (Lite, Pro, Max) ├──▶ Claude (Sonnet, Opus, Haiku) ├──▶ GPT (4o, 5, o1, o3) ├──▶ Gemini (Flash, Pro) ├──▶ Qwen, DeepSeek, Grok (+340 моделей) └──▶ Ваши модели (BYOK / свой endpoint)

Миграция

Переход с OpenAI — 3 строки

Работает с любым OpenAI SDK — Python, JavaScript, Go, Java, Ruby, PHP.

- from openai import OpenAI - client = OpenAI() + client = OpenAI(base_url="https://api.neuralgate.ru/v1", api_key="ng-proj-...") # Всё остальное остаётся без изменений response = client.chat.completions.create( model="claude-sonnet-4-6", messages=[{"role": "user", "content": "Привет"}] )

Возможности

Всё для продакшен ИИ

Инфраструктура, которая масштабируется вместе с вами.

📡

401+ моделей через один endpoint

YandexGPT, GigaChat, Claude, GPT, Gemini, Qwen, DeepSeek, Grok и другие. Переключайте модель одним параметром.

🔑

BYOK — свои API-ключи

Используйте собственные ключи к провайдерам. Оплачивайте токены напрямую провайдеру по его ценам без наценки.

🛡️

ГОСТ TLS + суверенный контур

Шифрование по ГОСТ Р 34.10-2022. Данные хранятся и обрабатываются на серверах в Российской Федерации.

Отказоустойчивость и автоповтор

Автоматическое переключение на резервного провайдера при сбоях. Retry с экспоненциальным backoff.

📊

Панель аналитики и метрики

Реалтайм дашборд потребления. Prometheus-совместимые метрики для вашего мониторинга.

💰

Предварительное списание

Списание до запроса к провайдеру. Никаких сюрпризов — вы всегда знаете точный расход.

🎨

Image generation — 4 backend'а

FLUX, Gemini Image, gpt-image-1, DALL-E + Kandinsky 6.0 (Сбер, 0.4 ₽/img) и YandexART (1.65 ₽/img) через единый /v1/images/generations.

🌐

Translations — 90+ языков

Эндпоинт /v1/translations на базе Yandex Translate v2. В 4–5× дешевле DeepL/Google. NMT, автоопределение языка, HTML-разметка.

📑

Vision OCR — печатный, рукописный, таблицы

/v1/vision/ocr на базе Yandex Vision. SOTA для русского. JPEG/PNG/PDF, multipart или JSON base64, сабсекундная задержка.

Примеры кода

Начните за 30 секунд

Потоковая передача, вызовы инструментов, мультимодальность — всё через стандартный OpenAI SDK.

from openai import OpenAI client = OpenAI( base_url="https://api.neuralgate.ru/v1", api_key="ng-proj-..." ) # Streaming stream = client.chat.completions.create( model="claude-sonnet-4-6", messages=[{"role": "user", "content": "Напиши функцию сортировки"}], stream=True ) for chunk in stream: print(chunk.choices[0].delta.content, end="")

Практика

Как быстрее и дешевле работать с фото и файлами

НейроГейт поддерживает изображения по URL и в base64, но для продакшена лучше сразу строить интеграцию оптимально.

📷

Для фото используйте URL

Оптимальный путь — HTTPS или pre-signed URL. Это уменьшает размер запроса, ускоряет обработку и снижает риск ошибки из-за слишком большого body.

📎

Base64 только для маленьких вложений

Base64 увеличивает payload примерно на треть. Используйте его только для небольших одноразовых изображений, когда URL недоступен.

📑

Документы лучше отправлять как текст

Если модели нужен не весь PDF, а конкретный фрагмент, извлеките нужный текст заранее и передайте его как обычный текстовый контекст.

Сжимайте изображения заранее

Для анализа обычно достаточно 1280–1568 px по длинной стороне. Не отправляйте 8K-оригиналы, если задача не требует микродеталей.

# Рекомендуемый multimodal-запрос curl https://api.neuralgate.ru/v1/chat/completions \ -H "Authorization: Bearer ng-proj-..." \ -H "Content-Type: application/json" \ -d '{ "model": "google/gemini-2.5-flash", "messages": [{ "role": "user", "content": [ {"type": "text", "text": "Что изображено на фото?"}, {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg", "detail": "auto"}} ] }] }'

Фото по URL [NG-MM-01]

Лучший вариант для production. URL уменьшает размер запроса и ускоряет обработку.

"content": [ {"type":"text","text":"Что на фото?"}, {"type":"image_url","image_url":{"url":"https://example.com/photo.jpg","detail":"auto"}} ]

Маленькое изображение в base64 [NG-MM-02]

Подходит только для небольших одноразовых вложений, когда URL недоступен.

"image_url": { "url": "data:image/png;base64,<SMALL_BASE64>" }

Большой PDF или документ

Не инлайните большой файл в JSON. Лучше передать URL и заранее извлечённый релевантный текст.

"content": "Файл: https://storage.example.com/doc.pdf\n\nВыдержка:\n...\n\nСделай резюме рисков."

Vision streaming [NG-MM-03]

Для потоковых multimodal-ответов используйте buffered reader и не ограничивайте размер SSE-строки слишком маленьким буфером.

"stream": true

Multi-image input [NG-MM-04]

Можно передавать несколько изображений в одном сообщении, но отправляйте только действительно релевантные файлы.

"content": [ {"type":"text","text":"Сколько изображений я отправил?"}, {"type":"image_url","image_url":{"url":"https://example.com/one.jpg"}}, {"type":"image_url","image_url":{"url":"https://example.com/two.jpg"}} ]

Если модель не vision [NG-MM-05]

Проверьте supports_vision в /v1/models. Для non-vision моделей заранее извлеките текст и отправьте его как обычный контекст.

"content": "OCR/выдержка из документа...\n\nСделай резюме."

Эти примеры синхронизированы с smoke-кейсами в gateway/tests/api_test.sh. Дополнительный кейс NG-MM-06 покрывает reasoning + vision streaming.

Тарифы

Простые и прозрачные цены

Платите только за то, что используете. Без скрытых платежей.

Корпоративный
Индивидуально

Для крупного бизнеса. Индивидуальные условия.

  • Цена провайдера без наценки
  • ГОСТ TLS + суверенный контур
  • SLA 99.9%
  • Выделенная поддержка
  • Размещение на вашей инфраструктуре
  • Журнал аудита
Связаться →

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

Три шага до первого запроса

01

Зарегистрируйтесь

Создайте аккаунт в Панели управления НейроГейт. Получите приветственный бонус на баланс.

02

Создайте API-ключ

Перейдите в раздел API Keys и создайте ключ. Он начинается с ng-proj-

03

Отправьте запрос

Используйте любой OpenAI SDK или curl. Укажите base_url и ваш ключ.

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

Приветственный бонус при регистрации. Бесплатные модели без ограничений.

Получить API-ключ →

Технические вопросы об API

То, что обычно спрашивают разработчики и техлиды.

Какой endpoint у НейроГейт API?

Основной endpoint: https://api.neuralgate.ru/v1. Полностью OpenAI-совместим, поддерживает /chat/completions, /messages (Anthropic native), /responses (OpenAI Responses), /embeddings, /audio/transcriptions, /audio/speech, /audio/voices, /images/generations, /images/edits, /videos (async), /translations (Yandex Translate, 90+ языков), /vision/ocr (Yandex Vision — печатный/рукописный/таблицы), /models.

Какие SDK совместимы?

Любой OpenAI SDK работает после замены base_url:

  • Python: openai, litellm, langchain, llamaindex, instructor
  • JS/TS: openai npm package, ai Vercel SDK, langchain-js
  • Go: sashabaranov/go-openai, наш Go SDK
  • PHP/Java/.NET — любые OpenAI клиенты
Какие лимиты по запросам и токенам?

Бесплатный тариф: 50 RPM / 100К токенов в минуту общий пул на свободные модели. Платный тариф: индивидуальные лимиты по подписке (от 500 RPM на Стартовом до 10 000+ RPM на Корпоративном). RPM/TPM лимиты на конкретный аккаунт видны в панели управления.

Поддерживается ли streaming (SSE)?

Да, через стандартный OpenAI-параметр stream: true. Отдаём Content-Type: text/event-stream с chunks как у upstream. Latency для streaming — обычно ~30-100 мс до первого токена (зависит от модели).

Function calling и tools?

Да. Параметр tools: [...] поддерживается для всех моделей, которые умеют tools-calling. На странице модели в каталоге указано, поддерживает ли она это (Каталог →).

Reasoning-модели (o1, o3, Claude Extended Thinking, DeepSeek R1) работают?

Да. Для них используется параметр reasoning_effort или thinking в зависимости от провайдера, плюс соответствующие модели в списке (openai/o3-deep-research, anthropic/claude-opus-4.6, deepseek/deepseek-r1 и др.). Отметка 🧠 в каталоге показывает поддержку.

Что с retry, timeouts, rate-limit handling?

Возвращаем стандартные коды: 429 при превышении лимита (с заголовком Retry-After), 503 если upstream-модель временно недоступна. Рекомендуем экспоненциальный retry в SDK (есть в openai-python и других).

Как переключать модели в одном диалоге?

Каждый запрос самостоятелен (stateless). Передаёшь messages: [...] + новый model: "..." — и идёт запрос к другой модели. Для контекстной памяти держи историю на стороне приложения и подавай в messages.