Use the tella-cli skill when you need to:
linkScope, password, allowed embed domains, search-engine indexingvideo.created, export.ready, transcript.ready, etc.) and recover delivery messagesIf tella-cli is not found, install and build it:
bun --version || curl -fsSL https://bun.sh/install | bash
npx api2cli bundle tella
npx api2cli link tella
api2cli link adds ~/.local/bin to PATH automatically. The CLI is available in the next command.
Always use --json when calling commands programmatically.
--json for agent-driven calls so downstream steps can parse the result --help or --help when unsure of flags rather than guessingdelete, remove-*), read first with get/list to confirm the target and as positional args (in that order)0-1 of the canvas*-ms flags) unless the docs say otherwisetella-cli auth set "tella_pk_xxx..." # API key from https://www.tella.tv/settings/api-keys
tella-cli auth test # Verify the key works
tella-cli auth show # Show masked token
tella-cli auth remove # Delete stored token
Token is stored at ~/.config/tokens/tella-cli.txt (chmod 600).
| Action | Description | Key Flags | |
|---|---|---|---|
| -------- | ------------- | ----------- | |
list | List videos in the workspace | --cursor, --limit, --playlist-id, --fields | |
get | Get a single video's metadata | - | |
update | Update title, description, sharing, playback | --name, --description, --link-scope, --password, --allowed-embed-domains, --custom-thumbnail-url, --default-playback-rate, --captions-default-enabled, --comments-enabled, --comment-emails-enabled, --downloads-enabled, --raw-downloads-enabled, --publish-date-enabled, --search-engine-indexing-enabled, --transcripts-enabled, --view-count-enabled | |
delete | Delete a video | - | |
duplicate | Duplicate, optionally trimmed | --name, --trim-start-ms, --trim-end-ms | |
export | Start an export job | --resolution (1080p/4k), --fps (30/60), --speed, --granularity (video/clips/raw), --subtitles | |
thumbnail | Get thumbnail/animated preview | --format (jpg/png/webp/gif/mp4), --inpoint-ms, --duration-ms, --width, --height, --download, --response json | |
add-collaborator | Add a workspace member | --email (required), `--role editor\ | viewer` (required) |
Most clip commands take as positional args.
| Action | Description | Key Flags | |
|---|---|---|---|
| -------- | ------------- | ----------- | |
list | List clips for a video | --fields | |
get | Get a single clip | - | |
update | Rename or reorder | --name, --order | |
delete | Delete a clip | - | |
duplicate | Duplicate the clip | --name, --order | |
cut | Cut a time range out | --from-ms (req), --to-ms (req) | |
reorder | Move to new position | --order (req) | |
remove-fillers | Auto-remove filler words | - | |
silences | List silent ranges | --min-duration-ms | |
transcript-cut | Edited transcript (post-cuts) | - | |
transcript-uncut | Original transcript | - | |
thumbnail | Clip thumbnail/preview | --format, --inpoint-ms, --duration-ms, --width, --height, --download, --response | |
list-sources | List recording sources | --fields | |
source-thumbnail | Source thumbnail | same as clip thumbnail | |
source-waveform | Audio waveform JSON | - | |
list-blurs | List blur masks | - | |
add-blur | Add a blur mask | --start-time-ms, --duration-ms, --point-x, --point-y, --dim-width, --dim-height (all required) | |
update-blur | Update a blur | any of the mask flags above | |
remove-blur | Remove a blur | - | |
list-highlights | List highlight masks | - | |
add-highlight | Add a highlight | same mask flags as add-blur | |
update-highlight | Update a highlight | mask flags | |
remove-highlight | Remove a highlight | - | |
list-layouts | List layouts | - | |
add-layout | Add a layout (JSON shape) | --layout (JSON, req), --start-time-ms, --duration-ms, --transition-style | |
update-layout | Update a layout | --layout, time flags, --transition-style | |
remove-layout | Remove a layout | - | |
list-zooms | List zooms | - | |
add-zoom | Add a zoom | `--type manualZoom\ | trackingZoom (req), --start-time-ms (req), --duration-ms (req), --scale, --focus-x, --focus-y` |
update-zoom | Update a zoom | same as add-zoom | |
remove-zoom | Remove a zoom | - |
Mask coordinates (--point-, --dim-, --focus-*) are normalized 0-1 of the canvas.
| Action | Description | Key Flags |
|---|---|---|
| -------- | ------------- | ----------- |
list | List all playlists | --visibility (personal/org), --cursor, --limit, --fields |
get | Get playlist details | - |
create | Create a new playlist | --name (req), --description, --emoji, --link-scope, --password, --visibility, --search-engine-indexing-enabled |
update | Update a playlist | --name, --description, --link-scope, --password, --search-engine-indexing-enabled |
delete | Delete a playlist | - |
add-video | Add a video to it | --video-id (req) |
remove-video | Remove a video from it | - |
| Action | Description | Key Flags |
|---|---|---|
| -------- | ------------- | ----------- |
create-endpoint | Subscribe to events | --url (req), --filter-types (req, comma-separated, e.g. video.created,export.ready) |
delete-endpoint | Delete an endpoint | - |
get-secret | Get the signing secret | - |
list-messages | Recent delivery messages | --event-types, --limit, --fields |
get-message | Get a specific message | - |
Available event types include: video.created, video.viewed, view.milestone, transcript.ready, export.ready, playlist.created, playlist.video_added.
--json returns a standardized envelope:
{ "ok": true, "data": { ... }, "meta": { "total": 42 } }
On error: { "ok": false, "error": { "message": "...", "status": 401 } }
tella-cli --help # List all resources and global flags
tella-cli videos --help # List actions on videos
tella-cli videos list --help # Show flags for videos list
tella-cli clips add-zoom --help # Show flags for add-zoom
All commands support: --json, --format , --verbose, --no-color, --no-header
Exit codes: 0 = success, 1 = API error, 2 = usage error
共 1 个版本