How to turn a script into a two-host podcast or explainer, without recording anyone
Short answer: Write your content as a back-and-forth script between two hosts, split it into pieces under 2,000 characters each (ElevenLabs' Text to Dialogue limit per request), generate each piece with a consistent voice for each host, then join the audio files in order. Text to Dialogue is built on the Eleven v3 model specifically for multi-speaker scripts, so the back-and-forth sounds like a real conversation rather than two separate voice clips. It won't write the script for you, and a format like NotebookLM's is a better fit if you want the tool to turn raw notes into a conversation automatically.
You have the content for a short podcast or explainer already written, just not the two people needed to record it.
I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.
This page may contain affiliate links from which Blur Studio earns commissions.
Two-host audio works for a reason: a dialogue holds attention better than one person reading a script straight through, because questions, reactions and disagreement give the listener something to track. The problem is that recording two people, even for a five-minute internal explainer, means scheduling two calendars, a room with decent acoustics, and at least one retake.
If you already have the content, whether that's a blog post you're turning into audio or a set of talking points for an internal update, you don't need two recorded voices to get the two-voice effect.
How ElevenLabs Text to Dialogue handles a two-host script
Text to Dialogue takes a script with clearly labelled speaker turns and generates one audio file where each speaker has a distinct, consistent voice and the turn-taking sounds natural rather than mechanically alternating. It's built on the Eleven v3 model, which is the part that handles tone and timing between turns, not just pronunciation.
The limit to plan around is 2,000 characters per request, counting both speakers' lines together. A tight five-minute script will usually run longer than that, so the realistic workflow is to write the whole script first, then split it into natural break points (a change of subject, a question-and-answer pair) and generate each chunk separately before joining them. You can use up to 10 distinct voices in one request, though a two-host format only needs two, kept consistent across every chunk.
Put a number on this before you write: 2,000 characters is roughly 300-350 words of back-and-forth dialogue, which at a natural conversational pace runs about 90 seconds to two minutes once generated. A full 10-minute episode script, around 1,400-1,600 words once it's written as actual dialogue rather than bullet points, typically needs 4 to 5 chunks. Knowing that before you start writing changes how you structure the script: build it in sections that already roughly match a chunk's worth of content, rather than writing the whole thing as one continuous flow and then hunting for awkward places to cut it.
Text to Dialogue also reads punctuation and bracketed delivery tags as performance instructions, not just text to read. An ellipsis trails a line off, a tag like [curious] or [laughs] placed before a line changes how it's delivered, and this is a far more reliable way to get a natural-sounding reaction out of "host two" than writing stage directions into the script itself, which the model will just read aloud as words. The full set of tags is covered in ElevenLabs audio tags and v3.
How to do it, step by step
- Write the script as an actual back-and-forth, not a monologue with "Host 2 responds" placeholders. The quality of the dialogue depends entirely on what you write; the tool voices it, it doesn't invent the conversation. A practical trick worth using: read your draft out loud yourself before generating anything. Lines that are awkward to say aloud, too long to fit in one breath, or stacked with subordinate clauses, stay awkward once an AI voices them too, and catching that in your own read-through is far faster than noticing it in a finished generation and having to redo a chunk.
- Split the script into chunks under 2,000 characters at natural breaks, so a chunk ends where a human editor would plausibly cut too.
- Assign the same two voices to every chunk. This is the step people skip and regret: if host voices drift between generations, the final file sounds like it was spliced from different recordings, because it was. For more than two speakers, see voicing a script with several characters.
- Generate each chunk through ElevenLabs' Text to Dialogue tool, then join the audio files in a basic editor or ElevenLabs Studio, which can also handle the stitching and add music or captions on the same timeline if you want a finished file rather than a raw sequence of clips.
- Listen to the joins specifically, not just the content. The seams between chunks are where an odd pause or mismatched pacing is most likely to show up.
One addition worth making if this becomes a recurring show rather than a one-off: build a pronunciation dictionary for any brand names, product names or recurring jargon the hosts say every episode. Without it, the same word can come out slightly differently generation to generation, which is a small inconsistency on its own but becomes noticeable once a listener hears your company name said two different ways across one episode. My guide to fixing mispronounced names covers setting this up, and it's worth doing once rather than catching it by ear in every new episode.
A second format: the host-and-guest interview
Not every two-voice script is a true 50/50 back-and-forth. An interview format, where one voice (the host) asks short, consistent questions and the other (a guest or expert) gives longer answers, works through the same Text to Dialogue process but with a different writing discipline. The trap here is writing the "guest" answers so long that a single answer alone approaches the 2,000-character limit, which forces an awkward mid-answer split. I'd keep individual answers under roughly 150 words each when writing this format, splitting a genuinely long answer into two questions instead of one long monologue, since that also happens to make a real interview sound more natural: nobody answers a question with an uninterrupted 400-word response. Two-voice audio also works for training, as in making sample customer call audio for staff training.
What I'd actually tell someone trying this
This genuinely works well for content you've already written and just need voiced, an internal update, a summary of a report, a short explainer for a client. Where people get disappointed is expecting it to do the writing too. If what you actually have is a pile of notes or a long document and you want a tool to turn that into a natural-sounding conversation on its own, that's a different job, closer to what NotebookLM-style tools are built for, and you'd be fighting Text to Dialogue's format to get there. Know which job you're asking it to do before you start.
The real tradeoff between the two approaches isn't speed, it's control. A NotebookLM-style tool that generates the conversation from your source material is faster to a first draft, but you're trusting the model to summarize and frame your content correctly, and I've seen auto-generated podcast scripts quietly misstate a number or soften a claim in a way that's easy to miss on a quick listen. Writing the script yourself and using Text to Dialogue only to voice it is slower up front, but every word that gets said is a word you actually approved, which matters a lot more for anything client-facing or anything with a number, a price or a claim in it than it does for a loose internal brainstorm recap.
When to skip this
If you're making one short piece and don't mind the stitching work, this is the right tool. If you're planning a recurring weekly show, the chunk-and-join workflow gets tedious fast, and it's worth deciding early whether a semi-automated pipeline (script in, finished episode out) is worth building before you're three episodes deep doing it by hand each time.
There's a middle case worth naming honestly: somewhere between episode three and episode eight of a weekly show, most people doing this by hand start skipping steps under deadline pressure, usually the "listen to the joins" step, which is exactly the one that catches an obvious stitching artifact before it goes out. If you notice yourself doing that, that's the actual signal it's time to automate the chunking and joining rather than a vague sense that "this is taking a while." The cost of automating is real but one-time; the cost of skipping quality checks under a weekly deadline compounds, since a bad episode is harder to walk back once it's published than an hour of setup would have been.
How I'd approach this
For a one-off explainer, ElevenLabs' plans and a bit of manual chunking is the right amount of effort for the problem. If this turns into a recurring show, or you want the script itself generated from source material automatically, that's exactly the kind of pipeline I build: pull from your content source, generate the script, chunk and voice it, and publish it, with no manual stitching every week. I'd rather tell you honestly that a one-off doesn't need that than sell you a build you don't need yet.
The way I'd actually scope that build, if it comes to it: a script generator that pulls from wherever your source content already lives (a CMS, a shared doc, a transcript), a review step where a human approves the script before anything gets voiced, then automatic chunking, generation and joining into a finished, captioned episode. The human-review step matters most, and it's the one piece people are tempted to cut when automating, since it's where you catch the exact kind of factual drift that makes auto-generated scripts risky for anything client-facing.
Questions people ask
Can Text to Dialogue write the podcast script for me?
No. It voices a script you've already written; it doesn't generate the conversation itself. If you want a tool that turns raw notes or documents into a conversation automatically, a NotebookLM-style tool is built for that job instead.
Why does my script need to be split into chunks?
Text to Dialogue has a 2,000-character limit per request, counting all speakers' lines combined. Most podcast-length scripts exceed that, so you generate it in pieces and join the audio afterward.
How do I keep the two hosts sounding consistent across chunks?
Use the exact same two voices for every chunk you generate. Switching voices between chunks, even slightly, is the most common reason a stitched-together episode sounds obviously pieced together.
What's the best place to split a script into chunks?
At a natural break: a change of topic, or right after a question-and-answer exchange finishes. Splitting mid-sentence or mid-thought makes the eventual join sound more obvious.
Can I add music and captions after generating the dialogue?
Yes, ElevenLabs Studio can combine the generated audio chunks with music, sound effects and captions on one timeline, so you don't need a separate video or audio editor for a simple explainer.
Is this good enough for a public podcast, or just internal use?
It depends on your bar. For internal updates and explainers, it's more than good enough. For a public-facing show, listen critically for the chunk-join seams and emotional consistency before publishing, since listeners are more sensitive to that than an internal audience would be.
How many chunks does a typical 10-minute episode need?
Around 4 to 5. A 10-minute two-host script runs roughly 1,400-1,600 words of actual dialogue, and each 2,000-character chunk holds about 300-350 words, so plan your script structure around that split before you start writing rather than cutting it awkwardly afterward.
Should I set up a pronunciation dictionary for a recurring show?
Yes, for any brand name, product name or recurring term the hosts say every episode. Without one, the same word can be voiced slightly differently chunk to chunk and episode to episode, which becomes noticeable to regular listeners even if it's subtle on a single listen.