Настройка инструментов

OpenAI-совместимый API: быстрый старт — от curl до официального SDK

Ищете OpenAI-совместимый API, к которому можно подключиться за ближайшие пять минут? Направьте любой клиент OpenAI на https://router.apitoken.sale/v1 с одним ключом sk-pool и тем же предоплаченным балансом, который уже покрывает Claude. Responses и Chat Completions стримят по SSE, а использование GPT-6 Astra / GPT-5.6 тарифицируется по официальным ставкам OpenAI за токены минус ваша единая скидка 50%.

·

Первый ответ GPT-5.6 за три шага

Вся миграция с API OpenAI на этот эндпоинт — это смена base URL и одного заголовка. Новый SDK изучать не нужно, никакого слоя-адаптера и отдельного аккаунта для GPT нет: ключ, которым вы, возможно, уже пользуетесь для Claude, — тот же самый здесь, а общий предоплаченный баланс учитывает обоих провайдеров.

  1. 01Создайте бесплатный аккаунт и выпустите один API-ключ вида sk-pool-… — он уже покрывает поддерживаемые модели Claude, Gemini и Kimi на их собственных протокольных поверхностях.
  2. 02Направьте клиент на https://router.apitoken.sale/v1 и авторизуйтесь через Authorization: Bearer — не отправляйте x-api-key: этот заголовок относится к Anthropic Messages и здесь будет отклонён.
  3. 03Проверьте включённый набор моделей через GET https://router.apitoken.sale/v1/models — единый каталог задаёт ID по пространствам имён провайдеров (anthropic/*, openai/*, google/*) — затем отправьте запрос Responses ниже.
curl https://router.apitoken.sale/v1/responses \
  -H "Authorization: Bearer $APITOKEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-sol",
    "input": "Reply with exactly: connected"
  }'

Если в теле ответа пришёл output text — всё готово: любой другой ваш клиент заработает так же после однострочного изменения конфигурации.

Читайте также: Как купить API-ключ GPT

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

Официальные SDK OpenAI работают без изменений. Меняются только base_url и ключ, причём в production ключ должен жить в серверной переменной окружения — никогда не в клиентском коде и не в закоммиченном файле.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["APITOKEN_API_KEY"],
    base_url="https://router.apitoken.sale/v1",
)

response = client.responses.create(
    model="gpt-5.6-sol",
    input="Reply with exactly: connected",
)
print(response.output_text)

Фреймворки, жёстко привязанные к форме Chat Completions, — старые цепочки LangChain, конфиги LiteLLM, большинство open-source чат-интерфейсов — работают на том же хосте с тем же ID модели и ключом:

completion = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": "Hello"}],
)
print(completion.choices[0].message.content)

Какую поверхность выбрать для нового кода? Responses. Оба эндпоинта стримят по SSE с одинаковыми моделями, ценами и скидкой, но именно вокруг Responses строится актуальный инструментарий OpenAI: элементы рассуждений и вызовы инструментов идут в одном типизированном потоке, а удобства вроде response.output_text доступны из коробки. Chat Completions существует для клиентов и фреймворков, ожидающих классический массив messages; ничто из построенного на одной поверхности не закрывает вам другую.

ID моделей, цены за токен и ловушка 272K

Набор моделей закреплён и тарифицирован в движке, а GET https://router.apitoken.sale/v1/models — всегда актуальный ответ. Сегодня линейка включает GPT-6 Astra, три уровня GPT-5.6 плюс две модели прошлого поколения, оставленные для совместимости:

ID моделиУровеньОфиц. вход / выход ($ за 1M)Кэш входа
gpt-6-astraGPT-6 Astra$10 / $50$1
gpt-5.6-sol (псевдоним: gpt-5.6)Флагман$4 / $20 (временно)$0.40
gpt-5.6-terraСбалансированная$2 / $12$0.20
gpt-5.6-lunaБыстрая$0.20 / $1.20$0.02
gpt-5.5Флагман прошлого поколения$5 / $30$0.50
gpt-5.4Сбалансированная прошлого поколения$2.50 / $15$0.25
  • Временные официальные ставки Sol за input/cached/запись кэша/output — $4/$0.40/$5/$20 до 2026-11-21 включительно, а после плоской скидки 50% — $2/$0.20/$2.50/$10. С 2026-11-22 UTC возвращаются стандартные $5 за input и $30 за output.
  • Выбирайте по уровню: gpt-5.6-sol — для самых сложных рассуждений, gpt-5.6-terra — ежедневная рабочая лошадка, gpt-5.6-luna — для массовых дешёвых вызовов. Псевдоним gpt-5.6 выбирает Sol, а не Astra.
  • Усилие рассуждений настраивается на каждый запрос — от none до xhigh у всех моделей, плюс max в линейке GPT-5.6.
  • Каждая модель принимает текст и изображения на входе и стримит по SSE как в Responses, так и в Chat Completions.
  • Официальные tool_choice (none/auto/required/именованная функция/hosted web_search и image_generation), parallel_tool_calls включая false и hosted web_search/image_generation пробрасываются; Chat Completions мапит эти hosted-инструменты на те же Responses-инструменты.
  • Кэшированный вход тарифицируется отдельно и намного дешевле свежего ($0.40 против $4 за 1M на Sol во время акции) — стабильный префикс промпта между вызовами это реальные деньги, а не микрооптимизация.
  • Ваша единая B2C-скидка 50% действует здесь точно так же, как и для Claude, — один баланс, одна ставка, минус половина от официального расхода.

Порог 272K — это ловушка: выше него ставки OpenAI для длинного контекста применяются ко всему запросу — ×2 на вход и ×1,5 на выход, а не только к превышению. На Sol по акционному тарифу 270K input плюс 2K output стоят $1.12 официально, а 273K плюс 2K — $2.244. Делите слишком большие контексты на части или сокращайте историю до пересечения границы.

Полные характеристики моделей и цены со скидкой

Что этот эндпоинт есть — и чего нет

Это независимый OpenAI-совместимый сервис, а не OpenAI Platform. Он обслуживает каталог моделей, стриминговые Responses и Chat Completions, hosted web_search и image_generation на этих текстовых маршрутах, а также отдельные routes генерации и редактирования GPT Image 2. Эндпоинты audio, files, realtime, assistants, batch и fine-tuning недоступны — если ваше приложение зависит от них, оно не кандидат на миграцию. Для текста, vision, tool calling и названных hosted-инструментов поверхность здесь полная: в стандартном цикле «сгенерировать, стримить или вызвать инструмент» нет ни одного обращения к отсутствующему эндпоинту.

  • tool_choice none/auto/required, именованная функция и hosted web_search/image_generation пробрасываются (имя функции без name — 400).
  • parallel_tool_calls включая false пробрасывается; при false натив сериализует function_call.
  • include:["web_search_call.action.sources"] возвращает sources на завершённых search-элементах.
  • Responses image_generation пробрасывает output_format jpeg/webp и partial_images 1..=3 (SSE response.image_generation_call.partial_image). background=transparent переписывается в opaque, input_fidelity отбрасывается — эти поля дают 400 на этом ChatGPT image tool. Отдельные маршруты GPT Image 2 /v1/images/* по-прежнему принимают только PNG на выходе.
  • Нативные max_output_tokens/max_tokens этот endpoint выполнить не может (400 documented_limitation); уберите их. Адаптеры обрезают доставленный текст локально (~4 символа/токен) и выставляют incomplete_details.reason=max_output_tokens на Responses.
  • Hosted-инструменты кроме web_search и image_generation (hosted_shell, code_interpreter, file_search, computer, mcp, skills) — 400 documented_limitation с именованным param и обходом.

Ошибки приходят в стандартном конверте OpenAI — {"error":{"message","type","param","code"}} — поэтому существующий код обработки ошибок продолжает работать. Четыре статус-кода покрывают почти всё, что вы увидите при интеграции:

  • 401 — ключ неверен, отозван или вы отправили x-api-key вместо Authorization: Bearer. Воспроизведите запрос curl'ом вне приложения, чтобы понять, какая половина сломана.
  • 400 documented_limitation / unsupported_parameter — присутствующее официальное поле, которое этот endpoint не выполняет. Сообщение называет поле и обход; уберите его. Не повторяйте то же тело.
  • 402 insufficient_quota — общий предоплаченный баланс нужно пополнить. HTTP 402, не 429: SDK OpenAI ретраят 429. type и code остаются insufficient_quota.
  • 404 — ID модели не включён на вашем ключе; проверьте GET https://router.apitoken.sale/v1/models вместо того, чтобы предполагать, что имя из документации OpenAI существует и здесь.

GPT-6 Astra: новейшая модель GPT

GPT-6 Astra — новейшая модель GPT в каталоге моделей. Официальные ставки за свежий ввод/кешированный ввод/запись кеша/вывод — $10/$1/$12.50/$50 за 1 млн токенов; после скидки B2C 50% — $5/$0.50/$6.25/$25. Максимальный контекст Codex — 872K, консервативный лимит ввода — 744K, вывод — 128K. Уровни reasoning: low, medium, high, xhigh и max. Свыше 272K ввода ставки ввода и кеша удваиваются, вывода — умножаются на 1,5; Fast удваивает применимые ставки. Примеры GPT-5.6 ниже сохраняют свои ставки.

GPT-6 Astra

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

Можно ли использовать существующий OpenAI SDK с собственным base URL?

Да — передайте официальному клиенту api_key и base_url="https://router.apitoken.sale/v1", всё остальное останется без изменений. В production храните ключ в серверной переменной окружения.

Неужели один API-ключ действительно покрывает GPT, Claude, Gemini и Kimi?

Да. Один ключ sk-pool и один предоплаченный баланс обслуживают всех четырёх провайдеров; для каждой поверхности используйте задокументированные для неё протокол и заголовок авторизации (Bearer здесь, x-api-key — на эндпоинте Anthropic Messages).

Responses API или Chat Completions для нового проекта?

Responses. Обе стримят по SSE с теми же моделями и ценами, но Responses — поверхность, вокруг которой строятся актуальные SDK и инструментарий OpenAI; Chat Completions существует для клиентов, ожидающих классическую форму.

Работают ли tool_choice, parallel_tool_calls и hosted web_search/image_generation?

Да. Официальные tool_choice (включая required и именованные инструменты), parallel_tool_calls включая false и hosted web_search/image_generation пробрасываются на Responses; Chat Completions мапит эти hosted-инструменты на те же Responses-инструменты. Для sources поиска запросите include:["web_search_call.action.sources"]. Нативный max_output_tokens обрезается локально, потому что провод ChatGPT его отклоняет.

Почему я получаю 401 на OpenAI-совместимом эндпоинте?

Почти всегда дело в заголовке авторизации: этот эндпоинт ждёт Authorization: Bearer sk-pool-…, а заголовок x-api-key из сетапов в стиле Anthropic возвращает здесь 401.

Используйте Google или GitHub, чтобы получить ключ и бонус $5 на баланс платформы до пополнения.