# CueFrame video editing CLI

> Manage media, edit saved compositions and render MP4s from terminals and scripts using the hosted CueFrame service.

## Requirements and authentication

Use Node.js 24 or newer. Run the CLI without a global installation:

```bash
npx -y cueframe@0.8 --help
npx -y cueframe@0.8 login
npx -y cueframe@0.8 api GET /v1/me --json
npx -y cueframe@0.8 describe --json
```

`login` opens your browser. For headless scripts, set `CUEFRAME_API_KEY` in the process environment. The account request checks access and credits; `describe` lists command arguments without an API call. Processing and rendering consume credits: check [pricing](https://cueframe.ai/pricing) before starting a batch.

## Render an existing video project

```bash
npx -y cueframe@0.8 render PROJECT_ID -o output.mp4 --json
```

Replace `PROJECT_ID` with a saved project ID. This renders its composition, waits for completion and downloads the MP4. It does not create an edit. `--json` emits one JSON object per line (NDJSON), including progress, job IDs and failures. A failed command exits non-zero.

For a first project with source footage, use the [Yosemite template walkthrough](https://cueframe.ai/cli#run). It creates an editable project instead of relying on a pre-existing project ID.

## Render a batch of saved projects

Save this as `render-projects.sh`:

```bash
set -e
for project_id in "$@"; do
  npx -y cueframe@0.8 render "$project_id" -o "${project_id}.mp4" --json
done
```

Run `bash render-projects.sh PROJECT_ID_1 PROJECT_ID_2`. The batch runs sequentially and stops on the first failed command. Each render is billed separately. Preserve the emitted IDs; after a connection interruption, [inspect the existing render job](https://cueframe.ai/api.md) before submitting another one.

## Documentation and other interfaces

- [CLI source and command examples](https://github.com/cueframe-ai/cueframe-mcp/blob/main/packages/cli/README.md)
- [npm package](https://www.npmjs.com/package/cueframe)
- [API reference](https://docs.cueframe.ai/docs/api)
- [REST and TypeScript SDK quickstart](https://cueframe.ai/api.md)
- [MCP connection](https://cueframe.ai/mcp): use this for agent conversations; the CLI does not run a local renderer.
