Блог

Настройка API-ключа для Codex: получение, конфигурация и устранение ошибок

Большинство разработчиков предпочитают вызывать ИИ-сервисы по API-ключу: это гибко, удобно автоматизировать и не зависит от входа через браузер. Но многие руководства для начинающих работу с Codex описывают только вход по логину и паролю ChatGPT, и пользователям непонятно, как работают API-ключи. В этой статье мы разберём оба способа аутентификации и их различия, а также покажем, как единый API-ключ в TeamoRouter всё упрощает.

Оплатить можно и криптовалютой. В окне пополнения нажмите «Оплатить криптовалютой» и переведите USDT, USDC или ETH с Binance, OKX или любой другой биржи либо кошелька — от $5, без расширения, можно с телефона. Пошагово — в статье «Как оплатить Claude API в USDT».

Почему многие разработчики предпочитают API-ключ входу через ChatGPT

У API-ключей есть явные преимущества перед входом через аккаунт ChatGPT:

  • Автоматизация: CI/CD-пайплайны, скрипты и автоматические задачи не могут вызывать API через вход в браузере.
  • Оплата по использованию: вы точно знаете, сколько стоит каждый запрос, и не рискуете остаться с истёкшей подпиской.
  • Один ключ для многих инструментов: один API-ключ работает в Codex CLI, приложении ChatGPT (с пользовательским эндпоинтом), IDE-плагинах и не только.
  • Командная работа: несколько разработчиков делят общий баланс с централизованным управлением.

Однако на пути к получению API-ключа напрямую у OpenAI есть два реальных препятствия: международная оплата (нужна зарубежная кредитная карта) и сетевые ограничения в некоторых регионах.

Два способа аутентификации: вход через ChatGPT и API-ключ

Параметр Вход через ChatGPT API-ключ
Настройка codex login с OAuth-авторизацией Задать переменную окружения OPENAI_API_KEY
Где применяется CLI (по умолчанию), Web, App CLI (явно), собственные скрипты
Оплата Подписка ChatGPT Plus/Pro ($20-$200/мес.) Оплата API по использованию
Плюсы Работает из коробки, не нужно управлять ключами Гибко, автоматизируется, можно делиться
Минусы Вход зависит от браузера, OAuth может зависать Нужно настраивать переменные окружения и беречь ключ
Доступ в регионах с ограничениями Для OAuth нужен прокси Нужен API-шлюз

Вход через ChatGPT

bash
codex
# Browser opens for OAuth authorization
# Codex automatically gets the access token after login

Вход по API-ключу

bash
# Сначала создайте ~/.codex/config.toml (см. ниже «Как настроить base URL»), затем задайте ключ и запустите
export OPENAI_API_KEY="sk-xxxxxxxxxxxx"

codex

Кому подходит API-ключ

  • Тем, кто автоматизирует: встраивает Codex в CI/CD, скрипты или пакетные задания
  • Командам: несколько разработчиков с общим ключом и общим балансом
  • Тем, кто работает в нескольких инструментах: общая квота API для Codex CLI, IDE-плагинов и собственных приложений
  • Тем, кто контролирует расходы: нужна точная оплата по использованию без привязки к подписке

Как настроить переменные окружения

macOS / Linux

bash
# Temporary (current terminal session)
export OPENAI_API_KEY="sk-teamo-xxxxxxxx"

# Permanent (write to shell profile)
echo 'export OPENAI_API_KEY="sk-teamo-xxxxxxxx"' >> ~/.zshrc
source ~/.zshrc

Windows PowerShell

powershell
# Temporary
$env:OPENAI_API_KEY="sk-teamo-xxxxxxxx"

# Permanent (current user)
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-teamo-xxxxxxxx", "User")

Файл .env (рекомендуется)

Создайте файл .env для настройки на уровне проекта:

bash
OPENAI_API_KEY=sk-teamo-xxxxxxxx

Затем загрузите его в терминале:

bash
export $(cat .env | xargs)
codex

Как настроить base URL

Текущие версии Codex CLI не читают переменную окружения OPENAI_BASE_URL: эндпоинт API задаётся в разделе model_providers файла ~/.codex/config.toml. Если вы работаете в сети с ограничениями, укажите в нём TeamoRouter:

macOS / Linux:

bash
mkdir -p ~/.codex && cat > ~/.codex/config.toml <<'EOF'
model_provider = "teamorouter"
model = "gpt-6.1-sol"

[model_providers.teamorouter]
name = "TeamoRouter"
base_url = "https://api.teamorouter.ai/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
EOF

Windows (PowerShell):

powershell
New-Item -ItemType Directory -Force -Path "$HOME\.codex" | Out-Null
@'
model_provider = "teamorouter"
model = "gpt-6.1-sol"

[model_providers.teamorouter]
name = "TeamoRouter"
base_url = "https://api.teamorouter.ai/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
'@ | Set-Content -Path "$HOME\.codex\config.toml" -Encoding UTF8

Когда config.toml готов, ключ можно задать и прямо в строке с командой codex:

bash
OPENAI_API_KEY="sk-teamo-xxxxxxxx" codex

Примечание: должен ли base_url включать /v1, зависит от того, как в инструменте реализован протокол. Codex CLI использует Responses API (/v1/responses), поэтому base_url должен содержать путь /v1.

Частые ошибки и их устранение

Неверный API-ключ (invalid API key)

bash
Error: 401 Unauthorized
{
  "error": {
    "message": "Incorrect API key provided",
    "type": "invalid_request_error"
  }
}

Что проверить:

  • Убедитесь, что переменная окружения задана: echo $OPENAI_API_KEY
  • Проверьте, что вокруг ключа нет лишних пробелов или переносов строк
  • Убедитесь, что срок действия API-ключа не истёк

Недостаточно средств (insufficient balance)

bash
Error: 429 Too Many Requests
{
  "error": {
    "message": "You exceeded your current quota",
    "type": "insufficient_quota"
  }
}

Что проверить:

  • Войдите в консоль TeamoRouter и проверьте баланс
  • Убедитесь, что на аккаунте, к которому привязан API-ключ, достаточно средств

Нет доступа к модели (model no permission)

bash
Error: 403 Forbidden
{
  "error": {
    "message": "The model `gpt-6.1-sol` is not available for your API key",
    "type": "access_terminated"
  }
}

Что проверить:

  • Убедитесь, что у API-ключа есть права на запрошенную модель
  • Проверьте список разрешённых моделей в консоли TeamoRouter

Ошибка в настройке baseUrl

bash
Error: 404 Not Found

Что проверить:

  • Убедитесь, что base_url в ~/.codex/config.toml содержит путь /v1
  • Проверьте, что в конце base_url нет завершающего слеша

FAQ

Можно ли использовать кредиты API, которые идут вместе с ChatGPT Plus?

Нет. Подписка ChatGPT Plus ($20/мес.) и оплата API по использованию — полностью независимые системы: кредиты Plus работают только на chat.openai.com, и потратить их через API-ключ нельзя. И наоборот: использование API не идёт в счёт подписки Plus.

Можно ли использовать один API-ключ в Codex CLI и других инструментах?

Да. Один и тот же API-ключ подходит для Codex CLI, пользовательских эндпоинтов ChatGPT, IDE-плагинов и не только. Единый API-ключ TeamoRouter поддерживает одновременно Codex, Claude Code и Gemini CLI — достаточно настроить baseUrl по документации каждого инструмента. Для Claude Code настройка расписана по шагам в статье «Claude Code в России: установка и настройка без VPN».

Есть ли риск утечки API-ключа?

Да, если ключ зашит в исходный код и закоммичен на GitHub. Используйте переменные окружения или файлы .env и добавьте .env в .gitignore.

Нужна ли кредитная карта, чтобы получить API-ключ в TeamoRouter?

Нет. Зарегистрируйтесь, чтобы получить API-ключ, пополните баланс перед использованием и оплачивайте через Alipay или другие локальные способы — минимальная сумма пополнения невелика. Из России можно платить в рублях (СБП, Т-Банк, ЮMoney, SberPay) или в USDT.

В Codex CLI есть и OPENAI_API_KEY, и вход через ChatGPT — что приоритетнее?

Если провайдер TeamoRouter настроен в config.toml, как описано выше, Codex CLI аутентифицируется по OPENAI_API_KEY, указанной в env_key. Встроенный провайдер OpenAI эту переменную не читает: он использует учётные данные, сохранённые командой codex login (аккаунт ChatGPT) или codex login --with-api-key (API-ключ).

С чего начать

  1. Зарегистрируйтесь в TeamoRouter и получите API-ключ
  2. По руководству по установке Codex настройте переменные окружения и baseUrl
  3. Запустите codex в терминале и начинайте писать код

Настроить Codex бесплатно →

Стабильный доступ к Codex, Claude Code и Gemini CLI через TeamoRouter.

Готовы подключиться?Войдите в консоль, пополните баланс и создайте API-ключ.