@tabor8/uploader
A command-line tool that uploads a folder of video footage to a Tabor8 project. Useful when the footage is already on a server, when you want uploads in a script, or when a browser upload is not practical for the file sizes involved.
Install
Node.js 20 or newer. Install it globally for a tabor8 command, or run it with npx:
npm install -g @tabor8/uploader
# or, without installing:
npx @tabor8/uploader --helpAuthenticate
Run tabor8 auth once. It prompts for an API key from Dashboard → Settings → API Keys (keys start cm_live_), verifies it by listing your projects, and saves it to ~/.clipmine/config.json with 600 permissions. It is not passed as a flag and not stored in shell history.
tabor8 auth
# Paste your API key from https://tabor8.com/dashboard/settings/api-keys: ****Upload a folder
tabor8 upload ./wedding-cards --project "Smith Wedding"
# preview without uploading or authenticating:
tabor8 upload ./wedding-cards --project "Smith Wedding" --dry-runOnly video files are picked up - other file types in the folder are ignored, not uploaded. Each file shows a progress bar, transfer rate and ETA. When every file is in, the scan is triggered automatically and the run reports how many uploaded, how many were skipped, and how many failed, with a reason for each.
Flags for upload
| Flag | Required | What it does |
|---|---|---|
| --project "Name" | Required | The Tabor8 project to upload into. If no project with that name exists, it is created for you. |
| --dry-run | Optional | List the files that would be uploaded and their total size, then stop. Needs no authentication - it only scans locally. |
| --base-url URL | Optional | Point at a different Tabor8 instance. Defaults to https://tabor8.com. |
Notes
- The project name match is exact. Anything that does not match an existing project name creates a new project, with a slug derived from the name.
- A large upload can be re-run - files that already registered are reported as skipped rather than sent again.
- The config file uses the historical
~/.clipmine/path, from before the rebrand. The CLI command and the service are Tabor8.
Package: @tabor8/uploader on npm. Once your footage is up, an AI agent can read the sorted result through @tabor8/mcp.