NexaraNexara

Аутентификация

Как аутентифицировать запросы к Nexara API с помощью API-ключа.

Все запросы к Nexara API аутентифицируются с помощью API-ключа, который передаётся в заголовке Authorization по схеме Bearer.

API-ключ

API-ключ выглядит так:

nx-XXXXXXXXXXXXXXXXXXXXXXXX

Ключ начинается с префикса nx-, за которым следуют 24 случайных символа (латинские буквы в верхнем и нижнем регистре и цифры).

API-ключ подобен паролю от аккаунта. Он даёт полный доступ к вашему аккаунту и позволяет списывать средства с вашего баланса. Никогда не публикуйте ключи в клиентском коде, репозиториях или сообщениях. Храните его в переменных окружения или в защищённом хранилище секретов. Если думаете, что Ваш ключ утек в сеть, немедленно замените его в личном кабинете.

Получение ключа

API-ключи создаются и управляются в личном кабинете — app.nexara.ru. Там же можно создавать новые ключи, задавать им имена и удалять (отзывать) ненужные.

Использование ключа

Передавайте ключ в HTTP-заголовке Authorization в формате Bearer <ваш_ключ>:

Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX

cURL

curl https://api.nexara.ru/v1/audio/transcriptions \
  -H "Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX" \
  -F "file=@audio.mp3" \
  -F "model=whisper-1"

Чтобы не подставлять ключ в каждый запрос, сохраните его в переменную окружения NEXARA_API_KEY, а затем ссылайтесь на неё как $NEXARA_API_KEY:

export NEXARA_API_KEY="nx-XXXXXXXXXXXXXXXXXXXXXXXX"

curl https://api.nexara.ru/v1/audio/transcriptions \
  -H "Authorization: Bearer $NEXARA_API_KEY" \
  -F "file=@audio.mp3" \
  -F "model=whisper-1"

Команда export действует только в текущей сессии терминала. Чтобы переменная сохранялась между сессиями, добавьте строку export NEXARA_API_KEY="nx-..." в файл конфигурации вашей оболочки (например, ~/.bashrc или ~/.zshrc).

Python (OpenAI SDK)

Nexara API совместим с OpenAI SDK — достаточно указать base_url и передать API-ключ Nexara. Обратите внимание, что в таком случае Bearer добавлять к ключу не нужно.

from openai import OpenAI

client = OpenAI(
    api_key="nx-XXXXXXXXXXXXXXXXXXXXXXXX",
    base_url="https://api.nexara.ru/v1",
)

with open("audio.mp3", "rb") as audio_file:
    transcript = client.audio.transcriptions.create(
        model="whisper-1",
        file=audio_file,
    )

print(transcript.text)

Не храните ключ прямо в коде. Считывайте его из переменной окружения, например os.environ["NEXARA_API_KEY"].

Ошибки аутентификации

Если ключ отсутствует или недействителен, API возвращает статус 403 Forbidden с описанием в поле detail:

СообщениеПричинаКак исправить
No token specifiedЗаголовок Authorization отсутствует, пуст или имеет неверный формат (ожидается Bearer <ключ>).Добавьте заголовок Authorization: Bearer <ваш_ключ>.
Invalid tokenКлюч не существует или был отозван (удалён).Проверьте правильность ключа или создайте новый в личном кабинете.

Пример тела ответа:

{
  "detail": "Invalid token"
}

Заголовок обязательно должен быть в формате Bearer <ключ>. Значение без префикса Bearer, лишние пробелы или Bearer без самого ключа будут восприняты как отсутствие токена и приведут к ошибке No token specified.

Отзыв ключа

Если ключ скомпрометирован, удалите его в личном кабинете. Удалённый ключ немедленно перестаёт работать — все последующие запросы с ним будут отклонены с ошибкой Invalid token. При необходимости создайте новый ключ на замену.

On this page