Большинство разработчиков предпочитают вызывать ИИ-сервисы по API-ключу: это гибко, удобно автоматизировать и не зависит от входа через браузер. Но многие руководства для начинающих работу с Codex описывают только вход по логину и паролю ChatGPT, и пользователям непонятно, как работают API-ключи. В этой статье мы разберём оба способа аутентификации и их различия, а также покажем, как единый API-ключ в TeamoRouter всё упрощает.
Почему многие разработчики предпочитают 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-ключу
export OPENAI_API_KEY="sk-xxxxxxxxxxxx"
export OPENAI_BASE_URL="https://api.teamorouter.com/v1"
codex
Кому подходит API-ключ
- Тем, кто автоматизирует: встраивает Codex в CI/CD, скрипты или пакетные задания
- Командам: несколько разработчиков с общим ключом и общим балансом
- Тем, кто работает в нескольких инструментах: общая квота API для Codex CLI, IDE-плагинов и собственных приложений
- Тем, кто контролирует расходы: нужна точная оплата по использованию без привязки к подписке
Как настроить переменные окружения
macOS / Linux
# Temporary (current terminal session)
export OPENAI_API_KEY="sk-teamo-xxxxxxxx"
export OPENAI_BASE_URL="https://api.teamorouter.com/v1"
# Permanent (write to shell profile)
echo 'export OPENAI_API_KEY="sk-teamo-xxxxxxxx"' >> ~/.zshrc
echo 'export OPENAI_BASE_URL="https://api.teamorouter.com/v1"' >> ~/.zshrc
source ~/.zshrc
Windows PowerShell
# Temporary
$env:OPENAI_API_KEY="sk-teamo-xxxxxxxx"
$env:OPENAI_BASE_URL="https://api.teamorouter.com/v1"
# Permanent (current user)
[Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-teamo-xxxxxxxx", "User")
[Environment]::SetEnvironmentVariable("OPENAI_BASE_URL", "https://api.teamorouter.com/v1", "User")
Файл .env (рекомендуется)
Создайте файл .env для настройки на уровне проекта:
OPENAI_API_KEY=sk-teamo-xxxxxxxx
OPENAI_BASE_URL=https://api.teamorouter.com/v1
Затем загрузите его в терминале:
export $(cat .env | xargs)
codex
Как настроить base URL
Codex CLI определяет эндпоинт API по переменной окружения OPENAI_BASE_URL. По умолчанию это https://api.openai.com/v1. Если вы работаете в сети с ограничениями, укажите в ней TeamoRouter:
export OPENAI_BASE_URL="https://api.teamorouter.com/v1"
Или задайте переменные прямо в строке с командой codex:
OPENAI_BASE_URL="https://api.teamorouter.com/v1" OPENAI_API_KEY="sk-teamo-xxxxxxxx" codex
Примечание: должен ли
OPENAI_BASE_URLвключать/v1, зависит от того, как в инструменте реализован протокол. Codex CLI использует Responses API (/v1/responses), поэтому baseUrl должен содержать путь/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-4o` is not available for your API key",
"type": "access_terminated"
}
}
Что проверить:
- Убедитесь, что у API-ключа есть права на запрошенную модель
- Проверьте список разрешённых моделей в консоли TeamoRouter
Ошибка в настройке baseUrl
Error: 404 Not Found
Что проверить:
- Убедитесь, что
OPENAI_BASE_URLсодержит путь/v1 - Проверьте, что в конце 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 по документации каждого инструмента.
Есть ли риск утечки API-ключа?
Да, если ключ зашит в исходный код и закоммичен на GitHub. Используйте переменные окружения или файлы .env и добавьте .env в .gitignore.
Нужна ли кредитная карта, чтобы получить API-ключ в TeamoRouter?
Нет. Зарегистрируйтесь, чтобы получить API-ключ, пополните баланс перед использованием и оплачивайте через Alipay или другие локальные способы — минимальная сумма пополнения невелика.
В Codex CLI есть и OPENAI_API_KEY, и вход через ChatGPT — что приоритетнее?
Если задана переменная OPENAI_API_KEY, Codex CLI аутентифицируется по API-ключу и игнорирует активную сессию ChatGPT.
С чего начать
- Зарегистрируйтесь в TeamoRouter и получите API-ключ
- По руководству по установке Codex настройте переменные окружения и baseUrl
- Запустите
codexв терминале и начинайте писать код
Стабильный доступ к Codex, Claude Code и Gemini CLI через TeamoRouter.