SpecificationsnormativeSheet 12 of 18
podcast@0.1
A dialogue manuscript that becomes one native two-speaker performance, with stable voices and no single-voice imitation.
- File
*.podcast.md- ##
- production section
- Speakers
- exactly two
- Codes
- MDTO1200–1299
§ 01
The script and the voices travel together
Planner-style HOST 1: and bold HOST 2: turns resolve through explicit stable IDs to Gemini prebuilt voices. Pauses are exact; production notes remain visible and silent.
--- markdownto: [email protected] speakers: - id: host name: HOST 1 voice: Charon - id: guest name: HOST 2 voice: Leda --- ## Opening > [production:: note] Begin without theme music. HOST 1: Let us start with the result. [pause:: 750ms] HOST 2: Then we can explain how it works. ## Closing HOST 1: That is the whole model.
[email protected]
3 turnsacross 2 sectionsnative two-speaker
Opening
- production note · not narrated
Begin without theme music.
- HOST 1
Let us start with the result.
- pause 750ms
- HOST 2
Then we can explain how it works.
Closing
- HOST 1
That is the whole model.
§ 02
Stable IDs meet exact prompt labels
speakers- Exactly two mappings of stable ID, display label, and distinct Gemini voice.
HOST 1:- A dialogue turn resolved by display name; the stable ID works too.
[pause:: 750ms]- Local silence inserted without buying an empty provider request.
[production:: note]- Visible production direction that never enters the spoken transcript.
§ 03
Capability-check before the first paid request
Verb
Meaning
Source edit
estimate
Reports native capability, segments, cache disposition, workers, and inferred duration.
None.
produce
Requires --yes, generates only cache misses, and joins atomically in manuscript order.
Artifacts only.
preview
Auditions one section through the same native path.
Temporary artifact.
voices
Lists voices and selected-model native capability.
None.
§ 04
Ambiguous prose is never charged to a guessed speaker
--- markdownto: [email protected] speakers: - id: host name: HOST 1 voice: Kore - id: guest name: HOST 2 voice: Puck --- This prose has no owner. HOST 3: Unknown speaker. HOST 1: [pause:: tomorrow] > This is an ordinary quotation.
-
MDTO1230 error line 2
markdownto: [email protected]Podcast has no dialogue turns: add a paragraph beginning with a declared speaker ID or display name followed by a colon.
-
MDTO1211 error line 11
This prose has no owner.Ambiguous prose has no speaker label. Prefix it with a declared speaker ID or display name followed by a colon.
-
MDTO1212 error line 13
HOST 3: Unknown speaker.Unknown speaker label
HOST 3: declare it inspeakersor use a declared speaker ID/display name. -
MDTO1213 error line 15
HOST 1:Dialogue turn for
HOST 1is empty. -
MDTO1214 error line 17
[pause:: tomorrow]Malformed pause: use milliseconds or seconds, for example
[pause:: 750ms]or[pause:: 2s], up to 10 minutes. -
MDTO1215 error line 19
> This is an ordinary quotation.Blockquotes in [email protected] are non-narrated notes and must begin
> [production:: note].
Read podcast.md or run mdto spec podcast for the complete native request, cache, receipt, and Hub contract.