Skip to main content
Le changeur de voix est speech-to-speech : il réenregistre un fichier source dans une voix différente tout en préservant l’interprétation, le rythme et le timing. Il est asynchrone et utilise ses propres endpoints. Il n’utilise pas /audio/queue, ni text-to-speech, ni le clonage vocal. Choisissez un modèle de changeur de voix, demandez un devis, mettez la conversion en file d’attente, puis interrogez régulièrement jusqu’à ce que Venice renvoie l’audio converti.
Une conversion mise en file d’attente est facturée immédiatement. Si la réponse de queue est perdue, interrogez /audio/voice-changer/retrieve avec le même queue_id. Ne remettez pas le même enregistrement en file d’attente.

Choisir un modèle

Les modèles de changeur de voix sont renvoyés par GET /models?type=music avec model_spec.voice_changer défini sur true. Il n’existe pas de filtre ?type=voice-changer. Les exemples ci-dessous utilisent elevenlabs-voice-changer.
Vérifiez les métadonnées de chaque modèle avant de définir des champs optionnels : Les champs non pris en charge provoquent une réponse HTTP 400. Les enregistrements dépassant max_source_audio_duration_seconds sont rejetés avec un HTTP 422 avant toute facturation.

Flux de conversion

1. Obtenir un devis

Le changeur de voix est facturé à partir de la longueur de l’enregistrement source, arrondie à la minute supérieure. Demandez un devis pour la longueur que vous prévoyez d’envoyer ; la facturation est calculée à partir de la longueur mesurée par Venice lors de la mise en file d’attente de l’enregistrement.
La réponse contient le coût estimé en USD et la durée pour laquelle le devis a été calculé :

2. Mettre la conversion en file d’attente

Fournissez l’enregistrement source d’exactement l’une des deux manières suivantes : sous forme de téléversement multipart file, ou sous forme d’audio_url dans un corps JSON. Fournir les deux, ou aucun des deux, est rejeté. Lorsque vous transmettez une URL, Venice récupère et valide lui-même les octets et ne transmet que ces octets au fournisseur. L’URL n’est jamais transmise plus loin.
Champs optionnels, lorsque le modèle indique les prendre en charge :
  • remove_background_noise — supprime le bruit de fond avant la conversion
  • seed — entier ≥ 0 pour un résultat reproductible
Une requête réussie renvoie le modèle, un ID de file d’attente et la longueur source mesurée :
Enregistrez model et queue_id ; les endpoints retrieve et complete en ont besoin. Comparez duration_seconds à votre devis si vous devez rapprocher l’estimation de la longueur facturée.
Il n’est pas sûr de réessayer queue. Une requête queue réussie a déjà été facturée.

3. Interroger et télécharger

Appelez /audio/voice-changer/retrieve avec les valeurs de la réponse de queue :
Inspectez le Content-Type de la réponse : Une réponse en cours de traitement ressemble à ceci :
Les deux valeurs de temps sont en millisecondes. Une réponse terminée inclut également x-venice-audio-format, x-venice-audio-duration, x-venice-inference-time, x-venice-model-id et x-venice-model-name. Si le fournisseur échoue la conversion, la facturation est remboursée automatiquement et le corps d’erreur inclut credits_refunded. Interroger à nouveau rejoue le même résultat plutôt que de rembourser deux fois. Pour supprimer les médias stockés dans le même appel qui renvoie l’audio, définissez delete_media_on_completion sur true lors de la récupération. L’audio ne peut plus être récupéré par la suite.

Exemple complet

Cet exemple Python demande un devis pour une conversion, téléverse un fichier source, interroge toutes les cinq secondes et enregistre le résultat au format MP3.
L’endpoint quote ne nécessite pas d’authentification, mais les requêtes queue, retrieve et complete en ont besoin.

Ressources connexes