Suno
API Suno - это инновационный интерфейс программирования приложений, предназначенный для работы с искусственным интеллектом, специализирующимся на создании музыкальных композиций.
Данный API позволяет разработчикам интегрировать возможности генерации музыки в свои приложения, предоставляя доступ к созданию уникальных треков на основе текстовых описаний или заданных параметров.
С помощью API Suno можно программно управлять различными аспектами музыкальной генерации, включая жанр, темп, инструментальный состав и даже создание вокальных партий с заданным текстом.
Полезная методичка по промтам для Suno (Владислав Эль).
Как отправить запрос через API
- Сгенерировать API_TOKEN
- Отправить POST-запрос на генерацию музыки
https://api.smartbuddy.ru/v1/jobs/suno
(см. примеры запросов, описание параметров) - Отправить GET-запрос на получение результата
https://api.smartbuddy.ru/v1/jobs/{id}
(id
из ответа из шага 2)
Создание задачи на генерацию
Отправи ть POST-запрос на https://api.smartbuddy.ru/v1/jobs/suno (swagger)
Параметры запроса
model
(обязательный) - версия Suno (v3.5, v4)prompt
(обязательный) - Текст песни или подсказки по созданию музыкиtitle
(обязательный) - Название песниtags
(обязательный) - Музыкальные стили через запятую (пример: "Винтажный джаз-лаундж, классические стандарты, плавные соло на трубе, контрабас и знойный женский вокал.")
Пример запроса на языке Python
import requests
import json
url = "https://api.smartbuddy.ru/v1/jobs/suno"
payload = json.dumps({
"model": "v4",
"prompt": "кот-проглот",
"title": "кот",
"tags": "Винтажный джаз-лаундж, классические стандарты, плавные соло на трубе, контрабас и знойный женский вокал."
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer API_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Пример ответа
{
"id": "9e67bc43-bdc7-4d5b-a68a-cacc51cf2b0c",
"status": "pending",
"created_at": "2025-03-11T09:02:53.000000Z"
}
id
- уникальный номер задачи, используется в GET-запросе на получение результата генерации
Получение результата (генерации suno)
Допустим, вы отправили запрос на генерацию и получили "id": "9e67bc43-bdc7-4d5b-a68a-cacc51cf2b0c"
в ответе.
Для получения результата генерации нужно отправить запрос на https://api.smartbuddy.ru/v1/jobs/{id} (swagger)
Пример запроса на языке Python
import requests
import json
url = "https://api.smartbuddy.ru/v1/jobs/9e67bc43-bdc7-4d5b-a68a-cacc51cf2b0c"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer API_TOKEN'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Пример ответа
{
"id": "9e67bc43-bdc7-4d5b-a68a-cacc51cf2b0c",
"status": "done",
"created_at": "2025-03-11T09:02:53.000000Z",
"result": [
"https://smartbuddy.ru/content/jobs/9e67bc43-bdc7-4d5b-a68a-cacc51cf2b0c/67cffcd6ac24d.mp3",
"https://smartbuddy.ru/content/jobs/9e67bc43-bdc7-4d5b-a68a-cacc51cf2b0c/77cf679kac7d9.mp3"
]
}
result
- массив ссылок на результаты генерации (suno выдает 2 трека).
Задача должна быть в статусе done
. Другие статусы: pending
- задача в работе, error
- ошибка (см. ключ errors
).