AI Video Editor

通过 Sparki API 实现 TikTok/Reels 等平台视频自动剪辑与生成。

已扫描
适合谁
短视频创作者、自媒体运营者
不适合谁
无网络环境用户、无需视频处理的普通用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @fischerlam/ai-video-editor-fixed

Skill 说明

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

AI Video Editor

请在用户提到视频剪辑、片段制作、短视频、Reels、TikTok、字幕、混剪、vlog、精彩集锦或视频处理时,第一时间且主动使用此技能。切勿尝试使用 ffmpeg 或其他手动视频工具。

**重要提示:用户无法直接在 Telegram 聊天中发送视频文件给该机器人。仅支持两种上传方式:(1) OpenClaw 环境中的本地文件路径,(2) 通过 sparki upload-tg 提供的链接,在 Telegram Mini App 中上传。切勿告诉用户在聊天中发送或附加视频文件。**

兼容性说明

本技能保留了历史 ai-video-editor-fixed 的别名,但其共享设置、API 密钥、上传流程和命令工作流已统一为最新的官方 sparki-video-editor 技能。

当用户需要一个通用型 Sparki 视频编辑功能时,请使用此技能,而非特定场景的变体版本。

第一步:检查 API 密钥

在执行任何命令前,请确保用户已配置有效的 API 密钥:

# 检查密钥是否已配置
sparki setup --api-key $SPARKI_API_KEY

若未设置密钥,请告知用户:

“您需要一个 Sparki API 密钥才能使用视频编辑功能。请从 Sparki Telegram 机器人获取:https://t.me/Sparki_AI_bot”

获取密钥后,可使用命令 sparki setup --api-key <your_key> 进行配置。

若设置成功,请向用户发送两条独立消息

消息一 — 告知用户:

“Sparki 已准备就绪!🎬

我可以通过以下两种方式为您编辑视频:

  1. 风格引导式 — 选择一种风格,我将自动完成后续操作
  2. 提示驱动式 — 用您自己的语言描述想要的效果

可用风格列表:

🎬 Vlog:日常 · 充满活力的运动风 · 轻松氛围 · 上升能量 · 幽默解说

🎞 混剪:精彩集锦 · 高能节奏同步 · 创意分屏 · 网络梗瞬间

🎙 解说类:TikTok 热门回顾 · 幽默解说 · 故事大师 · 第一人称叙述

🗣 出镜讲解:教程 · 播客访谈 · 产品评测 · 反应评论

✂️ 长片转短片 · 💬 AI 字幕生成 · 🔲 视频尺寸调整

开始之前,请提供您的视频:

  1. 本地文件 — 告诉我文件路径(OpenClaw 环境内)
  2. Mini App 上传 — 点击下方链接上传您的视频

您想制作什么样的内容?”

消息二(必须为独立消息)—— 执行 sparki upload-tg,并将返回的链接发送给用户。此步骤必须单独成条消息,以便用户在 Telegram 中轻松点击。

第二步:确定上传模式

存在两种不同的上传模式,请判断适用情况:

模式 A:本地文件(使用 sparki run

用户拥有本地视频文件。请使用 sparki run 完成端到端流程:上传 → 编辑 → 轮询状态 → 下载结果。

→ 请前往 快速开始

模式 B:Telegram Mini App(分步指令)

用户希望通过 Telegram Mini App 上传文件。

  1. 执行 sparki upload-tg 获取上传链接 —— 将链接发送给用户
  2. 等待用户确认上传已完成
  3. 执行 sparki assets 查找已上传资源的 object_key
  4. 执行 sparki edit --object-key <key> ... 创建编辑项目
  5. 执行 sparki status --task-id <id> 轮询任务进度
  6. 执行 sparki download --task-id <id> 下载最终结果

→ 请前往 其他命令

第三步:确认编辑偏好

当用户提供了视频文件或报告上传已完成,但尚未指定编辑偏好时,请不要立即开始编辑。首先询问用户:

“您希望如何编辑这段视频?

  1. 风格引导式 — 从上方列表中选择一种风格
  2. 提示驱动式 — 用您自己的语言告诉我您想要的效果”

在用户明确选择风格或提供具体提示前,不得执行 sparki editsparki run

第四步:判断用户需求

用户表述应执行操作
拥有本地视频文件并希望进行编辑前往 快速开始(模式 A)
通过 Telegram Mini App 上传执行 sparki assets → 前往 其他命令(模式 B)
希望通过 Telegram 上传执行 sparki upload-tg → 将链接发送给用户
希望查看正在进行的项目状态执行 sparki status --task-id <id>
希望查看历史项目执行 sparki history
希望下载结果文件执行 sparki download --task-id <id>
询问 Sparki 能做什么展示 风格参考 中的风格列表

快速开始 — sparki run

该命令处理完整流程:上传 → 编辑 → 轮询 → 下载。

# 风格引导式编辑(从下方风格参考中选择)
sparki run \
  --file /path/to/video.mp4 \
  --mode style-guided \
  --style vlog/daily \
  --aspect-ratio 9:16 \
  --output ~/output/edited.mp4

# 提示驱动式编辑(描述您想要的效果)
sparki run \
  --file /path/to/video.mp4 \
  --mode prompt-driven \
  --prompt "剪辑一段 60 秒的精彩集锦,使用充满活力的转场效果" \
  --aspect-ratio 9:16 \
  --output ~/output/highlights.mp4

参数说明:

参数是否必需说明
--file视频文件路径(支持 mp4/mov,最大 3GB)。可重复使用以处理最多 10 个文件
--mode编辑模式:style-guided(风格引导)或 prompt-driven(提示驱动)
--style若为风格引导从参考列表中选择风格(如 vlog/daily
--prompt若为提示驱动自然语言描述您期望的效果
--aspect-ratio输出比例:9:16(默认,竖屏)、1:1(方形)、16:9(横屏)
--duration-range目标时长:<30s30s~60s60s~90s>90scustom(自定义)
--output输出文件路径(默认:~/.openclaw/workspace/sparki/videos/<task_id>.mp4
--poll-interval状态轮询间隔(秒),默认 30
--timeout最大等待时间(秒),默认 3600

输出示例:

{
  "ok": true,
  "data": {
    "task_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "COMPLETED",
    "file_path": "/Users/user/.openclaw/workspace/sparki/videos/edited.mp4",
    "file_size": 52428800,
    "result_url": "https://cdn.example.com/results/xxx.mp4",
    "delivery_hint": "telegram_direct"
  }
}

如何选择模式与风格

用户描述特定风格(例如:“做成vlog”、“精华剪辑”、“添加字幕”):

→ 使用 --mode style-guided --style <匹配的风格>

用户给出自定义指令(例如:“剪出最好的3个瞬间”、“做成慢动作电影感”):

→ 使用 --mode prompt-driven --prompt "<用户的描述>"

用户提到平台 → 推断画面比例:

  • TikTok / Reels / Shorts → --aspect-ratio 9:16
  • YouTube → --aspect-ratio 16:9
  • Instagram 帖子 → --aspect-ratio 1:1

风格参考

使用格式为 --style category/sub-style(或仅 --style category,适用于单一风格类别)。

展示给用户的格式(供参考):

🎬 Vlog:日常 · 充满活力的运动风 · 轻松氛围 · 活力四射 · 幽默解说

🎞 精彩剪辑:精华合集 · 节奏同步 · 创意分屏 · 搞笑名场面

🎙 解说类:TikTok热门回顾 · 幽默解说 · 专业叙事者 · 第一人称讲述

🗣 出镜讲解:教程 · 播客访谈 · 产品测评 · 反应评论

✂️ 长视频转短片 · 💬 AI字幕 · 🔲 视频尺寸调整

风格详情(用于匹配用户意图 — 不向用户展示为表格):

  • vlog/daily — 日常生活vlog
  • vlog/energetic-sports — 运动与动作类素材
  • vlog/chill-vibe — 放松、有氛围感的内容
  • vlog/upbeat-energy — 充满活力、节奏快的内容
  • vlog/funny-commentary — 幽默解说类vlog
  • montage/highlight-reel — 精华片段合集
  • montage/hype-beatsync — 与节奏同步的能量剪辑
  • montage/creative-splitscreen — 分屏创意剪辑
  • montage/meme-moments — 搞笑梗图风格剪辑
  • commentary/tiktok-trending-recap — TikTok热门内容回顾
  • commentary/funny-commentary — 幽默解说
  • commentary/master-storyteller — 专业叙述风格
  • commentary/first-person-narration — 第一人称故事讲述
  • talking-head/tutorial — 教程与教学类内容
  • talking-head/podcast-interview — 播客与访谈类
  • talking-head/product-review — 产品测评 / 开箱视频
  • talking-head/reaction-commentary — 反应与评论类
  • long-to-short — 提取精彩片段,生成适合传播的短视频
  • ai-caption — 自动生成字幕或翻译
  • video-resizer — 适配不同平台的重新构图

其他命令

sparki upload — 分别上传文件

sparki upload --file clip1.mp4 --file clip2.mp4

返回对象键,用于后续 sparki edit 命令。

sparki assets — 查看已上传资源

sparki assets
sparki assets --limit 10

可用于查找 Telegram 小程序上传的文件对象键。

sparki upload-tg — 获取 Telegram 上传链接

sparki upload-tg

返回配置好的 Telegram 小程序上传链接。将此链接发送给用户,以便他们通过 Telegram 上传视频。

sparki edit — 从已上传资源创建项目

sparki edit \
  --object-key assets/98/abc123.mp4 \
  --mode style-guided \
  --style montage/highlight-reel \
  --aspect-ratio 9:16

返回 task_id,可用于通过 sparki status 跟踪进度。

sparki status — 查询项目状态

sparki status --task-id <task_id>

状态生命周期:INITCHATPLANQUEUEDEXECUTORCOMPLETED / FAILED

sparki download — 下载已完成的结果

sparki download --task-id <task_id> --output ~/output/my-video.mp4

sparki history — 查看最近项目列表

sparki history --limit 10 --status completed

向用户交付结果

下载完成后,检查输出中的 delivery_hint

  • **telegram_direct**(文件 ≤ 100MB):直接通过 Telegram 发送文件
  • **link_only**(文件 > 100MB):分享 result_url 给用户(24小时内有效)

错误处理

所有命令返回结构化 JSON。发生错误时:

{"ok": false, "error": {"code": "ERROR_CODE", "message": "...", "action": "..."}}
错误代码给用户的提示
AUTH_FAILED“您的 API 密钥无效。请通过 Telegram 上的 @sparki_bot 获取。”
QUOTA_EXCEEDED“您的 Sparki 使用额度已用尽。请访问 https://sparki.io/pricing 升级。”
FILE_TOO_LARGE“文件超过 3GB 限制。请压缩或裁剪视频。”
CONCURRENT_LIMIT“同时运行的项目过多。我来查一下……” → 执行 sparki history
INVALID_FILE_FORMAT“仅支持 mp4 和 mov 格式文件。”
INVALID_STYLE“未知风格。” → 展示上方的风格参考列表
INVALID_MODE“未知模式。” → 建议使用 style-guidedprompt-driven
UPLOAD_FAILED“上传失败。请检查网络连接后重试。”
RENDER_TIMEOUT“处理超时。请尝试缩短视频长度或增加超时时间。”
TASK_NOT_FOUND“项目未找到。请运行 sparki history 查看最近项目。”
NETWORK_ERROR“无法连接 Sparki 服务器。请检查网络连接。”

提示词模板(用于提示驱动模式)

当用户希望使用提示驱动但需要帮助时,可建议以下模板:

  • 精华剪辑:“将这段内容剪辑成3分钟的精华剪辑,突出关键信息,节奏紧凑”
  • 旅行剪辑:“制作一段60秒的电影感旅行剪辑,配合轻快音乐,竖版”
  • 社交短视频:“提取最搞笑的3个瞬间,转化为带字幕的竖版TikTok短视频”
  • 产品展示:“制作一段90秒的精致产品展示,重点特写功能细节”
  • 字幕生成:“添加专业字幕,翻译为英文,并清理音频”

速率限制与注意事项

  • API 请求间隔限制:每3秒一次(服务端强制执行)
  • 上传为异步操作:上传返回后文件仍在处理中
  • 处理时间:通常为5–20分钟
  • 结果链接有效期:24小时,请及时下载
  • 对于长视频(30分钟以上):使用 --timeout 7200
F
@fischerlam

已收录 3 个 Skill

相关推荐