ГлавнаяДокументация
Меню документации — Клонирование голоса

Клонирование голоса

Клонирование создаёт голос по аудиообразцу. Используйте модель minimax-voice-clone для создания и speech-2-8-hd для озвучки. Это два отдельных оплачиваемых действия.

Важно: /v1/files не подходит для образцов голоса. Используйте специальные маршруты ниже с ключом Ranvik API и разрешением audio.tts. В интерфейсе Playground создание клона пока не представлено.

1. Загрузите образец

Один файл MP3, M4A или WAV: 10–300 секунд, до 20 МиБ. Желательна чистая речь одного человека без музыки. Длительность и пригодность записи проверяются при обработке. Используйте свой голос или запись, на использование которой у вас есть разрешение.

curl --fail-with-body https://api.ranvik.ru/v1/audio/voice-files \
  -H "Authorization: Bearer rk_live_..." \
  -F "purpose=voice_clone" \
  -F "file=@sample.mp3"

Ответ:

{"id":"vfile_...","object":"voice.file","purpose":"voice_clone","expires_at":1789000000}

Сохраните id. Образец доступен для создания клона в течение 24 часов. Загрузка бесплатна; лимит — 100 загрузок в сутки на аккаунт. Не задавайте Content-Type вручную: curl добавит multipart boundary. В PowerShell используйте curl.exe.

2. Создайте голос

curl --fail-with-body https://api.ranvik.ru/v1/audio/voice-clone \
  -H "Authorization: Bearer rk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax-voice-clone","file_id":"vfile_...","need_noise_reduction":true,"need_volume_normalization":false}'

file_id — ID предыдущего шага, не ID файла из личного кабинета MiniMax. Оба параметра обработки необязательны, принимают JSON boolean. voice_id назначается сервисом и не передаётся в запросе.

{"object":"voice","voice_id":"rvapi_...","model":"minimax-voice-clone"}

Сохраните voice_id в настройках приложения. Один загруженный образец создаёт один голос. Повтор успешного запроса с тем же file_id в течение срока хранения возвращает тот же голос без повторной оплаты. Для нового клона загрузите новый образец.

Этот маршрут не принимает text, clone_prompt, prompt_audio и собственный voice_id. Прослушивание и любой другой синтез выполняются отдельным запросом озвучки.

3. Озвучьте текст созданным голосом

curl --fail-with-body https://api.ranvik.ru/v1/audio/speech \
  -H "Authorization: Bearer rk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"model":"speech-2-8-hd","input":"Здравствуйте! Это пример моего голоса.","voice":"rvapi_...","response_format":"mp3"}' \
  --output speech.mp3

Успешный синхронный ответ — аудиофайл, а не JSON. При ошибке ответ содержит JSON с error; проверяйте HTTP-код перед воспроизведением файла. Вместо voice можно использовать voice_setting: {"voice_id":"rvapi_..."}. Если передан voice_setting, задавайте голос внутри него.

Для длинного текста добавьте "async":true. API вернёт HTTP 202 и id задачи. Проверяйте GET /v1/audio/speech?task_id=task_... с тем же Authorization до status=completed, затем скачайте url. При failed смотрите поле error. ID задачи берите из ответа, не составляйте самостоятельно.

Оплата и срок жизни

При успешном создании Ranvik списывает разовую стоимость по тарифу MiniMax Voice Clone. Она включает последующую активацию этого голоса. Перед запросом сумма резервируется, при ошибке клонирования резерв возвращается. Каждая озвучка, включая первую, оплачивается отдельно по числу символов выбранной Speech-модели; повторная плата за создание того же голоса не взимается.

Выполните первую успешную озвучку в течение 7 дней после создания. Неиспользованный клон может быть удалён провайдером. Создание без озвучки не активирует голос. Истечение срока не отменяет уже выполненную услугу создания; для удалённого голоса потребуется новый оплачиваемый клон.

Доступ и перенос голосов

Голос доступен ключам того же аккаунта Ranvik API. Другой пользователь не сможет использовать его, даже зная voice_id. Клоны, созданные напрямую в личном аккаунте MiniMax или в основном продукте Ranvik, автоматически в API не переносятся. Создайте клон через эти маршруты; личный ключ MiniMax не нужен.

Ошибки и повтор запросов

  • 400: неверные поля, формат или размер файла.
  • 401/403: проверьте API-ключ и разрешение audio.tts.
  • 402: недостаточно средств.
  • 404: недоступная модель, чужой или истёкший образец либо недоступный голос.
  • 409 clone_pending: запрос для этого образца уже выполняется или требует проверки. Не загружайте новый образец для автоматического повтора.
  • 429: превышен лимит запросов или загрузок.
  • 502/503: ошибка обработки или биллинга. Для клонирования передайте поддержке заголовок x-request-id перед повторной попыткой: запрос мог успеть создать голос.