Clonage de la voix
Le clonage de la voix génère de la parole avec la voix de l'enregistrement que vous fournissez, sans entraînement. Clonez une voix pour une requête unique, ou enregistrez-la dans votre espace de travail et réutilisez-la via son ID.
Pour comparer une voix clonée et une voix prédéfinie, et savoir ce qu'elle conserve de son enregistrement, voir Voix dans Concepts.
Préparer un extrait de référence
Le clip de référence est l'enregistrement de la voix à cloner. Vérifiez-le avant de l'envoyer :
- Format :
- Encodage : l'audio lui-même, encodé en base64. Une URL n'est pas acceptée.
- Contenu :
Clonage zero-shot
Le clonage zero-shot reproduit une voix à partir d’un court enregistrement, sans entraînement. Utilisez l’enregistrement pour une seule requête, ou enregistrez-le comme voix dans votre espace de travail pour le réutiliser à l’aide de son identifiant.
Cloner une voix pour une seule requête
import base64
import os
from pathlib import Path
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
reference = Path("voice_sample.mp3")
response = client.audio.speech.complete(
model="voxtral-mini-tts-3-0",
input="Your order shipped this morning and should arrive on Thursday.",
ref_audio=base64.b64encode(reference.read_bytes()).decode(),
response_format="wav",
)
output = Path("cloned_one_off.wav")
output.write_bytes(base64.b64decode(response.audio_data))
print(f"Saved {output.resolve()}")Enregistrer une voix clonée
Créez une voix à partir de l'enregistrement, puis transmettez son ID comme voice_id.
import base64
import os
from pathlib import Path
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
sample = Path("voice_sample.mp3")
voice = client.audio.voices.create(
name="Support agent",
sample_audio=base64.b64encode(sample.read_bytes()).decode(),
sample_filename=sample.name,
languages=["en"],
)
print(f"Created voice {voice.id}")
response = client.audio.speech.complete(
model="voxtral-mini-tts-3-0",
input="Your order shipped this morning and should arrive on Thursday.",
voice_id=voice.id,
response_format="wav",
)
output = Path("cloned_saved_voice.wav")
output.write_bytes(base64.b64decode(response.audio_data))
print(f"Saved {output.resolve()}")Les exemples lisent l'enregistrement à partir du fichier voice_sample.mp3 dans le répertoire de travail.
Pour lister, renommer ou supprimer une voix enregistrée, voir Gérer les voix.
Utiliser une voix clonée dans d'autres langues
Une voix clonée n'est pas limitée à la langue de son enregistrement. Pour connaître les langues prises en charge, voir Langues.