Skip to content

keryx reel

Manage and build reels. A reel workspace is the resumable unit of the authoring loop — see the Workspace concept.

Workspace lifecycle

keryx reel new <slug> [--theme <kw>] [--bundle <dir>] [--from-post <md>] [--force]
keryx reel list
keryx reel rename <old> <new>
keryx reel duplicate <src> <dst>      # copies authoring inputs, resets posting status
keryx reel rm <slug> --yes
keryx reel link <slug> <dir>          # associate a content directory (page bundle)
keryx reel prune <slug>               # drop candidate takes + cache (keep selected)
keryx reel migrate <slug> | --all     # bring a workspace to the current schema version
  • new scaffolds <root>/<slug>/ with workspace.yaml, an empty schema-valid storyboard.json, vo/ + cards/ dirs, and a .gitignore for takes/cache (refuses to clobber without --force — R-WS-4/5). --from-post marks the board unreviewed; keryx storyboard draft (LLM) seeds it later.
  • list enumerates the project's reels with status + theme + bundle (R-WS-16), including any whose schema version is out of date — a workspace you cannot see is one you cannot fix.
  • migrate brings a workspace to the current schema_version (R-WS-2, spec 0059). You will meet it through the error that names it rather than by looking for it. See reel migrate.
  • duplicate copies authoring inputs; the posting record is the article's, not the reel's (spec 0060), so there is none to carry — a copy hasn't been posted (R-WS-17); rename/rm are guarded (R-WS-18; rm requires --yes).
  • link records an associated content directory in workspace.yaml (R-WS-19).

The reel root defaults to reels/ (configurable via workspace.root).

Building

keryx reel build assembles the finished 9:16 MP4 from a workspace's storyboard, narration, music bed and cover. Its page has the flags and the build steps.

Notes

  • Rendering is provider-selected via providers.render (default in-memory afmpeg) — see Providers. The default needs nothing installed: the engine is fetched from a signed release and the card typefaces are embedded in the binary. providers.render: ffmpeg needs ffmpeg/ffprobe on PATH instead. Card fonts come from the theme, defaulting to the embedded inter and jetbrains-mono — see keryx font.
  • Generated video panels are deferred to Phase 5; overlay cards use stills (generated or uploaded).