Hubris

Миграция с OpenAI

Как переключиться с OpenAI на Hubris — что меняется, что 1-в-1.

Миграция с OpenAI

Если у вас уже есть код, работающий через OpenAI API, для перехода на Hubris достаточно изменить базовый URL и API-ключ. Остальное — формат запросов, имена параметров, структура ответа — идентично.

Что меняется

1. Базовый URL

Замените базовый URL OpenAI на https://api.hubris.pw/v1. Например, если у вас был стандартный OpenAI base URL — замените его на адрес выше.

2. API-ключ

OpenAI-ключ (sk-...) → Hubris-ключ (sk-gw-...). Получите на /keys.

- api_key = os.environ["OPENAI_API_KEY"]
+ api_key = os.environ["HUBRIS_API_KEY"]

3. Имена моделей

OpenAI принимает короткие имена (например, gpt-4o-mini). Hubris использует полные идентификаторы вида provider/model — например, openai/gpt-4o-mini. Замените короткое имя на полный идентификатор провайдера.

Полный список — в каталоге моделей.

Что НЕ меняется

  • Формат тела запроса (messages, tools, temperature, и т. д.).
  • Формат ответа (choices[0].message.content, usage.prompt_tokens, id, created).
  • Стриминг через stream: true и Server-Sent Events.
  • Инструменты (tool calling) — tools, tool_choice, tool_calls.
  • JSON-режим — response_format: { type: "json_object" } или json_schema.
  • Vision (multimodal входы) — image_url в content.
  • OpenAI SDK работает без изменений — нужно только два параметра.

Минимальный diff кода

Python (с OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    base_url="https://api.hubris.pw/v1",            # was OpenAI base URL
    api_key=os.environ["HUBRIS_API_KEY"],           # was OPENAI_API_KEY
)

response = client.chat.completions.create(
    model="openai/gpt-4o-mini",                     # was "gpt-4o-mini"
    messages=[{"role": "user", "content": "Привет"}],
)

Node.js (с OpenAI SDK)

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.hubris.pw/v1",              // was OpenAI base URL
  apiKey: process.env.HUBRIS_API_KEY,               // was OPENAI_API_KEY
});

const response = await client.chat.completions.create({
  model: "openai/gpt-4o-mini",                      // was "gpt-4o-mini"
  messages: [{ role: "user", content: "Привет" }],
});

Что доступно дополнительно

В Hubris вы получаете модели не только OpenAI, через тот же API:

  • Anthropic Claude — например, anthropic/claude-haiku-4.5.
  • Google Gemini — например, google/gemini-2.0-flash.
  • OpenAI GPT — например, openai/gpt-4o-mini.

Полный актуальный список — в каталоге моделей. Все они отвечают в том же OpenAI-формате chat.completion, поэтому код менять не нужно.

Различия в биллинге

  • Цены в ₽, не в USD. Списание происходит за каждый успешный запрос; стоимость возвращается в usage и логируется на /usage.
  • Минимальный баланс для работы — 1 ₽ (этого хватает на подавляющее большинство запросов).
  • Без подписок и тарифов — pay-as-you-go. Подробнее — на странице Биллинг.

Что поддерживается на старте

Сейчас Hubris реализует основной OpenAI-эндпоинт POST /v1/chat/completions (с инструментами, JSON-режимом, vision, стримингом) и GET /v1/models. Этого достаточно для подавляющего большинства интеграций — чат-боты, агенты, RAG, классификация, извлечение данных.

Дополнительные эндпоинты (генерация эмбеддингов, картинок, аудио, batch-обработка) находятся в работе — следите за обновлениями. Для них пока используйте провайдера напрямую: когда Hubris их выпустит, переключение будет такой же сменой URL.

Assistants API (/v1/assistants, /v1/threads) — не планируется: Stateless API лучше для большинства интеграций.

Что дальше