Клонирование голоса в 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

Popular posts from this blog

Artistic QR Code API Integration Guidance

Подключаем Codex CLI к Ace Data Cloud: пошаговая настройка через единый API