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/cli

Or run directly with npx:

npx @program-video/cli tool list

Commands

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> --json

Generate 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> --json

research

Analyze reference videos and extract insights.

program research add <url> --json
program research list --json
program research analyze <id> --json

node

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> --json

docs

Display CLI documentation or the full command schema.

program docs
program docs --schema

Working 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> --json

Changes 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.