OpenAI-совместимый шлюз ко всем моделям
Меняются только base_url и ключ. Приложение шлёт запрос на g.gnzs.pro в формате OpenAI, а вместо ключей поставщиков у вас один токен ApiHub.
from openai import OpenAI
client = OpenAI(
base_url="https://g.gnzs.pro/g/v1",
api_key=APIHUB_KEY,
)
r = client.chat.completions.create(
model="gpt-oss-120b",
messages=[{"role": "user", "content": "Привет"}],
extra_query={"sort": "cheaper"},
)Эндпоинты
Формат запросов и ответов совпадает с OpenAI, поэтому подходят официальные SDK.
Заголовки ответа
Кто ответил и сколько осталось до лимита. Стоимость и токены каждого вызова — в кабинете, в разделе «Расход».
- X-ApiHub-Seller
- Продавец, который ответил
- X-ApiHub-Route
- Правило выбора: cheaper, cheaper:RU и т. п.
- X-RateLimit-Remaining
- Сколько запросов осталось в лимите ключа
Параметр sort
Правило выбора продавца, если модель продают несколько. Без параметра — optimal.
- cheaper
- Минимальная цена
- faster
- Минимальная задержка
- reliable
- Максимальная доля успешных ответов
- optimal
- Дешевле среди не худших по скорости и надёжности
- country=RU
- Только продавцы с обработкой в этой стране
Продавец не ответил — запрос уходит следующему
На 5xx, 429 и обрыве связи шлюз берёт следующего продавца из списка — до трёх попыток. Неудачная попытка не оплачивается.
Модель — в теле, продавца выбирает шлюз.
Продавец упал. Деньги не списываются.
Ответ следующего продавца, оплата по его цене.
Ошибки шлюза приходят телом {"error": {"message": "…", "status": 402}}: 402 — на балансе нет денег, 429 — превышен лимит. Асинхронного режима пока нет.
Получите ключ и отправьте первый запрос
Без подписки · пробный баланс на первые запросы