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
- Téléversement — Envoyez un fichier audio de référence propre à
POST /audio/voices
- Enregistrement — Stockez le handle de voix
id retourné
- 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
| Champ | Type | Requis | Description |
|---|
model | string | Oui | Doit être tts-chatterbox-hd |
file | file | Oui | Échantillon audio de référence. Les formats pris en charge sont MP3, WAV, FLAC et M4A. |
Générer la parole
| Champ | Type | Requis | Par défaut | Description |
|---|
model | string | Oui | - | Doit correspondre au modèle utilisé pour créer le handle de voix |
voice | string | Oui | - | Le handle vv_... retourné par POST /audio/voices |
input | string | Oui | - | Texte à synthétiser, jusqu’à 4096 caractères |
response_format | string | Non | mp3 | mp3, opus, aac, flac, wav ou pcm |
speed | number | Non | 1 | Vitesse de parole de 0.25 à 4.0 |
temperature | number | Non | - | Température d’échantillonnage de 0 à 2. Des valeurs plus élevées peuvent ajouter de la variation. |
streaming | boolean | Non | false | Diffuser l’audio phrase par phrase |
Erreurs courantes
| Statut | Cause | Solution |
|---|
400 | Conteneur audio non pris en charge ou handle de voix incompatible | Utilisez MP3, WAV, FLAC ou M4A et associez le handle au même modèle que celui utilisé pour le créer. |
401 | Clé API manquante ou invalide | Envoyez Authorization: Bearer $VENICE_API_KEY. |
402 | Solde insuffisant | Rechargez votre solde Venice. |
413 | Le fichier téléversé est trop volumineux | Utilisez un échantillon de référence plus court ou plus compressé. |
429 | Limite de débit dépassée | Réessayez après la réinitialisation de la fenêtre de limite de débit. |