Passer au contenu principal
Le clonage vocal vous permet de générer de la parole dans une voix fournie par un court échantillon audio de référence. Avec tts-chatterbox-hd, téléversez un échantillon vers /audio/voices, enregistrez le handle de voix vv_... retourné, puis transmettez ce handle à /audio/speech.
Les handles de voix sont spécifiques à chaque modèle. Un handle créé avec tts-chatterbox-hd doit être utilisé avec tts-chatterbox-hd.

Fonctionnement

  1. Téléversement — Envoyez un fichier audio de référence propre à POST /audio/voices
  2. Enregistrement — Stockez le handle de voix id retourné
  3. Génération — Envoyez le handle comme voice dans POST /audio/speech

Prérequis

  • Une clé API Venice
  • Un échantillon de référence propre au format MP3, WAV, FLAC ou M4A
  • Au moins 5 à 10 secondes de parole claire d’un seul locuteur
Définissez votre clé API :
export VENICE_API_KEY="your-api-key"

Étape 1 : téléverser un échantillon vocal

Créez un handle de voix en téléversant l’audio de référence sous forme de données de formulaire 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"
Réponse (200) :
{
  "id": "vv_voice_abc123xyz",
  "model": "tts-chatterbox-hd"
}
Enregistrez l’id pour la génération de parole :
export VENICE_VOICE_ID="vv_voice_abc123xyz"

Étape 2 : générer la parole

Transmettez le handle de voix cloné comme voice dans la requête de synthèse :
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
Le corps de la réponse est de l’audio binaire au format demandé.

Exemple complet

Cet exemple téléverse un échantillon de référence, extrait le handle de voix avec jq et écrit l’audio généré dans 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

Conseils pour l’échantillon vocal

Utilisez un échantillon avec un seul locuteur, un bruit de fond minimal et sans musique. La parole naturelle fonctionne mieux que l’audio chuchoté, chanté ou fortement traité. Des échantillons plus longs peuvent être utiles lorsque la voix a un rythme, un accent ou un ton distinctifs, mais gardez l’échantillon centré sur le locuteur cible.

Expiration des handles

Le clonage Chatterbox HD est zero-shot : Venice stocke temporairement l’audio de référence téléversé, et le modèle le lit lorsque vous synthétisez de la parole. Aucun modèle vocal persistant n’est créé. Les handles de voix expirent automatiquement après 7 jours. Une fois qu’un handle a expiré, téléversez à nouveau l’échantillon de référence pour créer un nouveau handle vv_....

Découvrir la prise en charge du clonage

Les modèles qui prennent en charge le clonage incluent un objet voice_cloning dans la spécification du modèle. Interrogez les modèles TTS pour vérifier les formats pris en charge, la durée minimale de l’échantillon et la rétention :
curl "https://api.venice.ai/api/v1/models?type=tts" \
  -H "Authorization: Bearer $VENICE_API_KEY"
tts-chatterbox-hd annonce :
{
  "voice_cloning": {
    "mode": "zero_shot",
    "accepted_formats": ["mp3", "wav", "flac", "m4a"],
    "min_sample_seconds": 5,
    "retention_days": 7
  }
}

Paramètres de l’API

Créer une voix

ChampTypeRequisDescription
modelstringOuiDoit être tts-chatterbox-hd
filefileOuiÉchantillon audio de référence. Les formats pris en charge sont MP3, WAV, FLAC et M4A.

Générer la parole

ChampTypeRequisPar défautDescription
modelstringOui-Doit correspondre au modèle utilisé pour créer le handle de voix
voicestringOui-Le handle vv_... retourné par POST /audio/voices
inputstringOui-Texte à synthétiser, jusqu’à 4096 caractères
response_formatstringNonmp3mp3, opus, aac, flac, wav ou pcm
speednumberNon1Vitesse de parole de 0.25 à 4.0
temperaturenumberNon-Température d’échantillonnage de 0 à 2. Des valeurs plus élevées peuvent ajouter de la variation.
streamingbooleanNonfalseDiffuser l’audio phrase par phrase

Erreurs courantes

StatutCauseSolution
400Conteneur audio non pris en charge ou handle de voix incompatibleUtilisez MP3, WAV, FLAC ou M4A et associez le handle au même modèle que celui utilisé pour le créer.
401Clé API manquante ou invalideEnvoyez Authorization: Bearer $VENICE_API_KEY.
402Solde insuffisantRechargez votre solde Venice.
413Le fichier téléversé est trop volumineuxUtilisez un échantillon de référence plus court ou plus compressé.
429Limite de débit dépasséeRéessayez après la réinitialisation de la fenêtre de limite de débit.