The official command-line interface for Bitmovin. Manage encodings, player licenses, analytics, and more — from your terminal.
Public Beta — This CLI is under active development. Commands and flags may change. Feedback and contributions are welcome!
npm install -g @bitmovin/cliRequires Node.js 20+.
# 1. Authenticate — either OAuth (recommended) or an API key
bitmovin login # OAuth (browser-based)
# or
bitmovin config set api-key YOUR_API_KEY # API key (https://dashboard.bitmovin.com/account)
# 2. Select an organization (optional)
bitmovin config list organizations
bitmovin config set organization ORG_ID
# 3. Start encoding
bitmovin encoding templates start ./my-encoding.yaml --watch| Command | What it does |
|---|---|
bitmovin login / logout |
Browser-based OAuth (PKCE) sign-in |
bitmovin agents setup |
Set up AI coding agents with Bitmovin skills, plugins, and the MCP server |
bitmovin skills … |
Install individual AI assistant skills |
bitmovin config … |
API key, organization, and defaults |
bitmovin encoding … |
Templates, jobs, inputs/outputs, codecs, manifests, stats |
bitmovin player … |
Player licenses, domains, analytics linking |
bitmovin analytics … |
Analytics licenses and domains |
bitmovin account info |
Account information |
Every command documents itself with --help. The full command reference with
examples lives in docs/commands.md, and bitmovin skill
prints it as markdown for AI assistants.
One command connects your AI coding agents to Bitmovin — it installs the Bitmovin skills (as plugins on Claude Code), and hooks up the Bitmovin MCP server so your agent can query encodings, play streams, and analyze viewer data directly:
bitmovin agents setup # Interactive wizard, detects installed agents
bitmovin agents setup --all-agents --yes # Non-interactive
bitmovin agents setup --dry-run # Show what would happenSupported agents: claude-code, codex, gemini-cli, cursor, and pi.
Re-running is safe, modified config files are backed up to <file>.bak, and
docs/commands.md has the per-agent details.
Human-readable tables when interactive; --json and --jq for automation
(design inspired by gh — data to stdout, status
to stderr, colors off when piped):
bitmovin encoding jobs list --json --jq '.[].id'Config is stored in ~/.config/bitmovin/config.json (mode 0600). You can also set the API key via the BITMOVIN_API_KEY environment variable, or sign in with bitmovin login to store an OAuth session.
Credential priority: --api-key flag > BITMOVIN_API_KEY env var > stored OAuth session > api-key in config file.
See docs/commands.md for OAuth internals (token storage, silent refresh, custom IdP overrides).
MIT