Script Format

Script format specification

An Open Meadow script is plain markdown with four elements: a title, sections, speech and pauses. Omi converts scripts in any other format to this one, so writing it by hand is optional. It helps when you edit a script with Edit Script or prepare one in another tool.

Example

# Evening Reset

## Arriving

Find a comfortable position.

Let your attention settle on your breath.

[pause 15s]

## Quiet Space

Rest here, without changing anything.

[pause 45s open]

When you are ready, let the practice close.

Elements

ElementSyntaxSpokenNotes
Title# Title on one lineNoOne per script. If there are several, the last one is used.
Section## Section nameNoOrganizes the script and appears as a chapter in the player.
SpeechPlain paragraphsYesRead in order. Paragraphs are separated by a blank line.
Pause[pause 10s] on its own lineNoAdds silence. See Pauses.

Title

The # line sets the meditation title. If a script has several, the last one is used. When you save a script without a # line in the editor, the meditation keeps its current title. Emojis are allowed in the title.

Sections

Sections start with ##. There is one level of sections. Deeper headings, such as ###, become sections when a script is saved in the editor. Emojis are allowed in section names. Playback adds a short gap before each section.

Speech

Every line that is not a title, section or pause marker is spoken. The way speech is divided into paragraphs and sections affects the rhythm and delivery of the generated voice, so these divisions are worth choosing on purpose.

  • Write the words exactly as they should be read aloud.
  • Bold and italics are removed when the script is saved.
  • Emojis are removed before audio is generated.
  • Quotation marks are kept, so quoted lines read naturally.
  • Paragraphs longer than about 300 characters are split at sentence ends. This happens automatically. Each part plays as its own passage, with the usual short gap between passages.
  • Lines without letters or numbers, such as --- or * * *, are skipped.
  • Notes such as "(soft music)" or "(whisper)" would be read aloud. In Open Meadow's own format, speech contains only words to speak.

Pause markers

A pause marker is a line like [pause 10s], [pause 8s exact] or [pause 90s open]. In the editor, Open Meadow also accepts and converts looser forms such as pause 10, (pause 10s) or [pause 2m]. The Pauses page covers the full syntax and behavior.

Errors

The script editor checks a script before saving it. These messages can appear:

MessageMeaning
This is not a valid pause markerA line starts like a pause marker but Open Meadow cannot read it.
The script has no spoken textThe script has a title, sections or pauses, but nothing to speak.
This script doesn't look like meditation content we can synthesize. Adjust it and try again.Open Meadow checks saved scripts and generates audio only for meditation content.

Formatting such as bold, italics and deeper headings is fixed without an error.

Last updated November 7, 2026

Questions not answered here? Contact us with the form, by email or on social media.