Аутентификация
Все запросы к Suno-API аутентифицируются ключом API. На этой странице описано, как создать ключ, как его передавать, что означают ошибки и как хранить ключ безопасно.
Что такое ключ API
Ключ — это bearer-токен, привязанный к вашему аккаунту. На нём лежит баланс, поэтому тот, у кого есть ключ, может его потратить. При создании ключ показывается только один раз: скопируйте и сохраните его в надёжном месте.
Создание ключа
- Зарегистрируйтесь на https://www.suno-api.io — нужна только почта, без номера телефона.
- Откройте управление токенами в консоли.
- Создайте новый ключ и скопируйте его.
Ключи имеют вид sk-…. Потерянный ключ восстановить нельзя: создайте новый, а старый
удалите.
Использование ключа
Передавайте ключ в заголовке Authorization в каждом запросе:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Пример
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"description": "спокойная фортепианная пьеса для кофейни"}'
Ошибки аутентификации
401 Unauthorized
Заголовок отсутствует, искажён или ключ не существует.
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Проверьте, что заголовок выглядит ровно как Bearer <ключ> (с пробелом после Bearer) и что
в конец ключа не попал символ перевода строки.
403 Forbidden
Ключ действителен, но выполнить запрос нельзя — почти всегда из-за недостатка средств. Пополните баланс и повторите тот же запрос.
Правила безопасности
Никогда не встраивайте ключ в клиентский код
Не помещайте ключ в веб-страницы, мобильные приложения или десктопные программы. Любой, кто откроет инспектор браузера, сможет его прочитать и потратить ваш баланс. Вызывайте API со своего сервера и уже свой эндпоинт отдавайте пользователям.
Используйте переменные окружения
# ~/.bashrc или ~/.zshrc
export SUNO_API_KEY="sk-your-key-here"
# Python
import os
api_key = os.environ["SUNO_API_KEY"]
# файл .env — добавьте его в .gitignore
SUNO_API_KEY=sk-your-key-here
Ротируйте ключ при необходимости
Если есть подозрение на утечку, создайте замену и удалите старый ключ. Ротация стоит дёшево; утекший ключ — нет.
Лимиты запросов
Запросы ограничены по ключу. При превышении лимита API отвечает 429 Too Many Requests.
Повторяйте запрос с экспоненциальной задержкой вместо плотного цикла:
import time
delay = 1.0
for attempt in range(5):
response = call_api()
if response.status_code != 429:
break
time.sleep(delay)
delay *= 2
Частые вопросы
Какой формат у ключа?
Он начинается с sk-, дальше идёт случайная последовательность. Воспринимайте всё значение
как единый токен.
Можно ли вызывать API прямо из браузера?
Технически да, но в продакшене так делать нельзя: ключ увидят все посетители. Проксируйте запросы через свой бэкенд.
Как понять, что ключ ещё действителен?
Отправьте любой запрос с аутентификацией. 200 означает, что всё работает; 401 — ключ
недействителен или удалён.
Я потерял ключ. Что делать?
Ключи не восстанавливаются. Создайте новый в консоли и удалите старый.
Сколько ключей может быть у одного аккаунта?
Несколько. Заводите отдельный ключ на приложение или окружение, чтобы отзывать их независимо.
Ключи истекают?
Они действуют, пока вы их не удалите или не закроете аккаунт. Периодическая ротация — хорошая практика.
Как следить за расходом?
Баланс и история доступны в консоли. Каждая генерация стоит 0,6 ¥ и возвращает две композиции; неудачные генерации возвращаются автоматически.
Связанные страницы
Получить API-ключ
Создайте API-ключ в консоли после регистрации. Одна генерация стоит 0,6 ¥ и возвращает 2 трека, загрузки не ограничены, номер телефона не нужен.
Получить API-ключ Вернуться к обзору