Skip to content

Rune Story CLI reference

Generated from the shared System.CommandLine root command in src/story/Rune.Story.Cli. Hidden internal automation commands are excluded.

story

Rune Story CLI — export, preview, and inspect story YAML files.

Subcommands

CommandAliasesDescription
story exportExport a story YAML to an MP4 video file.
story bakeBake a story YAML and print the timeline without exporting video.
story previewPreview a story YAML in a window.
story frameExport a single story frame to a PNG image.
story cuesExport every cue end frame to a PNG directory.
story livePresent a story YAML in fullscreen interactive mode.
story syntaxPrint the Rune Story syntax reference (descriptors, the built-in host value registry/facets, Composite semantic Fields, compile-time references, and curated grammar).
story voicesList or refresh available Azure Speech voices (cached under %LOCALAPPDATA%/Rune).
story canvasHost a Story preview for the GitHub Copilot App Canvas.

Arguments

None.

Options

OptionAliasesDescriptionArityDefault
--versionShow version information0false
--help-?, -h, /?, /hShow help and usage information0false

story export

Export a story YAML to an MP4 video file.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--output-oOutput MP4 file path. Defaults to the input file name with .mp4 extension.1
--sizeOutput size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size.1
--fpsFrames per second.1
--forceOverwrite the output file without prompting.0..1false
--softwareUse software (WARP) renderer instead of GPU.0..1false
--auto-cueHold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this.1
--warn-durationWarn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable.0..1
--encoderMedia encoder name to use for export. Defaults to built-in WMF for MP4.1
--tts-providerDefault text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider.1

story bake

Bake a story YAML and print the timeline without exporting video.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--sizeOutput size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size.1
--fpsFrames per second.1
--softwareUse software (WARP) renderer instead of GPU.0..1false
--auto-cueHold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this.1
--warn-durationWarn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable.0..1
--tts-providerDefault text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider.1

story preview

Preview a story YAML in a window.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--sizeOutput size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size.1
--fpsFrames per second.1
--softwareUse software (WARP) renderer instead of GPU.0..1false
--auto-cueHold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this.1
--warn-durationWarn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable.0..1
--no-watchDisable file watching and hot reload in live/preview.0..1false
--tts-providerDefault text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider.1

story frame

Export a single story frame to a PNG image.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--output-oOutput PNG file path. Defaults to the story name plus selected time/frame.1
--sizeOutput size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size.1
--fpsFrames per second.1
--forceOverwrite the output file without prompting.0..1false
--softwareUse software (WARP) renderer instead of GPU.0..1false
--auto-cueHold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this.1
--warn-durationWarn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable.0..1
--tts-providerDefault text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider.1
--timeStory time in seconds to export. Defaults to 0 when --frame is omitted.1
--frameZero-based frame index to export. Mutually exclusive with --time.1

story cues

Export every cue end frame to a PNG directory.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--output-oOutput directory path. Defaults to the story name plus command-specific suffix.1
--sizeOutput size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size.1
--fpsFrames per second.1
--forceOverwrite the output file without prompting.0..1false
--softwareUse software (WARP) renderer instead of GPU.0..1false
--auto-cueHold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this.1
--warn-durationWarn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable.0..1
--tts-providerDefault text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider.1

story live

Present a story YAML in fullscreen interactive mode.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--fpsFrames per second.1
--monitorZero-based monitor index for fullscreen (0 = primary).10
--softwareUse software (WARP) renderer instead of GPU.0..1false
--no-watchDisable file watching and hot reload in live/preview.0..1false
--tts-providerDefault text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider.1

story syntax

Print the Rune Story syntax reference (descriptors, the built-in host value registry/facets, Composite semantic Fields, compile-time references, and curated grammar).

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
typeOptional sprite/action/animation type to show (e.g. 'rect' or 'chart/pie'). Omit for the full reference, token constructors, host voice facets, and curated grammar.0..1

Options

OptionAliasesDescriptionArityDefault
--formatSyntax reference format: 'md' or 'json'.1md
--reference-rReference story YAML whose plugins: are loaded so plugin-contributed object types are documented. The value-type/constructor appendix remains the built-in host registry.1
--output-oOutput file path. Defaults to stdout.1

story voices

List or refresh available Azure Speech voices (cached under %LOCALAPPDATA%/Rune).

Subcommands

None.

Arguments

None.

Options

OptionAliasesDescriptionArityDefault
--refreshForce refetch the Azure voice list, ignoring the local cache.0..1false
--localeFilter voices by locale (e.g. en-US) and list them.1

story canvas

Host a Story preview for the GitHub Copilot App Canvas.

Subcommands

None.

Arguments

ArgumentDescriptionArityDefault
inputPath to the story YAML file.1

Options

OptionAliasesDescriptionArityDefault
--portLoopback port for the Canvas host. Use 0 to select an ephemeral port.10
--instance-idCanvas instance identifier.1
--parent-pidExtension process ID. The Canvas host exits when this process ends.1

Rune Project brings Rune Story authoring together with the Rune Engine rendering foundation.