关于 opusclip
opusclip 是用于调用 OpusClip API 的命令行技能,可提交长视频并管理生成的短片,涵盖创建、预览、导出、编辑和项目整理。
主要功能
- 01从视频 URL 或本地文件创建短片
- 02设置片长、画面比例和模型
- 03查看短片与视频转录文本
- 04导出高清短片并管理集合
- 05使用命名操作编辑短片
适用场景
- 01将长视频转为短片
- 02查看短片预览和评分
- 03下载选定短片的高清版本
- 04将短片归入可导出的集合
MCP 相关
README 指出,命令行的短片编辑操作与 OpusClip MCP 的 edit_clip 工具采用相同实现和操作词汇。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ opus-pro/ opus-skills --skill opusclip安装后在 Claude Code 中输入/opusclip确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
openclaw.plugin.json.claude-plugin/plugin.json.codex-plugin/plugin.jsonreferences/api-reference.mdediting-script.mdscripts/opusclipskills/copy-video-style/references/editing-elements.mdnative-production.mdreference-analysis.mdskills/copy-video-style/scripts/telemetry.mjsskills/opusclip-media-generation/references/billing.mdmusic.mdspeech.mdvideo.mdtemplates/preview.html详细介绍
OpusClip
通过 OpusClip API 将长视频转换为短片段。如需根据参考内容在本地编辑用户的素材,请在可用时使用单独的 copy-video-style skill。
测试版 — 功能和价格可能会变更。API 定价可能与网页定价不同。
前提条件
- 必须设置
OPUSCLIP_API_KEY。如果用户已有 Enterprise、Pro 或 Max 计划,可以从 https://clip.opus.pro/dashboard 复制密钥。否则,请引导他们前往定价页面 — API 访问需要 Enterprise、Pro 或 Max 计划。 scripts/opusclipCLI 需要 Node.js(>=18)— 它是一个打包的 JS 文件
CLI 快速参考
运行打包的 CLI:scripts/opusclip。命令采用 资源 + 动词 的树状结构(opusclip <resource> <verb>);所有命令均输出 JSON。
opusclip project create --url URL [options] Submit video for clipping
opusclip project create --file PATH [options] Upload local video + create project
opusclip project list [--page N] List the org's clip projects (most recent first)
opusclip project share --project ID Share project publicly
opusclip project transcript --project ID Get the source-video transcript (paragraphs + word timing in ms)
opusclip project preview --project ID [--output PATH] Generate HTML preview and open in browser
opusclip clip list --project ID List a project's clips (preview URLs; HD via clip export)
opusclip clip get --project ID --clip CID Get clip details (transcript, layout info)
opusclip clip export --project ID --clip CID Get the HD download URL for one clip (ready|rendering|unavailable)
opusclip clip edit <verb> [flags] Server-side clip edits (charged, re-renders the clip) (beta — pricing may change)
ops Named edit operations, applied in order, one re-render (beta — pricing may change)
get Fetch EditingScript JSON for round-trip edits (escape hatch) (beta — pricing may change)
apply Submit an edited EditingScript directly (escape hatch) (beta — pricing may change)
censor Profanity censor (dictionary-based; --beep adds sound effect) (beta — pricing may change)
opusclip clip duplicate --project ID --clip CID Duplicate a clip into a "(Copy)" (free, server-side)
opusclip clip trim --project ID --clip CID --start S --end E Local ffmpeg trim (no API call, no captions)
opusclip clip storyboard --project ID --clip CID Generate 2x2 frame preview (requires ffmpeg)
opusclip collection <verb> [options] Manage collections (list, clips, create, export, add-clip)
opusclip post <verb> [options] Social posting (create, schedule, cancel)
list List scheduled/published posts (--project, or an --from/--to window)
account list List connected social accounts
copy create Generate AI-optimized post copy
copy get Poll for generated copy result
schedule Schedule a post for future publishing (beta — pricing may change)
opusclip thumbnail create --url URL [options] Generate YouTube thumbnails (experimental; credit-charged per call)
opusclip template list List brand templates
opusclip usage Show the org's API cap usage (monthly + concurrent, or uncapped)
旧版的裸动词别名(submit、create-project、upload、list、get-clips、list-projects、describe、templates、transcript、share、share-project、collections、edit-clip、trim、storyboard、preview、post publish|accounts|generate-copy|copy-status)仍可使用,但以下资源 + 动词形式是规范用法。
project create
版权提示
调用
opusclip project create前,请立即向用户逐字显示以下句子,作为普通提示(不是AskUserQuestion,也不是是/否确认步骤):使用你不拥有的视频可能违反版权法。继续即表示你确认这是你原创的内容。
这与 OpusClip 网页应用提交面板上显示的内嵌免责声明一致。每次执行
project create时都要原样显示;不要要求用户确认后才继续。
opusclip project create --url "https://youtube.com/watch?v=..." --durations "30,60,90" [more options]
| 标志 | 说明 |
|---|---|
--url | (除非使用 --file,否则为必需项)视频 URL |
--file | 上传本地视频,而不是使用 URL(会自动处理完整的 4 步 GCS 上传流程;其余标志相同) |
--durations | 目标片段时长,单位为秒,例如 "30,60,90"。可选 — 省略后由 OpusClip 决定。仅适用于剪辑任务(不能与 --skip-slicing / --skip-curate 搭配使用)。 |
--model | ClipBasic(对话头像)或 ClipAnything(多样化内容) |
--prompt | 自定义剪辑提示词(仅限 ClipAnything) |
--keywords | 以逗号分隔的主题关键词(仅限 ClipBasic) |
--aspect | portrait(默认)、landscape、square |
--range-start / --range-end | 仅剪辑部分内容(秒) |
--template | 品牌模板 ID |
--genre | 视频类型提示 |
--lang | 源语言代码 |
--target-lang | 将渲染后的片段翻译成此语言代码(翻译文本/字幕)。如需配音 VOICE 音频,请改用 --dubbing-language — 两者不能同时使用 |
--dubbing-language | 将视频中的语音配制为此语言(不支持从右向左书写的语言)。提交视频配音快速任务:处理完整视频(不剪辑),并添加配音音频 — 不能与剪辑或渲染选项同时使用。除提交费用外,还会扣除配音点数(每分钟源视频扣除 10 点)— 提交前请告知用户 |
--skip-slicing | 保留完整视频,不将其剪切成片段(导入 / 重新构图 / 为整段视频添加字幕) |
--enable-auto-hook | 在每个片段开头添加 AI 生成的开场钩子。仅适用于剪辑任务 — 不能与 --skip-slicing / --skip-curate 搭配使用 |
--enable-caption | 将字幕烧录到渲染后的片段中(省略后继承品牌模板 / 组织默认设置) |
--title | 视频标题元数据 |
--webhook | 用于完成通知的 Webhook URL |
--skip-curate | 处理原始视频,不进行 AI 筛选 |
--remove-filler | 移除填充词 |
不兼容的选项组合会在开始时被拒绝,并显示明确的错误(例如 --enable-auto-hook 与 --skip-slicing,或 --dubbing-language 与 --target-lang 搭配使用时)— 请将错误转告用户,并询问他们希望改用哪种选项,不要盲目重试。
clip list
opusclip clip list --project PROJECT_ID
| Flag | 描述 |
|---|---|
--project | (必填)要获取片段的项目 ID |
--summary | 已弃用,无操作(为向后兼容而保留)——现在始终包含评分和可读字段 |
要列出集合中的片段,请使用 collection clips --id COLLECTION_ID。
默认情况下,片段已包含可读字段(标题、描述、标签、评分)。显示片段时,请显示标题和描述,而不只是片段 ID。
输出中,project_id 和 clip_id 是两个单独的字段。--clip 标志应使用 clip_id(例如 0RiWBs5xuF),而不是组合 ID。
clip list 会返回 preview_url(可观看的低分辨率成品)和缩略图,不会返回 HD 下载 URL。要下载片段的 HD 文件,请使用 clip export(单个片段)或 collection export(整个集合)。
clip export
获取单个片段的 HD 下载 URL。这是明确的导出步骤——clip list / clip get 仅提供预览,与 Web 应用一致:只有点击“导出”后才会显示 HD 链接。
opusclip clip export --project PROJECT_ID --clip CLIP_ID
| Flag | 描述 |
|---|---|
--project | (必填)项目 ID |
--clip | (必填)片段 ID |
返回 {project_id, clip_id, status, export_url?}:
status: "ready"—export_url是 HD mp4,下载即可。status: "rendering"— HD 渲染正在进行;再次调用clip export以轮询(没有单独的轮询命令)。status: "unavailable"— 不存在 HD 成品,且没有正在进行的渲染。这是最终答复(不要循环调用)——例如,仅提供预览的套餐。
要一次处理多个片段,请将它们添加到集合中,并使用 collection export。
project list
按时间从近到远列出调用方组织的片段项目。用户未提供 project_id 时,可用此命令查找。
opusclip project list
opusclip project list --page 1 --page-size 50
| Flag | 描述 |
|---|---|
--page | 页码,从 0 开始(默认值为 0) |
--page-size | 每页项目数,1–100(默认值为 20) |
每行包含 project_id、title、source_type、source_video_id、stage、created_at、updated_at、is_deleted。
project transcript
获取项目源视频的转录文本:包含词级时间信息(毫秒)的段落。
opusclip project transcript --project PROJECT_ID
| Flag | 描述 |
|---|---|
--project | 要获取转录文本的项目 ID |
返回 { project_id, paragraphs: [{ paragraph_id, start_ms, end_ms, text, words: [{ word, start_ms, end_ms }] }] }。如果项目尚无转录文本(仍在处理中),则不包含 paragraphs。
project preview
生成包含所有片段视频播放器的 HTML 预览页面,并在浏览器中打开。
opusclip project preview --project PROJECT_ID
opusclip project preview --project PROJECT_ID --output /path/to/output.html
| Flag | 描述 |
|---|---|
--project | 项目 ID |
--output | 自定义输出路径(默认值:/tmp/opusclip-preview-{id}.html) |
预览页面按评分排序显示片段,包含内嵌视频播放器、标题、描述、标签和详细的 AI 评分(吸引力、连贯性、关联度、趋势)。用户想观看或预览片段时,请使用此命令。
project share
opusclip project share --project PROJECT_ID
| Flag | 描述 |
|---|---|
--project | (必填)项目 ID |
collection
opusclip collection list
opusclip collection clips --id COL_ID
opusclip collection create --name "NAME"
opusclip collection export --id ID
opusclip collection add-clip --id COL_ID --content-id PROJECT_ID.CLIP_ID
涉及破坏性操作或复杂操作的集合功能(删除集合、移除片段)特意仅限 Web 端使用——CLI 仅提供基本、安全的操作。可以导出集合(获取下载链接),但无法公开分享集合。要公开分享片段,请改为在项目上使用 project share --project。
clip edit
BETA — 功能和定价可能会有变动。API 定价可能与 Web 定价不同。
工作流指南
在同一会话中对单个片段执行超过 3 次
clip edit操作之前,请先征求用户确认——这些操作可能会产生与 Web 端体验不符的费用。未经用户逐次确认,切勿循环运行
clip edit或post schedule。 对现有片段进行服务端编辑。除get以外的每个子动词都会重新渲染片段(会收费,适用 beta 上限)。
ops 是编辑片段的方式。 它会针对片段的 EditingScript 执行指定操作并提交结果:一次调用、一次重新渲染,可以执行任意多个操作。这与 OpusClip MCP 的 edit_clip 工具所提供的操作词汇相同,运行的也是同一套实现——这两个接口不会出现偏差。
opusclip clip edit ops --project PID --clip CID --op NAME[:k=v,k=v] [--op ...] [--dry-run]
操作按给定顺序应用。--dry-run 会在本地应用操作并报告可能发生的更改,但不会提交,也不会重新渲染——可在消耗一次渲染之前用它检查操作。不带任何 --op 的 --dry-run 是能力读取:它会列出片段包含的轨道(KeyFrameTrack、CaptionTrack、EmojiTrack、TextOverlayTrack 等),让你在尝试某项操作并被拒绝之前,先确认哪些内容可编辑。
| 操作 | 参数 | 功能 |
|---|---|---|
trim_section | sectionIndex、keepFromSec、keepToSec | 缩短一个片段章节。秒数从该章节的起点开始计算,而非整个片段的起点。仅使用 keepToSec 即可表示“将此章节设为 N 秒长”。 |
split_section | atClipSec | 将包含该时刻的章节一分为二。秒数从整个片段的起点开始计算,与预览中的计算方式相同。无需指定章节索引。 |
drop_section | sectionIndex | 完全移除一个章节。 |
reorder_sections | order=0,2,1 | 重新排列章节。必须是当前从 0 开始的索引的完整排列。 |
delete_phrase | phrase、occurrence | 从视频和字幕中同时删去一段口语内容,而不只是删除屏幕上的文字。匹配时忽略大小写、标点和多余空白。如果短语出现多次,请传入 occurrence(从 1 开始计数)或 occurrence=all。 |
replace_phrase | phrase、replacement、occurrence | 修正字幕文本中的错别字或误听内容,不改动视频或其时间安排:片段时长精确到毫秒,保持不变。replacement 的单词数必须与 phrase 相同,因为每个口语词都要保留自己的时间安排(prooduct → product 可行;you know → obviously 会被拒绝)。匹配方式和 occurrence 规则与 delete_phrase 相同。 |
set_style | captionColor、highlightColor、captionPosition、uppercase | 设置字幕外观。这些是样式设置,不是脚本编辑——这是更改字幕颜色的唯一方式,因为 EditingScript 中根本没有字幕颜色。一次 set_style 中设置多个字段计为一次更改。 |
add_text_overlay | text、atClipSec、durationSec、position | 在视频上方叠加标题卡、下三分之一字幕或结尾文本——片段时长保持不变。durationSec 默认为 5 秒,并会限制在片段结束时间以内;position 可设为 top(默认)、middle 或 bottom。渲染效果与自动钩子使用的卡片相同:白色圆角框上的黑色粗体文字。 |
set_text_overlay | overlayIndex、text、position | 编辑现有叠加层。至少传入 text / position 之一。 |
remove_text_overlay | overlayIndex | 移除一个叠加层。项目的自动钩子在这里也是普通叠加层,因此也可用此操作移除钩子。 |
remove_emoji | atClipSec | 移除该时刻显示的表情符号。表情符号按时间而非索引定位——如果该时刻没有显示表情符号,错误信息会列出实际显示表情符号的时间。与 MCP 的 set_emoji 切换操作不同,此操作不会影响其他表情符号。 |
move_emoji | atClipSec、position | 将该表情符号移至 top / middle / bottom 区域。 |
一个 片段是视频片段中的一个剪辑部分,由从 0 开始的 sectionIndex 定位。每个时间线操作都会返回处理后的片段,包含 index / start_sec / end_sec,因此下一个操作无需重新读取视频即可定位。叠加层的处理方式相同:overlayIndex 按时间顺序从 0 开始,每个叠加层操作都会返回完整列表,以及每个叠加层的文本和时间窗口。 |
包含逗号的值必须加引号,否则参数拆分会截断它:--op 'delete_phrase:phrase="um, you know"'。
颜色格式为 #RRGGBB。captionColor 是普通字幕文本的颜色;highlightColor 是强调词语的点缀色(OpusClip 默认使用亮绿色 #04f827)。captionPosition 可以是 top、middle 或 bottom。uppercase 可以是 true 或 false。
设置
highlightColor不会开启高亮。切换关键词高亮的操作(
set_keyword_highlight)可通过 MCPedit_clip工具使用,但 CLI 暂不支持。如果片段的高亮处于关闭状态,更改颜色不会产生可见效果。set_captions、set_emoji、remove_filler_words和remove_pauses也是如此——目前仅支持 MCP。
# make the first section 8 seconds long, then drop the third
opusclip clip edit ops --project PID --clip CID \
--op trim_section:sectionIndex=0,keepToSec=8 \
--op drop_section:sectionIndex=2
# cut a phrase, and put white uppercase captions at the top
opusclip clip edit ops --project PID --clip CID \
--op 'delete_phrase:phrase=you know what I mean' \
--op 'set_style:captionColor=#FFFFFF,uppercase=true,captionPosition=top'
# fix a typo in the captions -- the video and its timing are untouched
opusclip clip edit ops --project PID --clip CID \
--op 'replace_phrase:phrase=prooduct,replacement=product'
# add a title card for the first 3 seconds, then take the auto-hook off
opusclip clip edit ops --project PID --clip CID \
--op 'add_text_overlay:text=Welcome,atClipSec=0,durationSec=3,position=bottom' \
--op remove_text_overlay:overlayIndex=0
# move the emoji that pops up at 0:21 out of the way
opusclip clip edit ops --project PID --clip CID --op 'move_emoji:atClipSec=21,position=top'
# check what an op would do, render nothing
opusclip clip edit ops --project PID --clip CID --op drop_section:sectionIndex=1 --dry-run
# what can I edit on this clip? (lists its tracks, changes nothing)
opusclip clip edit ops --project PID --clip CID --dry-run
备用方案:get / apply / censor
opusclip clip edit get --project PID --clip CID [--output FILE]
opusclip clip edit apply --project PID --clip CID --script FILE
opusclip clip edit censor --project PID --clip CID [--beep]
对于 ops 未涵盖的编辑,可获取 EditingScript、修改后再提交;有关修改路径和示例,请参阅 references/editing-script.md。适用时优先使用 ops——手动编辑一份约 1400 行的脚本,曾导致结构损坏的脚本上线并渲染成功,且持续了两周。censor 是基于词典的脏话处理操作,仍作为便捷命令保留。
移除
caption-fix、caption-replace和服务端trim子命令的原因是现在有了ops:这些子命令会在 CLI 中手动生成 EditingScript,且逐渐偏离引擎。(opusclip clip trim仍可在预览 mp4 上执行免费、即时且不带字幕的 ffmpeg 剪辑。)
ops / apply / censor 会返回 {job_id}(使用 --dry-run 时不会返回,因为不会提交任何内容)。使用 opusclip clip get --project PID --clip CID 轮询状态——重新渲染期间 render_pending 为 true(完成后该字段不存在或为 false)。完成后,使用 opusclip clip export --project PID --clip CID 获取 HD mp4。
clip get
获取片段的结构化信息。可用于了解片段内容,无需观看视频。
opusclip clip get --project PROJECT_ID --clip CLIP_ID
opusclip clip get --transcript --project PROJECT_ID --clip CLIP_ID
opusclip clip get --layout --project PROJECT_ID --clip CLIP_ID
| 标志 | 描述 |
|---|---|
--project | (必填)项目 ID |
--clip | (必填)片段 ID |
--transcript | 仅显示转录文本 |
--layout | 仅显示布局/取景信息 |
不指定 --transcript 或 --layout 时,默认输出包含内容字段(title、description、transcript、hashtags、keywords、score、duration_sec、aspect)、preview_url(可观看的低分辨率文件)和 render_pending(重新渲染进行中时为 true;完成后该字段不存在或为 false)——这些信息用于轮询重新渲染状态。此处不包含 HD 下载 URL——请使用 clip export 获取。仅需要口述文本时使用 --transcript。建议布局调整前,使用 --layout 检查当前取景。
轮询重新渲染状态(在任何 clip edit 子命令之后):
while :; do
opusclip clip get --project P --clip C \
| jq -e '.render_pending != true' >/dev/null && break
sleep 10
done
clip storyboard
根据片段的预览视频生成 2x2 帧网格图像。需要 ffmpeg。
opusclip clip storyboard --project PROJECT_ID --clip CLIP_ID
opusclip clip storyboard --project PROJECT_ID --clip CLIP_ID --output /path/to/output.jpg
| 标志 | 描述 |
|---|---|
--project | (必填)项目 ID |
--clip | (必填)片段 ID |
--output | 自定义输出路径(默认:/tmp/opusclip-storyboard-{clipId}.jpg) |
在 macOS/Linux 上自动打开图像。可用于快速目视检查片段内容。
clip trim
在本地裁剪片段的预览视频。需要 ffmpeg。
opusclip clip trim --project PROJECT_ID --clip CLIP_ID --start 3 --end 50
opusclip clip trim --project PROJECT_ID --clip CLIP_ID --start 3 --end 50 --output trimmed.mp4
| Flag | Description |
|---|---|
--project | (必需)项目 ID |
--clip | (必需)片段 ID |
--start | (必需)开始时间,单位为秒 |
--end | (必需)结束时间,单位为秒 |
--output | 自定义输出路径(默认:/tmp/opusclip-trimmed-{clipId}.mp4) |
clip duplicate
在项目中复制片段。创建一个独立副本,标题为 <title> (Copy),可以单独编辑或导出,不会影响原片段——服务端会深度复制已渲染的片段,因此副本会立即就绪。
**费用:**免费——不扣除点数(服务端复制已渲染的片段,无需重新渲染)。
opusclip clip duplicate --project PROJECT_ID --clip CLIP_ID
| Flag | Description |
|---|---|
--project | (必需)项目 ID |
--clip | (必需)片段 ID |
返回的新片段与 clip list 的数据结构相同(JSON 字段相同),因此可以直接将其传递给后续的 clip edit / post create。操作不具幂等性——每次调用都会创建另一个副本。
post
**测试版——功能和定价可能会有所变化。API 定价可能与网页定价不同。**适用于
post create和post schedule。
工作流指导
在一个会话中安排超过 5 条帖子前,请先征求用户确认——安排发布的帖子可能会开始按条收费。
未经用户确认,切勿循环运行
clip edit或post schedule。
管理社交媒体发布——将片段发布到 YouTube、TikTok、Facebook、Instagram、LinkedIn 和 X。
opusclip post account list
opusclip post copy create --project PID --clip CID --account AID [--prompt "tone"]
opusclip post copy get --job JOB_ID
opusclip post create --project PID --clip CID --account AID --title "Title" [--description "..."] [--privacy public]
opusclip post schedule --project PID --clip CID --account AID --title "Title" --at 2026-03-25T14:00:00Z
opusclip post cancel --schedule SCHEDULE_ID
| Subcommand | Description |
|---|---|
account list | 列出已连接的社交账号 |
copy create | 为片段生成经 AI 优化的帖子文案 |
copy get | 轮询获取生成的文案结果 |
create | 立即发布片段 |
schedule | 安排片段在未来发布(测试版——定价可能会变动) |
cancel | 取消已安排的帖子 |
支持的平台:YouTube、TikTok Business、Facebook Page、Instagram Business、LinkedIn、X(Twitter)。“Twitter”指 X——平台标识符为 TWITTER。每条 X 帖子收费 1 点数。
如果用户未指定帖子标题,请使用 clip list 输出中的片段标题。
thumbnail create
实验性功能——功能和定价可能会有所变化。每天有次数上限。处于实验状态期间,该端点可能会暂时禁用。
根据源视频生成 AI 设计的 YouTube 缩略图。完成后会自动下载结果。
**费用:**对于 Pro/Enterprise 用户,每次调用都会扣除点数——API 不提供免费额度(免费额度仅限网页端使用)。每次调用收取固定点数(目前为 7 点)。Free/Starter 用户会收到 QuotaExceedErr。
opusclip thumbnail create --url "https://youtube.com/watch?v=..."
opusclip thumbnail create --url URL --reference ./face.png --prompt "bold red text 'EPIC'" --output ./thumbs/
| Flag | Description |
|---|---|
--url | (必需)源视频 URL——与 project create 的来源相同(sourceUri)。 |
--reference | 可选的参考本地图像(面部、品牌素材)。通过 /upload-links 上传,usecase: FreeToolMedia。 |
--mask | 可选的用作遮罩的本地图像。上传流程相同。 |
--prompt | 可选的文本提示词,用于引导设计(风格、文案)。 |
--output | 下载 PNG 的输出目录(默认:/tmp/opusclip-thumbnails-{jobId}/)。 |
该命令会向 /generative-jobs 发送 POST 请求,参数为 jobType: thumbnail,每隔 5 秒轮询一次 GET /generative-jobs/{jobId},并将每个 result.generatedThumbnailUris[] 下载到输出目录(在 macOS 上会自动打开)。
错误代码:
403— 不是 Pro/Enterprise 用户,或你的账号未开放 thumbnail jobType。429— 达到每日上限或触发每分钟 30 次的速率限制(可能会提供Retry-After)。503— 该端点暂时禁用(熔断开关)。请稍后重试。
该端点受熔断开关(pro_api_generative_jobs_enabled)控制;503 表示此功能已暂停,并非你的调用有误。
模板列表
opusclip template list
列出品牌模板。使用模板的 ID 调用 project create --template。
用量
显示调用组织的 API 额度用量——回答“我用了多少每月 API 额度/距离上限还有多远?”。无需任何标志;读取 GET /api/api-usage?q=mine。
opusclip usage
两种输出格式:
- 有上限:
{ uncapped: false, monthly: { used, limit, remaining, reset_at }, concurrent: { used, limit } }。monthly数值与每个 API 响应中标注的X-RateLimit-Limit/X-RateLimit-Remaining相同(reset_at是X-RateLimit-Reset的 ISO 格式),因此不会与实际执行的限制出现偏差;concurrent表示进行中的项目数与并发上限。 - 无上限:
{ uncapped: true }——该工作区没有 API 额度上限(部分 Enterprise 套餐如此);无需报告数值。
常见工作流
剪辑 YouTube 视频
opusclip project create --url "https://youtube.com/watch?v=VIDEO_ID" --durations "30,60,90"
# Wait for processing, then:
opusclip clip list --project PROJECT_ID
# Preview clips in browser:
opusclip project preview --project PROJECT_ID
实际上必须提供 --durations——如果载荷中没有 curationPref.clipDurations,API 会拒绝请求。选择要生成的目标片段时长(每个值都会成为一个 [0, N] 区间)。
使用 ClipAnything 和自定义提示词
opusclip project create \
--url "https://youtube.com/watch?v=VIDEO_ID" \
--model ClipAnything \
--prompt "Find the most emotional moments" \
--durations "30,60,90"
上传本地视频、剪辑并整理
opusclip project create --file video.mp4 --title "Interview" --model ClipBasic
opusclip clip list --project PROJECT_ID
opusclip collection create --name "Best Clips"
opusclip collection add-clip --id COL_ID --content-id PROJECT_ID.CLIP_ID
opusclip collection export --id COL_ID
剪辑、筛选并分享
opusclip project create --url "https://youtube.com/watch?v=..." --durations "30,60,90"
opusclip clip list --project PROJECT_ID
# Understand clip content
opusclip clip get --transcript --project PROJECT_ID --clip CLIP_ID
# Visual review
opusclip clip storyboard --project PROJECT_ID --clip CLIP_ID
# Share
opusclip project share --project PROJECT_ID
剪辑、生成文案并发布到社交媒体
# 1. Submit and get clips
opusclip project create --url "https://youtube.com/watch?v=..." --durations "30,60,90"
opusclip clip list --project PROJECT_ID
# 2. See where you can post
opusclip post account list
# 3. Generate platform-optimized copy
opusclip post copy create --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --prompt "witty and engaging"
opusclip post copy get --job JOB_ID
# 4a. Publish immediately
opusclip post create --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --title "Check this out!"
# 4b. Or schedule for later
opusclip post schedule --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --title "Check this out!" --at 2026-03-25T14:00:00Z
# Cancel if needed
opusclip post cancel --schedule SCHEDULE_ID
编辑片段,然后发布
# Server-side edit (censor / apply)
opusclip clip edit censor --project PROJECT_ID --clip CLIP_ID --beep
# Wait for the re-render
while :; do
opusclip clip get --project PROJECT_ID --clip CLIP_ID \
| jq -e '.render_pending != true' >/dev/null && break
sleep 10
done
# Post the edited clip
opusclip post create --project PROJECT_ID --clip CLIP_ID --account ACCOUNT_ID --title "..."
限制
- 速率限制:30 次请求/分钟
- 视频上限:10 小时、30 GB
- 并发上限:50 个项目
- 项目在 30 天后过期
- 1 点数 = 1 分钟视频
- 缩略图 API:每次调用会扣除点数(仅限 Pro/Enterprise;目前为 7 点数);处于实验阶段,可能在不另行通知的情况下停用(503)
API 参考
有关详细的端点架构、参数和响应格式,请参阅 references/api-reference.md。