MCP Tools

Voix et audio

Texte vers parole, podcasts et sélection de voix — ListenHub et ElevenLabs.

Transformez du texte en audio parlé : narration à une voix, ou podcast à deux voix. Deux fournisseurs, chacun avec ses points forts.

Ce que vous pouvez faire

  • Racontez un texte avec une seule voix (text-to-speech) — voix chinoises via ListenHub, ou 29 langues avec un contrôle fin via ElevenLabs.
  • Produisez un podcast à deux voix — ListenHub génère le script + l'audio avec un ou deux speakers (exclusif à ListenHub).
  • Choisissez dans une bibliothèque de voix — parcourez les voix/speakers disponibles et choisissez selon la langue, le genre et le style.
  • Contrôlez le rendu (ElevenLabs) — émotion, rythme et pauses via les voice settings et des balises intégrées.

Choisir un fournisseur

ListenHub (listenhub_*)ElevenLabs (elevenlabs_*)
Meilleur pourVoix chinoises, podcasts multi-voix29 langues, expressivité à voix unique
Speakers par clip1–2 (podcast)1
Contrôle fin de la voixstability / similarité / style / vitesse
Émotion et pauses<break> + balises comme [laughs] (avec eleven_v3)

En résumé : chinois, ou podcast multi-voix → ListenHub. Anglais/autres langues, ou besoin de contrôle sur l'émotion, le rythme et les pauses → ElevenLabs.

Outils ListenHub

OutilCe qu'il faitEntrées clés
listenhub_get_speakersListe les speakers disponibles (avec aperçus)language (zh par défaut / en)
listenhub_create_flowspeechTexte ou URL → narration à une voixsourceType (text/url), sourceContent, speakerId, mode (smart/direct)
listenhub_create_podcastTexte ou URL → podcast à 1–2 voix (script + audio)query ou sources, speakers (1–2), mode (quick/deep/debate)
listenhub_create_podcast_text_onlyGénère uniquement le script — à relire avant l'audioidentique, plus language
listenhub_generate_podcast_audioTransforme un script (édité) en audioepisodeId, customScripts (modifications optionnelles)
listenhub_get_podcast_status / listenhub_get_flowspeech_statusVérifie le statut d'une tâcheepisodeId
listenhub_get_user_subscriptionVérifie votre quota

Les outils create_* retournent l'audio terminé — ils attendent la fin de la génération, donc vous n'avez pas besoin d'interroger. N'utilisez les outils *_status que pour revérifier après une exception, ou pour consulter un épisode antérieur.

Pour speakerId, vous pouvez transmettre directement le nom du speaker (issu de listenhub_get_speakers) — il est résolu pour vous.

Outils ElevenLabs

OutilCe qu'il faitEntrées clés
elevenlabs_search_voicesParcourt les voix disponibles
elevenlabs_text_to_speechTexte → parole dans une voix choisietext, voice_id, model_id, voice_settings, output_format
elevenlabs_list_modelsListe les modèles TTS
elevenlabs_check_subscriptionVérifie votre quota

voice_id doit être l'ID exact retourné par elevenlabs_search_voices — pas un nom lisible par un humain.

Options pour model_id : eleven_multilingual_v2 (par défaut, 29 langues), eleven_v3 (idéal pour les balises d'émotion), eleven_turbo_v2_5 / eleven_flash_v2_5 (faible latence).

voice_settings (optionnel, réglage fin) : stability (0–1, plus bas = plus expressif), similarity_boost (0–1), style (0–1), speed (0.7–1.2).

Utilisation dans un Skill

  • Recherchez d'abord une voix. Appelez listenhub_get_speakers ou elevenlabs_search_voices, puis transmettez l'ID. Ne faites pas deviner un nom de voix à l'utilisateur.
  • N'écrivez pas de boucle d'interrogation. Les outils create_* de ListenHub attendent déjà la fin avant de retourner. Dire à l'Agent de « vérifier le statut toutes les quelques secondes » est un anti-pattern.
  • Le balisage intégré est réservé à ElevenLabs. Placez-le directement dans text : pauses Hello.<break time="1.5s"/>World. ; émotion/effets sonores [laughs] [whispers] (à associer avec model_id: "eleven_v3"). Les voix ListenHub les lisent littéralement — ne les insérez pas là-bas.
  • Regroupez la narration en un seul appel. Pour de nombreuses phrases, demandez-les ensemble en un seul appel pour garder un audio continu, plutôt qu'un appel par phrase.

Exemple de texte pour un SKILL.md :

For expressive English narration, use elevenlabs_text_to_speech. First call
elevenlabs_search_voices to choose a voice_id matching the tone. For emotional
delivery, set model_id to "eleven_v3" and embed tags like [laughs] or
<break time="1s"/> directly in the text.