Command Line Interface
The Program CLI runs against the local backend inside the Program desktop app. The desktop app must be running for the CLI to work.
Installation
npm install -g @program-video/cliOr run directly with npx:
npx @program-video/cli tool listCommands
tool
Execute composition tools. This is the primary interface for AI agents.
program tool list
program tool exec <toolName> --project <compositionId> --params '<json>'Add a scene:
program tool exec addScene \
--project <id> \
--params '{"title":"Intro","duration":5,"code":"export default () => <h1>Hello</h1>"}'Read a composition:
program tool exec readComposition --project <id> --jsonGenerate speech:
program tool exec generateSpeech \
--project <id> \
--params '{"text":"Welcome to the demo","voice":"Ethan"}'Generate video:
program tool exec generateVideo \
--project <id> \
--params '{"prompt":"A cat playing piano in a jazz club","model":"minimax/video-01"}'template
Browse and run reusable workflow templates.
program template list --json
program template get <id> --json
program template run <id> --jsonresearch
Analyze reference videos and extract insights.
program research add <url> --json
program research list --json
program research analyze <id> --jsonnode
Manage scene node graphs for generation pipelines.
program node list --project <id> --scene <sceneId> --json
program node add prompt --project <id> --scene <sceneId> --config '{"prompt":"A sunset"}' --json
program node connect <sourceId> <targetId> --project <id> --scene <sceneId> --source-handle prompt --target-handle prompt --json
program node execute --project <id> --scene <sceneId> --jsondocs
Display CLI documentation or the full command schema.
program docs
program docs --schemaWorking with AI agents
The CLI is built for AI coding agents like Claude Code, Codex, OpenCode, and OpenClaw. The typical flow:
1. Open the Program desktop app
2. Create a project in the app or via tool exec createComposition
3. Pass the project ID to your agent
4. The agent uses program tool exec to build the composition
program tool list --json
program tool exec addScene \
--project <id> \
--params '{"title":"Intro","duration":5,"code":"export default () => <h1>Hello</h1>"}' \
--json
program tool exec generateSpeech \
--project <id> \
--params '{"text":"Hello world","voice":"Ethan"}' \
--json
program tool exec assessComposition --project <id> --jsonChanges appear in the desktop app in real time.
JSON output
All commands support --json for structured output:
program tool list --json | jq '.[0].name'Errors return non-zero exit codes with JSON error details.