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

Запускайте Codex CLI на apiToken.sale

Codex CLI полностью работает на аутентификации по API-ключу, если задать кастомного провайдера модели. Один TOML-профиль направляет его на apiToken.sale, и предоплаченный баланс покрывает каждую сессию — без входа в ChatGPT и со скидкой до 70% от официального расхода.

·

Создайте профиль

Сохраните это как ~/.codex/apitoken.config.toml. Именованный профиль не трогает конфигурацию Codex по умолчанию и возможный вход в ChatGPT — вы включаете его явно на каждый запуск.

# ~/.codex/apitoken.config.toml
model = "gpt-5.6-sol"
model_provider = "apitoken"

[model_providers.apitoken]
name = "apiToken.sale"
base_url = "https://openai.api.apitoken.sale/v1"
wire_api = "responses"
env_key = "APITOKEN_API_KEY"

env_key задаёт имя переменной окружения, из которой Codex читает ключ, — секрет остаётся в шелле и никогда не попадает в TOML-файл.

Читайте также: OpenAI-совместимый API: Responses и Chat Completions

Запуск и проверка

export APITOKEN_API_KEY=sk-pool-•••
codex --profile apitoken
  • Всегда явно передавайте --profile apitoken, чтобы не было двусмысленности, какой провайдер — и какая переменная — активен.
  • Меняйте модель под проект строкой model: gpt-5.6-sol для самой сложной работы, gpt-5.6-terra на каждый день, gpt-5.6-luna для быстрых дешёвых шагов.
  • GET https://openai.api.apitoken.sale/v1/models с тем же Bearer-ключом показывает актуальный набор моделей.

wire_api = "responses" — правильное значение для этого шлюза: он обслуживает и Responses, и Chat Completions, а Codex стримит через Responses. Ставьте "chat" только если конкретный клиент требует классическую форму.

Ошибки, которые можно встретить

  • Missing APITOKEN_API_KEY — переменная из env_key не экспортирована в шелле, который запускает codex. Экспортируйте её в том же шелле или в профиле оболочки.
  • stream error: unexpected status 401 — ключ неверен, отозван или base_url потерял суффикс /v1. Воспроизведите curl'ом вне Codex, чтобы понять, какая половина сломана.
  • stream error: unexpected status 404 — ID модели не включён; проверьте GET /v1/models вместо предположений.
  • 402 — предоплаченный баланс нужно пополнить; ожидание не поможет.

Полный разбор ошибок Codex — config.toml, auth.json, stream errors

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

Нужен ли аккаунт или подписка ChatGPT?

Нет. С кастомным профилем model_providers и ключом провайдера в окружении Codex работает полностью на аутентификации по API-ключу — вход ChatGPT из auth.json роли не играет.

Меняет ли это мою конфигурацию Codex по умолчанию?

Нет. Профиль живёт в отдельном файле и активируется только с --profile apitoken. Конфигурация и вход по умолчанию остаются как были.

Скидка та же, что и для Claude?

Да. Использование GPT-5.6 метерится по официальным ставкам OpenAI, и ваша активная скидка B2C — от 60% до 70% — применяется к тому же предоплаченному балансу.

Responses или Chat Completions для wire_api?

Используйте wire_api = "responses" — шлюз обслуживает оба формата, а Codex построен вокруг потока Responses. Форма Chat Completions существует для клиентов, которым она нужна.

Создайте аккаунт через Google или GitHub и протестируйте шлюз на $10 использования API.