Agent Skills

elevenlabs-dialogue

ElevenLabs multi-speaker dialogue generation - create conversations with different voices in a single audio file via inference.sh CLI. Capabilities: multi-voice dialogue, script-based generation, voice direction, conversation audio. Use for: podcasts, audiobooks, explainers, tutorials, character dialogue, video scripts. Triggers: elevenlabs dialogue, eleven labs dialogue, multi speaker, conversation audio, dialogue generation, text to dialogue, multi voice, voice acting, podcast dialogue, charac

Install

npx skills add https://github.com/inference-sh/skills --skill elevenlabs-dialogue
SKILL.md

Install the belt CLI skill: npx skills add belt-sh/cli

ElevenLabs Dialogue

Generate multi-speaker dialogue audio via inference.sh CLI.

Dialogue

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate dialogue
belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "Have you tried the new feature?", "voice": "george"},
    {"text": "Not yet, but I heard it is amazing.", "voice": "aria"},
    {"text": "You should check it out today.", "voice": "george"}
  ]
}'

Voice Options

22+ premium voices available for each speaker:

Popular Pairings

Pairing Voices Best For
Interview george + aria Professional Q&A
Casual Chat brian + sarah Relaxed conversation
Tutorial daniel + jessica Instructional
Debate adam + alice Contrasting perspectives
Podcast charlie + bella Entertainment

All Voices

Female: aria, alice, bella, jessica, laura, lily, sarah, matilda

Male: george, adam, bill, brian, callum, charlie, chris, daniel, eric, harry, liam, river, roger, will

Voice Direction

Add directions in square brackets to control delivery:

belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "[excitedly] Guess what happened today!", "voice": "aria"},
    {"text": "[curiously] What? Tell me!", "voice": "george"},
    {"text": "[proudly] We hit ten thousand users!", "voice": "aria"},
    {"text": "[surprised] No way, that is incredible!", "voice": "george"}
  ]
}'

Direction Keywords

Direction Effect
[excitedly] Energetic, upbeat delivery
[sadly] Somber, emotional tone
[whispering] Soft, quiet speech
[angrily] Intense, forceful delivery
[sarcastically] Ironic intonation
[curiously] Questioning, intrigued
[proudly] Confident, accomplished
[nervously] Hesitant, uncertain
[cheerfully] Happy, bright

Examples

Podcast Episode

belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "Welcome back to Tech Talk! Today we are discussing the latest in AI.", "voice": "george"},
    {"text": "Thanks for having me. This is such an exciting topic right now.", "voice": "aria"},
    {"text": "So let us start with the big question. How is AI changing creative work?", "voice": "george"},
    {"text": "Great question. I think the biggest shift is in accessibility. Tools that used to require specialized skills are now available to everyone.", "voice": "aria"},
    {"text": "Can you give us a specific example?", "voice": "george"},
    {"text": "Sure. Take audio production. A year ago, you needed a studio and voice actors. Now you can generate professional dialogue with AI voices.", "voice": "aria"}
  ]
}'

Tutorial / Explainer

belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "Can you walk me through the setup process?", "voice": "jessica"},
    {"text": "Sure. Step one, install the CLI. It takes about thirty seconds.", "voice": "daniel"},
    {"text": "And then what?", "voice": "jessica"},
    {"text": "Step two, run the login command. It opens your browser for authentication.", "voice": "daniel"},
    {"text": "That sounds simple enough.", "voice": "jessica"},
    {"text": "It is. Step three, you are ready to run your first app.", "voice": "daniel"}
  ]
}'

Audiobook Dialogue

belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "[whispering] Do you hear that?", "voice": "lily"},
    {"text": "[nervously] Hear what? I do not hear anything.", "voice": "harry"},
    {"text": "Exactly. The forest has gone completely silent.", "voice": "lily"},
    {"text": "[worried] That is not a good sign, is it?", "voice": "harry"},
    {"text": "[firmly] We need to move. Now.", "voice": "lily"}
  ]
}'

Product Demo

belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "So what makes this different from other solutions?", "voice": "brian"},
    {"text": "Three things. Speed, quality, and simplicity.", "voice": "alice"},
    {"text": "That sounds too good to be true.", "voice": "brian"},
    {"text": "[confidently] Let me show you. Watch this.", "voice": "alice"}
  ]
}'

Customer Support Training

belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "[frustrated] I have been waiting for twenty minutes and my issue is still not resolved.", "voice": "adam"},
    {"text": "[empathetically] I completely understand your frustration, and I apologize for the wait. Let me look into this right away.", "voice": "sarah"},
    {"text": "I just need my account access restored.", "voice": "adam"},
    {"text": "Of course. I can see the issue here. Give me just a moment and I will have this fixed for you.", "voice": "sarah"},
    {"text": "Okay, thank you.", "voice": "adam"},
    {"text": "[cheerfully] All done! Your access has been restored. Is there anything else I can help with?", "voice": "sarah"}
  ]
}'

Tips

  1. Vary sentence length - Mix short reactions with longer explanations
  2. Include reactions - "Exactly!", "Interesting.", "Hmm." make dialogue natural
  3. Use directions sparingly - One or two per exchange, not every line
  4. Keep segments short - Under 3 sentences per turn for natural pacing
  5. Assign distinct voices - Use contrasting voices for clarity
  6. Write for speaking - Use contractions, informal language

Workflow: Dialogue + Music

# 1. Generate dialogue
belt app run elevenlabs/text-to-dialogue --input '{
  "segments": [
    {"text": "Welcome to the show.", "voice": "george"},
    {"text": "Great to be here.", "voice": "aria"}
  ]
}' > dialogue.json

# 2. Generate background music
belt app run elevenlabs/music --input '{
  "prompt": "Soft podcast background music, non-intrusive",
  "duration_seconds": 30
}' > music.json

# 3. Mix (no inference.sh app mixes audio; use ffmpeg locally)
curl -L -o dialogue.mp3 "<dialogue-url>"
curl -L -o music.mp3 "<music-url>"
ffmpeg -i dialogue.mp3 -stream_loop -1 -i music.mp3 -filter_complex \
  "[1]volume=0.15[bg];[0][bg]amix=inputs=2:duration=first" mixed.mp3

Use Cases

  • Podcasts: Multi-host episodes, interviews
  • Audiobooks: Character dialogue scenes
  • E-learning: Instructor and student exchanges
  • Explainers: Q&A format tutorials
  • Training: Customer service scenarios
  • Video Scripts: Pre-production dialogue testing

Related Skills

# ElevenLabs TTS (single-voice narration)
npx skills add inference-sh/skills@elevenlabs-tts

# ElevenLabs music (background for dialogue)
npx skills add inference-sh/skills@elevenlabs-music

# Dia TTS dialogue (free alternative with S1/S2 tags)
npx skills add inference-sh/skills@dialogue-audio

# Full platform skill (all apps)
npx skills add inference-sh/skills@infsh-cli

Browse all audio apps: belt app list --category audio

Related skills

video-editgenmedia-labs715KEdit existing video on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Wan 2.7 Edit-Video (general restyle / background swap / packaging swap, identity + motion preservation), Kling 2.6 Pro Motion Control (transfer precise motion from a reference video to a target character), or Lucy Edit Restyle (lightweight identity-stable restyle / outfit swap). Bundles each model's documented prompting patterns so the skill gets shai-video-generationgenmedia-labs714KGenerate AI videos on RunComfy via the `runcomfy` CLI — a smart router across the full video-model catalog: HappyHorse 1.0 (Arena #1, native in-pass audio), Wan-AI Wan 2-7 (open weights, audio-driven lip-sync), ByteDance Seedance v2 / 1-5 / 1-0 (multi-modal cinematic), Kling 3.0 / 2-6, Google Veo 3-1, MiniMax Hailuo 2-3, ByteDance Dreamina 3-0. Covers text-to-video (t2v), image-to-video (i2v), and Veo's video-extend endpoint. The skill picks the right model for the user's intent (Arena-#1 qualitai-musicgenmedia-labs714KGenerate AI music on RunComfy via the `runcomfy` CLI — a smart router across the music-model catalog. Routes to ElevenLabs AI Music Generation (premium 44.1 kHz stereo vocal tracks, 5 s–5 min, $0.0083/s) and ACE Step / ACE Step 1.5 (StepFun-AI open-weights, tag-driven composition, multilingual lyrics, $0.0002–0.0003/s, ~27× cheaper), plus ACE Step audio-inpaint (regenerate a time range inside an existing track) and ACE Step audio-outpaint (extend a track before or after). Picks the right model fimage-to-videogenmedia-labs713KAnimate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (Arena #1, native audio, identity preservation) for general animations, Wan 2.7 with `audio_url` for custom-voiceover lip-sync, or Seedance 2.0 Pro for multi-modal animation from image + reference video + reference audio. Bundles each model's documented prompting patterns so the caller gets sharper output without burning iterat

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers