Skip to main content

Suno

API Suno - это инновационный интерфейс программирования приложений, предназначенный для работы с искусственным интеллектом, специализирующимся на создании музыкальных композиций.

Данный API позволяет разработчикам интегрировать возможности генерации музыки в свои приложения, предоставляя доступ к созданию уникальных треков на основе текстовых описаний или заданных параметров.

С помощью API Suno можно программно управлять различными аспектами музыкальной генерации, включая жанр, темп, инструментальный состав и даже создание вокальных партий с заданным текстом.

Полезная методичка по промтам для Suno (Владислав Эль).

Как отправить запрос через API

  1. Сгенерировать API_TOKEN
  2. Отправить POST-запрос на генерацию музыки https://api.smartbuddy.ru/v1/jobs/suno (см. примеры запросов, описание параметров)
  3. Отправить GET-запрос на получение результата https://api.smartbuddy.ru/v1/jobs/{id} (id из ответа из шага 2)

API Suno

Создание задачи на генерацию

Отправить 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"
}
note

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"
]
}
note

result - массив ссылок на результаты генерации (suno выдает 2 трека).

Задача должна быть в статусе done. Другие статусы: pending - задача в работе, error - ошибка (см. ключ errors).