Клонирование голоса в Suno API: пошаговая интеграция для разработчиков
Голосовое клонирование в музыкальной генерации — не экзотика, а рабочий инструмент: вокал конкретного человека можно «пересадить» в новый трек, сгенерированный моделью. Разберём, как это сделать через Suno Voice Clone API на платформе Ace Data Cloud, единый endpoint которой даёт доступ сразу к нескольким моделям — GPT, Claude, Gemini, Midjourney, Suno и другим — без переключения между провайдерами.
Зачем клонирование голоса в музыкальной генерации
Стандартный Persona API в Suno работает с уже существующими голосовыми пресетами (по audio_id). Voice Clone API устроен иначе: вы передаёте публично доступную ссылку на собственную аудиозапись (audio_url), и система создаёт персональный голосовой профиль, который затем можно использовать при генерации новых песен. Это полезно для:
- создания музыкального контента с узнаваемым «фирменным» вокалом;
- кавер-версий существующих треков в конкретном голосе;
- прототипирования вокальных партий до записи в студии.
Требования к исходному аудио
Качество клонирования напрямую зависит от исходника. Разработчики платформы рекомендуют:
- формат
WAVилиMP3; - длительность не менее 10 секунд, оптимально 30–60 секунд;
- чистый, разборчивый голос одного человека — речь или пение;
- отсутствие фонового шума, аккомпанемента, эха и реверберации;
- только один говорящий/поющий, без наложений голосов.
Голосовые профили, созданные из загруженного аудио, являются приватными ресурсами: они не передаются между аккаунтами и рекомендуется использовать их вскоре после создания, поскольку долгое бездействие может привести к недоступности профиля.
Шаг 1. Создание голосового профиля
Отправляем запрос с ссылкой на аудиофайл. Параметр audio_url обязателен, name и description — опциональны.
curl -X POST 'https://api.acedata.cloud/suno/voices' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"audio_url": "https://example.com/my-voice-sample.mp3",
"name": "My Voice Profile",
"description": "Clean single-voice recording, 45 seconds"
}'
Ответ содержит идентификатор созданного профиля:
{
"success": true,
"task_id": "b9150e51-d87c-4556-a55e-100947a63bdf",
"data": {
"persona_id": "e95013f8-eaee-4741-a42f-1d559a9d0b2b",
"name": "My Voice Profile",
"is_public": false
}
}
Поле persona_id — это ключ, который понадобится на следующем шаге. Поле is_public всегда false: профиль, созданный из загруженного аудио, приватен по умолчанию.
Шаг 2. Генерация трека с клонированным голосом
Используем полученный persona_id в запросе генерации музыки. Обратите внимание: клонирование голоса поддерживается только моделями chirp-v4-5 и новее (chirp-v4-5, chirp-v5, chirp-v5-5); модель chirp-v4 не подходит.
curl -X POST 'https://api.acedata.cloud/suno/audios' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
"action": "generate",
"model": "chirp-v5-5",
"prompt": "A warm synth-pop song about city nights",
"persona_id": "e95013f8-eaee-4741-a42f-1d559a9d0b2b"
}'
Результат — готовый трек со ссылкой на аудио и обложку:
{
"success": true,
"task_id": "53d8a334-a972-43c5-895e-60c4454e88d5",
"data": [
{
"id": "16463960-077c-4700-bbb3-3c7897b943d3",
"title": "Soft Neon on My Skin",
"audio_url": "https://cdn1.suno.ai/16463960-077c-4700-bbb3-3c7897b943d3.mp3",
"image_url": "https://cdn2.suno.ai/image_16463960-077c-4700-bbb3-3c7897b943d3.jpeg",
"model": "chirp-v5-5",
"state": "succeeded",
"prompt": "A warm synth-pop song about city nights",
"duration": 156.28
}
]
}
Тот же persona_id можно применить и с действием cover, чтобы перепеть существующую песню клонированным голосом.
Python-обёртка для пайплайна
Для встраивания в собственный сервис удобнее сразу написать функцию, которая создаёт профиль и запускает генерацию:
import requests
API_BASE = "https://api.acedata.cloud"
TOKEN = "your_token_here"
HEADERS = {
"accept": "application/json",
"authorization": f"Bearer {TOKEN}",
"content-type": "application/json",
}
def create_voice(audio_url: str, name: str, description: str = "") -> str:
resp = requests.post(
f"{API_BASE}/suno/voices",
headers=HEADERS,
json={"audio_url": audio_url, "name": name, "description": description},
timeout=60,
)
resp.raise_for_status()
return resp.json()["data"]["persona_id"]
def generate_with_voice(persona_id: str, prompt: str, model: str = "chirp-v5-5") -> dict:
resp = requests.post(
f"{API_BASE}/suno/audios",
headers=HEADERS,
json={
"action": "generate",
"model": model,
"prompt": prompt,
"persona_id": persona_id,
},
timeout=120,
)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
pid = create_voice("https://example.com/my-voice-sample.mp3", "Demo Voice")
track = generate_with_voice(pid, "An upbeat indie-pop track about a road trip")
print(track["data"][0]["audio_url"])
Типичные ошибки и как их избежать
- Слишком короткий или зашумлённый исходник — приводит к деградации качества клонирования; держитесь рекомендованных 30–60 секунд чистой записи.
- Использование
chirp-v4— модель не поддерживаетpersona_idиз Voice Clone API, генерация завершится ошибкой или проигнорирует голос. - Долгое хранение профиля без использования — приватные голосовые профили могут стать недоступны при длительном бездействии; создавайте профиль непосредственно перед серией генераций.
- Ожидание кросс-аккаунтного доступа — профиль привязан к аккаунту, который его создал, и не передаётся другим пользователям API.
Оплата и расчёты за вызовы
Каждый вызов /suno/voices и /suno/audios списывает кредиты с баланса приложения. Пополнить баланс можно в консоли, создав заказ на покупку пакета кредитов. Помимо привычных способов оплаты доступен расчёт в USDC по протоколу X402 — ончейн-транзакции поддерживаются в сетях Solana и Base. При оплате заказа в USDC действует скидка 5%, а сам процесс не требует международной банковской карты: пополнили баланс один раз — далее API-вызовы списываются с него автоматически. Управлять заказами и пополнением удобно в разделе Coin консоли.
Итог
Voice Clone API закрывает практическую задачу — перенос конкретного голоса в сгенерированный трек — двумя простыми запросами: создание профиля и генерация с указанием persona_id. Начать удобно с раздела платформы на русском языке, где можно оформить первый токен в консоли приложений, а полное описание параметров и других API — музыки, изображений, видео, поиска — доступно в документации.
Comments
Post a Comment