tella-cli

通过命令行管理 Tella 视频、剪辑、播放列表及 Webhook,支持自动化编辑与导出。

已扫描
适合谁
内容创作者、视频编辑团队
不适合谁
无 Tella 账号的用户、不熟悉命令行操作的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @melvynx/tella-cli

Skill 说明

命令、参数、文件名以原文为准

tella-cli

何时使用此技能

在需要执行以下操作时使用 tella-cli 技能:

  • 列出、获取、更新或删除 Tella 工作区中的视频
  • 拉取剪辑的字幕(完整或剪切版),包含逐词时间戳
  • 在自定义尺寸和时间点生成视频或剪辑缩略图(支持 jpg/png/webp/gif/mp4 格式)
  • 触发 1080p 或 4k 分辨率、30/60fps 的视频导出,可选内嵌字幕
  • 复制视频或剪辑,可选择性裁剪
  • 编辑剪辑:裁剪时间段、重新排序、移除填充词、查找静音段落
  • 添加或更新视觉编辑:模糊、高亮、布局、缩放(手动或追踪模式)
  • 管理播放列表并添加或移除视频
  • 为视频添加工作区协作者(编辑者或查看者)
  • 创建 webhook 端点,获取签名密钥,并检查最近的交付记录

功能能力

  • 读取工作区中所有视频和播放列表,包括元数据、观看次数和分享链接
  • 无需打开 Tella 编辑器即可推送细粒度剪辑修改(如裁剪、重排、模糊、高亮、布局、缩放)
  • 拉取字幕用于下游搜索、摘要生成或无障碍处理流程
  • 启动导出任务并轮询/列出 webhook 交付状态,以确认文件是否就绪
  • 管理分享设置:linkScope、密码、允许嵌入的域名、搜索引擎索引
  • 订阅事件(如 video.createdexport.readytranscript.ready 等),并恢复已丢失的消息

常见使用场景

  • “列出我最近的 20 个 Tella 视频,并以 JSON 格式输出用于内容审计”
  • “获取剪辑 X 的未剪切字幕,以便生成章节时间戳”
  • “将视频 Y 导出为 4k 60fps 并内嵌字幕”
  • “在该剪辑中从 4.2 秒到 7.8 秒的位置添加模糊遮盖”
  • “创建名为 ‘教程’ 的播放列表,并添加这 5 个视频”
  • “配置 webhook,以便在导出完成时收到通知”
  • “从该剪辑中移除填充词,然后获取清理后的字幕”

安装与设置

如果未找到 tella-cli,请先安装并构建:

bun --version || curl -fsSL https://bun.sh/install | bash
npx api2cli bundle tella
npx api2cli link tella

api2cli link 会自动将 ~/.local/bin 添加到 PATH。CLI 工具将在下一条命令中可用。

程序化调用时,请始终使用 --json 参数。

使用规则

  • 对于由代理驱动的调用,请始终使用 --json,以便下游步骤能够解析结果
  • 当不确定参数时,运行 <resource> --help<resource> <action> --help,不要猜测
  • 执行破坏性操作(如 deleteremove-*)前,先通过 get/list 确认目标对象
  • 大多数剪辑修改操作需要同时提供 <videoId><clipId> 作为位置参数(顺序为先 videoId 后 clipId)
  • 遮罩(模糊、高亮)和缩放焦点坐标均归一化为画布的 0-1 范围
  • 时间单位默认为毫秒(*-ms 标志),除非文档另有说明

认证方式

tella-cli auth set "tella_pk_xxx..."   # 从 https://www.tella.tv/settings/api-keys 获取的 API 密钥
tella-cli auth test                     # 验证密钥是否有效
tella-cli auth show                     # 显示掩码后的令牌
tella-cli auth remove                   # 删除存储的令牌

令牌存储路径为 ~/.config/tokens/tella-cli.txt(权限设为 600)。

可用资源

videos

操作描述关键参数
list列出工作区中的所有视频--cursor, --limit, --playlist-id, --fields
get <id>获取单个视频的元数据-
update <id>更新标题、描述、分享设置、播放配置--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 <id>删除视频-
duplicate <id>复制视频,可选裁剪--name, --trim-start-ms, --trim-end-ms
export <id>启动导出任务--resolution (1080p/4k), --fps (30/60), --speed, --granularity (video/clips/raw), --subtitles
thumbnail <id>获取缩略图或动态预览--format (jpg/png/webp/gif/mp4), --inpoint-ms, --duration-ms, --width, --height, --download, --response json
add-collaborator <id>添加工作区成员--email (必填), `--role editor\

clips

大多数剪辑相关命令需以 <videoId> <clipId> 作为位置参数。

Skill: tella-cli

Version: 0.1.0

Chunk: 2/2

命令列表

操作描述关键参数
list <videoId>列出视频的剪辑--fields
get <videoId> <clipId>获取单个剪辑-
update <videoId> <clipId>重命名或重新排序剪辑--name, --order
delete <videoId> <clipId>删除剪辑-
duplicate <videoId> <clipId>复制剪辑--name, --order
cut <videoId> <clipId>裁剪指定时间范围--from-ms(必需),--to-ms(必需)
reorder <videoId> <clipId>移动到新位置--order(必需)
remove-fillers <videoId> <clipId>自动移除填充词-
silences <videoId> <clipId>列出静音区间--min-duration-ms
transcript-cut <videoId> <clipId>编辑后的转录文本(裁剪后)-
transcript-uncut <videoId> <clipId>原始转录文本-
thumbnail <videoId> <clipId>剪辑缩略图/预览--format, --inpoint-ms, --duration-ms, --width, --height, --download, --response
list-sources <videoId> <clipId>列出录制源--fields
source-thumbnail <videoId> <clipId> <sourceId>源缩略图与剪辑 thumbnail 相同
source-waveform <videoId> <clipId> <sourceId>音频波形 JSON 数据-
list-blurs <videoId> <clipId>列出模糊遮罩-
add-blur <videoId> <clipId>添加模糊遮罩--start-time-ms, --duration-ms, --point-x, --point-y, --dim-width, --dim-height(全部必需)
update-blur <videoId> <clipId> <maskId>更新模糊遮罩上述任意遮罩参数
remove-blur <videoId> <clipId> <maskId>删除模糊遮罩-
list-highlights <videoId> <clipId>列出高亮遮罩-
add-highlight <videoId> <clipId>添加高亮遮罩add-blur 相同的遮罩参数
update-highlight <videoId> <clipId> <maskId>更新高亮遮罩遮罩参数
remove-highlight <videoId> <clipId> <maskId>删除高亮遮罩-
list-layouts <videoId> <clipId>列出布局-
add-layout <videoId> <clipId>添加布局(JSON 形状)--layout(必需,JSON 格式),--start-time-ms, --duration-ms, --transition-style
update-layout <videoId> <clipId> <layoutId>更新布局--layout, 时间相关参数,--transition-style
remove-layout <videoId> <clipId> <layoutId>删除布局-
list-zooms <videoId> <clipId>列出缩放效果-
add-zoom <videoId> <clipId>添加缩放效果`--type manualZoom\
update-zoom <videoId> <clipId> <zoomId>更新缩放效果add-zoom 相同
remove-zoom <videoId> <clipId> <zoomId>删除缩放效果-

遮罩坐标(--point-*, --dim-*, --focus-*)为归一化值,范围是 0-1 的画布比例。

播放列表

操作描述关键参数
list列出所有播放列表--visibility(个人/组织),--cursor, --limit, --fields
get <id>获取播放列表详情-
create创建新的播放列表--name(必需),--description, --emoji, --link-scope, --password, --visibility, --search-engine-indexing-enabled
update <id>更新播放列表--name, --description, --link-scope, --password, --search-engine-indexing-enabled
delete <id>删除播放列表-
add-video <id>向播放列表添加视频--video-id(必需)
remove-video <id> <videoId>从播放列表移除视频-

Webhooks

操作描述关键参数
create-endpoint订阅事件--url(必需),--filter-types(必需,逗号分隔,如 video.created,export.ready
delete-endpoint <id>删除端点-
get-secret <id>获取签名密钥-
list-messages查看最近的交付消息--event-types, --limit, --fields
get-message <id>获取特定消息-

可用事件类型包括:video.created, video.viewed, view.milestone, transcript.ready, export.ready, playlist.created, playlist.video_added

输出格式

使用 --json 参数返回标准化的封装结构:

{ "ok": true, "data": { ... }, "meta": { "total": 42 } }

发生错误时返回:

{ "ok": false, "error": { "message": "...", "status": 401 } }

快速参考

tella-cli --help                       # 列出所有资源和全局参数
tella-cli videos --help                # 列出视频相关操作
tella-cli videos list --help           # 显示视频列表的参数
tella-cli clips add-zoom --help        # 显示 add-zoom 命令的参数

全局参数

所有命令支持以下参数:--json, --format <text|json|csv|yaml>, --verbose, --no-color, --no-header

退出码说明:

0 = 成功

1 = API 错误

2 = 使用错误

M
@melvynx

已收录 1 个 Skill

相关推荐