Local First
Composer ships with the CLI. flowcorder open starts a local sidecar server, serves the Studio UI, reads captures from .flowcorder/, and renders with local FFmpeg. Captures do not need to be uploaded to a hosted editor.
flowcorder open
# Opens local Studio with:
# - flow list
# - live capture preview
# - capture library
# - Composer timeline
# - render presets
# - local export jobsCapture library
Browse .flowcorder captures with recording.webm, steps.json, cursor-track.json, and final.png.
Timeline
Trim a capture, reorder scenes, and adjust pacing without rewriting the flow.
Camera
Add zooms, focus moves, and baseline camera motion based on UI elements or manual regions.
Voiceover
Generate per-beat narration from a script with ElevenLabs, OpenAI, or Descript voices, synced to the timeline.
Export
Render landscape, vertical, and social presets locally through the compose engine.
CLI Pairing
Everything Composer does visually should have a matching CLI path so teams can render demos in CI or from an agent-generated script.
flowcorder run onboarding
flowcorder compose onboarding-1778352213555 --preset landscape-1080p
flowcorder compose onboarding-1778352213555 --preset vertical-1080pVoiceover
Add narration to a composition by authoring beats in your composition file. Flowcorder generates per-beat audio with your chosen provider, caches it locally, and concatenates it into a single narration track synced to the timeline. Supported providers: elevenlabs, openai, and descript.
flowcorder voiceover validate composition.ts
flowcorder voiceover generate composition.ts
flowcorder compose run composition.ts --generate-voiceover