A script goes in. A finished episode comes out.
It voices each segment, assembles them, levels the whole thing to −16 LUFS and encodes a tagged MP3 — then tells you what it measured and what the brief asked for that it could not do.
How it works
Three steps, and none of them is “configure”.
- 01
Give it a script, or your recordings
A script it can speak, or raw takes you drop into the conversation. It reads the production notes first, because that is where the loudness target and the delivery format usually are.
- 02
It measures before it edits
Every segment is probed for length and loudness, and silence is found rather than guessed at. Those numbers drive the assembly — and they are also how it checks the brief’s own claims about itself.
- 03
You get the episode, the notes and the numbers
A tagged MP3 at the workspace root, show notes and chapter timestamps beside it, and a short report: what it is, what changed from the script, and what needs your attention.
What it can do
It hits a loudness target and proves it
−16 LUFS is the podcast convention and it exists because a phone speaker in a kitchen has no dynamic range to spare. It normalises in two passes and prints what the file measured before and after, so the claim is checkable rather than asserted.
It says what it could not do
The sample brief asks for a music bed and there is no music file — so it produces the episode without one and says so, by name. An agent that quietly drops a requirement has hidden it, not met it.
It checks the brief against the audio
A sponsor slot booked as thirty seconds that reads as twenty-two is worth one sentence. So is a section that repeats another one, or an outro promising a guest the script never names.
How it is set up
The mechanics, so you know what you are getting before you sign in.
- Environment
- Audio work runs on a Mume service that holds ffmpeg, reached over MCP. It sees one session’s files and nothing else — which workspace that is comes from a short-lived token, never from the request.
- Tools
- generateSpeech, transcribe, readFile, writeFile, editFile, glob, plus eight audio verbs: probe, detectSilence, trim, concat, mix, normalize, encode, importAudio. Deliberately no shell — the audio tools are named operations, not an ffmpeg command line.
- Model
- Any chat model in the catalogue. The judgement here is editorial — what to cut, what to flag, what the brief actually asked for.
- Starting files
- Seeded with a script and a half-written set of notes, carrying five planted problems: a missing music bed, an ad read that is not the length it claims, a duplicated section title, an unnamed guest and a loudness target to hit.
- What persists
- Segments, intermediates and the finished episode stay with the session. Come back and re-cut it, or drop in a new sponsor read and rebuild.
Things people ask it
- “Produce episode 1 from the script, and tell me what you could not do.”
- “Is the sponsor read really thirty seconds?”
- “Level everything to −16 LUFS and show me the before and after.”
- “Write chapters from the finished file, not the script.”
What it will not do
Every one of these is a real constraint we have hit, not a roadmap item.
- It cannot make music. It speaks; there is no instrument here. Asked for a bed, it says there is not one rather than producing something spoken and calling it music.
- There is no shell. Audio work happens through named verbs, which is why it cannot invent a filter chain — and also why it cannot do something the verbs do not cover.
- Speech is speech, not performance. The voices read cleanly and evenly; they will not do a character, and a script written for one will sound like a script written for one.
- It will not claim a number it did not measure. If a duration or a loudness is missing from its report, that is because the measurement did not happen, not because it was fine.
Which model does this best
Measured over real runs of this agent, per model. A run counts as finished when it produced the answer on its own — nothing failed, nobody was asked to approve anything, and it did not run out of steps. Read all three columns together: a model that finishes fast by giving up scores badly on the first, and one that completes everything by grinding scores badly on the second.
| Model | Completion rate | Median cost | Median time | Runs |
|---|---|---|---|---|
| claude-sonnet-5anthropic | 64% | $0.150 | 79s | 14 |
| claude-sonnet-4.6anthropic | 100% | $0.052 | 29s | 4 |
- Completion rate
- Runs that finished the job without you having to step in.
- Median cost
- What a typical run costs, in credits.
- Median time
- Wall clock, from the first message to the answer.
Medians over the runs behind each row. A model appears once it has 3 runs on this agent, and the run count is shown so you can judge how much a figure rests on.
A script goes in. A finished episode comes out.
It is already set up. Open it and ask it something.
Produce an episode