Аутентификация
Все запросы к NexusAPI авторизуются через стандартный Bearer-токен.
Authorization: Bearer <ВАШ_API_KEY>Где взять ключ
- Зарегистрируйся на panel.nexusapi.dev (email + пароль)
- Перейди в API ключи → Выпустить новый ключ
- Скопируй полный секрет немедленно — он отображается ровно один раз. Дальше панель показывает только маскированный вид (
e667...10b4)
Один аккаунт может иметь несколько ключей — удобно держать отдельный ключ под каждое приложение, отдельный для разработки и продакшена.
Безопасное хранение
Стандартный подход — env-переменные. Положи ключ в .env (добавь файл в .gitignore):
NEXUS_KEY=твой_секрет_здесьИ читай через переменную окружения:
import oskey = os.environ["NEXUS_KEY"]const key = process.env.NEXUS_KEY;key := os.Getenv("NEXUS_KEY")Что произойдёт без или с неверным ключом
| Сценарий | Код |
|---|---|
Заголовок Authorization не передан | 401 Unauthorized |
| Ключ есть, но не существует в БД | 401 Unauthorized |
| Ключ есть, но баланс ниже стоимости запроса | 402 Payment Required |
| Ключ есть, но запрос не из allowed IP | 403 Forbidden |
Ключ есть, но модель не в allowed_models | 403 Forbidden |
Ключ есть, но превышен rate_limit_per_min | 429 Too Many Requests |
Ограничения на ключ
Для production-окружений рекомендуется привязать ключ к конкретным условиям. Эти ограничения настраиваются админом (на этом этапе — через админку, self-service в клиентской панели появится в одной из следующих итераций):
allowed_ip_cidrs— список IP/CIDR, с которых разрешён запрос. Например, IP твоего бэкенда:["203.0.113.5/32"].allowed_models— белый список моделей. Например,["veo-3-fast", "nano-banana"]— если ключ для бота, который генерит только превью.rate_limit_per_min— максимум запросов в минуту с этого ключа.
Если попробовать с этого ключа дёрнуть модель не из списка или с IP не из разрешённых — получишь 403, баланс не списывается.
Ротация и отзыв
Если есть подозрение, что ключ утёк — в панели нажми «Удалить» рядом с ним. Существующие задачи на этом ключе продолжат выполняться (рефанд при провале сработает на удалённый ключ), но новые /generate начнут давать 401.
После отзыва выпусти новый ключ, обнови env-переменную в проде, передеплой.