tunnel_ docs

FAQ

Общие

Чем это отличается от VPN + зарубежной карты?

Никакого VPN, зарубежной карты или чужого аккаунта — один российский счёт, оплата рублями через ЮKassa или СБП. Для юрлица это ещё и официальный договор со счётом, а не серая схема на личной карте.

Какие модели доступны?

Chat-модели Gemini, Claude, GPT и Qwen, а также модели эмбеддингов — актуальный список и стоимость каждой смотрите на странице «Модели и цены» или в витрине — обновляется автоматически.

Как считается цена?

Закупочная цена провайдера в USD переводится в рубли по курсу ЦБ с буфером и умножается на наценку модели (либо используется фиксированная цена в рублях). Это ровно те цифры, что отдаёт публичный GET /v1/models — подробный разбор формулы на странице «Модели и цены».

Есть ли договор и счёт для юрлица?

Да: в кабинете указываете реквизиты организации, выставляете счёт от 1000 ₽, оплачиваете безналом с расчётного счёта — баланс зачисляется после поступления оплаты, счёт в PDF доступен в кабинете. Подробнее — «Оплата и счета».

Куда писать при проблемах?

На support@tunnel.example — отвечаем по рабочим инцидентам и вопросам оплаты. Технические детали интеграции и коды ошибок — в этой документации.

Технические

Что со стримингом?

Поддерживается: передайте stream: true — ответ придёт по Server-Sent Events токен за токеном, формат событий совместим с OpenAI SDK, дополнительная настройка клиента не требуется. Подробности и примеры чтения на Python/JS — «Chat Completions».

Мой ключ отозван, но запросы всё ещё проходят — это баг?

Нет: результат проверки ключа кэшируется на 30 секунд на стороне шлюза, поэтому отозванный ключ может оставаться рабочим ещё до 30 секунд после отзыва. Дальше — гарантированно 401. Детали — в «Аутентификации».

Можно ли передавать изображения не только в эмбеддинги, но и в чат?

Да, content в сообщении может быть массивом частей с image_url (data-URI). Работает так же, как в OpenAI Vision — пример на странице «Chat Completions».

Почему /v1/embeddings вернул 400 на мою мультимодальную часть?

Части (image_url/input_audio/input_video/input_file) принимает только модель на маршруте Google (например, gemini-embedding-2). Если модель эмбеддингов идёт через OpenAI-совместимый маршрут — примет только строки. Подробности — в «Эмбеддингах».

Списывается ли баланс за неудачный запрос?

Нет — тарифицируются только успешные запросы (и корректно прерванный клиентом стрим, по факту переданных чанков). Полный разбор кодов ошибок — на странице «Коды ошибок».

У вас есть SDK?

Отдельного SDK нет и не нужно — API полностью совместим с официальным openai SDK (Python и JavaScript/TypeScript) и с LangChain через ChatOpenAI/аналоги: достаточно поменять base_url/baseURL и ключ, см. «Быстрый старт».