Большинство разработчиков предпочитают вызывать ИИ-сервисы по 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
codex
# Browser opens for OAuth authorization
# Codex automatically gets the access token after login
Вход по API-ключу
# Сначала создайте ~/.codex/config.toml (см. ниже «Как настроить base URL»), затем задайте ключ и запустите
export OPENAI_API_KEY="sk-xxxxxxxxxxxx"
codex
Кому подходит API-ключ
- Тем, кто автоматизирует: встраивает Codex в CI/CD, скрипты или пакетные задания
- Командам: несколько разработчиков с общим ключом и общим балансом
- Тем, кто работает в нескольких инструментах: общая квота API для Codex CLI, IDE-плагинов и собственных приложений
- Тем, кто контролирует расходы: нужна точная оплата по использованию без привязки к подписке
Как настроить переменные окружения
macOS / Linux
# 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
# Temporary
$env:OPENAI_API_KEY="sk-teamo-xxxxxxxx"
# Permanent (current user)
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-teamo-xxxxxxxx", "User")
Файл .env (рекомендуется)
Создайте файл .env для настройки на уровне проекта:
OPENAI_API_KEY=sk-teamo-xxxxxxxx
Затем загрузите его в терминале:
export $(cat .env | xargs)
codex
Как настроить base URL
Текущие версии Codex CLI не читают переменную окружения OPENAI_BASE_URL: эндпоинт API задаётся в разделе model_providers файла ~/.codex/config.toml. Если вы работаете в сети с ограничениями, укажите в нём TeamoRouter:
macOS / Linux:
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):
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:
OPENAI_API_KEY="sk-teamo-xxxxxxxx" codex
Примечание: должен ли
base_urlвключать/v1, зависит от того, как в инструменте реализован протокол. Codex CLI использует Responses API (/v1/responses), поэтомуbase_urlдолжен содержать путь/v1.
Частые ошибки и их устранение
Неверный API-ключ (invalid API key)
Error: 401 Unauthorized
{
"error": {
"message": "Incorrect API key provided",
"type": "invalid_request_error"
}
}
Что проверить:
- Убедитесь, что переменная окружения задана:
echo $OPENAI_API_KEY - Проверьте, что вокруг ключа нет лишних пробелов или переносов строк
- Убедитесь, что срок действия API-ключа не истёк
Недостаточно средств (insufficient balance)
Error: 429 Too Many Requests
{
"error": {
"message": "You exceeded your current quota",
"type": "insufficient_quota"
}
}
Что проверить:
- Войдите в консоль TeamoRouter и проверьте баланс
- Убедитесь, что на аккаунте, к которому привязан API-ключ, достаточно средств
Нет доступа к модели (model no permission)
Error: 403 Forbidden
{
"error": {
"message": "The model `gpt-6.1-sol` is not available for your API key",
"type": "access_terminated"
}
}
Что проверить:
- Убедитесь, что у API-ключа есть права на запрошенную модель
- Проверьте список разрешённых моделей в консоли TeamoRouter
Ошибка в настройке baseUrl
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-ключ).
С чего начать
- Зарегистрируйтесь в TeamoRouter и получите API-ключ
- По руководству по установке Codex настройте переменные окружения и baseUrl
- Запустите
codexв терминале и начинайте писать код
Стабильный доступ к Codex, Claude Code и Gemini CLI через TeamoRouter.