Saltar al contenido principal
La clonación de voz te permite generar voz utilizando una voz proporcionada por una muestra de audio de referencia corta. Con tts-chatterbox-hd, sube una muestra a /audio/voices, guarda el identificador de voz vv_... devuelto y luego pásalo a /audio/speech.
Los identificadores de voz son específicos del modelo. Un identificador creado con tts-chatterbox-hd debe usarse con tts-chatterbox-hd.

Cómo funciona

  1. Subir - Envía un archivo de audio de referencia limpio a POST /audio/voices
  2. Guardar - Almacena el identificador de voz id devuelto
  3. Generar - Envía el identificador como voice en POST /audio/speech

Requisitos previos

  • Una clave de API de Venice
  • Una muestra de referencia limpia en formato MP3, WAV, FLAC o M4A
  • Al menos de 5 a 10 segundos de voz clara de un solo hablante
Configura tu clave de API:
export VENICE_API_KEY="your-api-key"

Paso 1: Sube una muestra de voz

Crea un identificador de voz subiendo el audio de referencia como datos de formulario multipart:
curl https://api.venice.ai/api/v1/audio/voices \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -F "model=tts-chatterbox-hd" \
  -F "file=@./reference-voice.wav"
Respuesta (200):
{
  "id": "vv_voice_abc123xyz",
  "model": "tts-chatterbox-hd"
}
Guarda el id para la generación de voz:
export VENICE_VOICE_ID="vv_voice_abc123xyz"

Paso 2: Genera voz

Pasa el identificador de voz clonada como voice en la solicitud de voz:
curl https://api.venice.ai/api/v1/audio/speech \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-chatterbox-hd",
    "voice": "'"$VENICE_VOICE_ID"'",
    "input": "Hello from Venice. This audio is generated with a cloned Chatterbox HD voice.",
    "response_format": "mp3"
  }' \
  --output chatterbox-clone.mp3
El cuerpo de la respuesta es audio binario en el formato solicitado.

Ejemplo completo

Este ejemplo sube una muestra de referencia, extrae el identificador de voz con jq y escribe el audio generado en chatterbox-clone.mp3:
VOICE_ID=$(
  curl -s https://api.venice.ai/api/v1/audio/voices \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    -F "model=tts-chatterbox-hd" \
    -F "file=@./reference-voice.wav" | jq -r '.id'
)

curl https://api.venice.ai/api/v1/audio/speech \
  -H "Authorization: Bearer $VENICE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-chatterbox-hd",
    "voice": "'"$VOICE_ID"'",
    "input": "This is a complete Chatterbox HD voice cloning example.",
    "response_format": "mp3",
    "speed": 1
  }' \
  --output chatterbox-clone.mp3

Consejos para la muestra de voz

Usa una muestra con un solo hablante, mínimo ruido de fondo y sin música. El habla natural funciona mejor que el audio susurrado, cantado o muy procesado. Las muestras más largas pueden ayudar cuando la voz tiene un ritmo, acento o tono distintivos, pero mantén la muestra centrada en el hablante objetivo.

Caducidad del identificador

La clonación de Chatterbox HD es zero-shot: Venice almacena temporalmente el audio de referencia subido y el modelo lo lee cuando sintetizas voz. No se crea ninguna plantilla de voz persistente. Los identificadores de voz caducan automáticamente después de 7 días. Cuando un identificador caduca, vuelve a subir la muestra de referencia para crear un nuevo identificador vv_....

Detectar compatibilidad con la clonación

Los modelos que admiten clonación incluyen un objeto voice_cloning en la especificación del modelo. Consulta los modelos TTS para comprobar los formatos admitidos, la duración mínima de la muestra y la retención:
curl "https://api.venice.ai/api/v1/models?type=tts" \
  -H "Authorization: Bearer $VENICE_API_KEY"
tts-chatterbox-hd indica:
{
  "voice_cloning": {
    "mode": "zero_shot",
    "accepted_formats": ["mp3", "wav", "flac", "m4a"],
    "min_sample_seconds": 5,
    "retention_days": 7
  }
}

Parámetros de la API

Crear voz

CampoTipoObligatorioDescripción
modelstringDebe ser tts-chatterbox-hd
filefileMuestra de audio de referencia. Los formatos admitidos son MP3, WAV, FLAC y M4A.

Generar voz

CampoTipoObligatorioPredeterminadoDescripción
modelstring-Debe coincidir con el modelo usado para crear el identificador de voz
voicestring-El identificador vv_... devuelto por POST /audio/voices
inputstring-Texto a sintetizar, hasta 4096 caracteres
response_formatstringNomp3mp3, opus, aac, flac, wav o pcm
speednumberNo1Velocidad del habla desde 0.25 hasta 4.0
temperaturenumberNo-Temperatura de muestreo desde 0 hasta 2. Los valores más altos pueden añadir variación.
streamingbooleanNofalseTransmite el audio frase por frase

Errores comunes

EstadoCausaSolución
400Contenedor de audio no admitido o identificador de voz incompatibleUsa MP3, WAV, FLAC o M4A y empareja el identificador con el mismo modelo usado para crearlo.
401Clave de API ausente o no válidaEnvía Authorization: Bearer $VENICE_API_KEY.
402Saldo insuficienteRecarga tu saldo de Venice.
413El archivo subido es demasiado grandeUsa una muestra de referencia más corta o más comprimida.
429Límite de tasa superadoReintenta después de que se reinicie la ventana del límite de tasa.