Руководство

OpenAI SDK с Claude и Gemini

Смените base_url и API-ключ, чтобы вызывать Claude, GPT и Gemini одним клиентом OpenAI на Python или Node.js, и узнайте пределы этого способа.

Предоплата, без подпискиREST или MCPОдин ключ для моделей, данных и агентов

OpenAI SDK — самый широко поддерживаемый клиент в экосистеме, и в нём можно изменить две вещи: базовый URL и API-ключ. Направьте их на Half Off Dev, и один и тот же клиент сможет вызывать модели GPT, Claude и Gemini, так что смена модели сводится к замене одного слова. На этой странице показана настройка на Python и Node.js, получение списка моделей и, что важно, чем вы жертвуете по сравнению с собственным API каждого вендора.

01

Замена двух строк

from openai import OpenAI

client = OpenAI(base_url="https://halfoff.dev/v1", api_key="ho-...")

reply = client.chat.completions.create(
    model="claude-sonnet-5.5",
    messages=[{"role": "user", "content": "Say hello in French."}],
)
print(reply.choices[0].message.content)

Оставьте здесь /v1 в базовом URL: OpenAI SDK добавляет только путь после него. Работают и переменные окружения: официальные SDK читают OPENAI_BASE_URL и OPENAI_API_KEY, так что существующий код и инструменты можно перенаправить, не меняя их.

02

Список моделей

Python
for m in client.models.list():
    print(m.id)

GET https://halfoff.dev/v1/models общедоступен и возвращает все модели с ценами. Используйте эти идентификаторы точно как есть; они же есть в списке моделей.

03

Где способ перестаёт работать

Chat Completions — это формат OpenAI. Когда вы отправляете его модели Claude или Gemini, запрос преобразуется под эту модель, поэтому возможности, существующие только в собственном API вендора, могут отбрасываться или отклоняться. На практике:

Вам нужноИспользуйте
Обычный чат, потоковая передача, вызов функций, вывод в JSONКлиент OpenAI работает со всеми моделями
cache_control Claude, расширенное мышлениеAnthropic SDK с адресом https://halfoff.dev (руководство)
thinkingConfig Gemini, нативный ввод аудио и видеоGemini SDK или REST (руководство)
Responses API GPT, Codex CLIhttps://halfoff.dev/v1/responses (руководство)

Если важна цена, важен и нативный формат: скидка на кеш Claude требует cache_control, а он гарантированно работает только в формате Anthropic. Способ каждого вендора объясняет раздел кеширование промптов.

04

Устранение неполадок

{}
401

ключ не доходит до сервера или введён с опечаткой. Проверьте имя переменной окружения, которую читает ваш код.

404 с упоминанием модели

такого идентификатора нет в GET /v1/models. Скопируйте его оттуда.

404 с /v1/v1/ в пути

базовый URL оканчивается на /v1, а инструмент добавляет его ещё раз. Для инструментов, которые сами дописывают /v1, уберите его.

402

баланс пуст или достигнут лимит расходов. См. раздел Оплата.

Полный список есть в разделе Ошибки.

05

Частые вопросы

?
Можно ли использовать OpenAI SDK с Claude?+

Да. Укажите базовый URL https://halfoff.dev/v1, свой ключ и в model идентификатор Claude, например claude-sonnet-5.5. Для функций, доступных только в Claude, вроде управления кешированием промптов, используйте Anthropic SDK.

Поддерживает ли библиотека OpenAI для Python свой базовый URL?+

Да: передайте base_url клиенту или задайте OPENAI_BASE_URL. В библиотеке для Node.js то же самое делается через baseURL.

Это совместимость с OpenAI или настоящий API?+

Оба варианта работают нативно на одном хосте: OpenAI Chat Completions и Responses, Anthropic Messages и Gemini. Выберите тот формат, на котором уже написан ваш код.

С какой модели начать?+

С модели среднего размера любого вендора; сравните в калькуляторе и в руководствах по ценам для Claude, GPT и Gemini.

Сколько это стоит?+

Каждая модель стоит половину официального прайса, оплата идёт за токены с предоплаченного баланса. Чтобы начать, создайте аккаунт и сделайте ключ.

Один предоплаченный ключ для моделей, данных и агентов

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