Semantic transcript search, one-command sync of mezzanine masters, and sidecar transcripts for RAG. Every read is JSON-friendly, every run is idempotent, and auth is a single API key — no browser, no OAuth.
npm install -g cutsioThe agent loop: inventory, search, plan, materialize, publish back.
export CUTSIO_API_KEY=ak_...cutsio list --jsoncutsio search "launch day crowd" --json --limit 5cutsio sync --search "launch day" --out ./footage --transcripts --dry-runcutsio sync --search "launch day" --out ./footage --transcriptscutsio upload cut.mp4 --title "Final" --folder <folder-id>--json on whoami, list, and search. --dry-run on sync and transcript. Exit 0 on success, 1 on failure, errors on stderr.
cutsio loginVerify the ak_… key and store it (macOS Keychain, or mode-600 config). Piped input works: key on line 1, workspace choice on line 2.
cutsio whoamiIdentity card: user, key, workspace, scopes. Pass --json for the machine-readable version.
cutsio listBrowse without downloading. Collections, folder tree with counts, optional --videos. --json returns the raw manifest.
cutsio searchSemantic transcript search, limit 1–25. Up to 3 timestamped chunks per video; --json adds retrieval_mode and per-chunk similarity.
cutsio transcriptOne transcript in vtt, srt, txt, or json. --dry-run prints to stdout — pipe straight into RAG.
cutsio syncIncremental mirror of masters. Bare sync refuses — pick --all, --folder, --collection, --video, --search, --name, --unfiled, or --interactive. --transcripts adds sidecars.
cutsio uploadMultipart upload with progress. Reports processing as <video_id>.
MCP details live on the MCP server page.
MCP is OAuth in your AI client — search and organize, no downloads. The CLI is an API key in your terminal or CI — plus media downloads, transcript files, and uploads. Use MCP to look around, the CLI to materialize footage.
No. Create one personal API key (Profile → API Keys), export CUTSIO_API_KEY, and every command works headless. login is a convenience, not a requirement.
Yes. Sync tracks versions in <out>/.cutsio-state.json and downloads only what is new or changed. Interrupted transfers resume from the byte offset. Nothing local is ever deleted.
Yes. whoami, list, and search accept --json. Status lines go to stderr when piped, so stdout is clean JSON. Exits are 0 success, 1 failure.
Uploads cap at 100 GB per file in 8 MB parts. Search returns up to 25 results. 429/5xx responses retry with backoff; waits over 30s fail fast with a human message.
Read more: MCP Server · Media Asset Management · npm package
One API key, six commands, footage and transcripts wherever your pipeline runs.