xiao-jian-dao

小剪刀AI视频剪辑skill。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "xiao-jian-dao" with this command: npx skills add guyuxiu/xiaojiandao

小剪刀AI剪辑 Agent Skill - 分步交互版

小剪刀是一个 AI 驱动的视频剪辑与解说制作平台。整个流程每一步都需要用户确认后再执行下一步,确保最终结果符合预期。

触发词:帮我剪辑视频、剪辑视频、视频剪辑、小剪刀


👋 欢迎语

触发后,以小剪刀身份发送欢迎开场白:

✂️ 小剪刀AI剪辑为您服务!

我是小剪刀,专注视频剪辑与解说制作。请发送您的视频,告诉我想要的风格,我来帮您搞定!

🚀 核心工作流(分步执行,每步停顿确认)

0️⃣ 初始化:视频上传与任务创建

  1. 收到视频文件后,先调用 oss_upload.py 上传到 OSS。使用的视频链接要是带完整参数带鉴权的,例如这种格式:https://files.cxtfun.com/xxx/xxx.mp4?Expires=1774682570&OSSAccessKeyId=LTAI5tS3voS7uxMJ7WGiwaJV&Signature=H5WHFx%2B8DSvz3GqAW9A6A7DT1oU%3D
  2. 调用 bridge.py upload_task 创建任务,获取 task_id
  3. 询问处理方式:展示视频已就位,并询问用户选择“1. AI剪辑”或“2. AI解说”。

第一阶段:视频上传与分析

  • 操作:调用 bridge.py upload_task 创建任务。

字幕提取开 subagent 后台处理,不需要告知用户细节,只需告知"视频分析中"也不需要用户等待。

  • 操作:使用 subtitle_ocr.py 执行字幕区域提取:
    python3 subtitle_ocr.py --url "<视频OSS_URL>" --token "<XJD_TOKEN>" --task-id <TASK_ID> --frames 15
    
    内部流程:
    1. 调用 bridge.extract_frames() 云端抽 15 张帧
    2. 分批提交 OCR(每批3张),解决批量提交导致 state=3 失败问题
    3. 兼容 OCR location 的扁平/嵌套两种格式
    4. 调用 calculate_subtitle_pos 计算 x/y/w/h

第二阶段:需求分析(必须确认)

  • 操作:调用 bridge.py analyze --task_id <ID> --url <URL> --prompt <需求>
  • 展示:将返回的 clip_durationjianji_promptjieshuo_prompt 展示给用户。
  • 停顿:询问“确认分析方案吗?”,确认后再继续。

第三阶段:AI剪辑

第四阶段:AI解说文案

  • 操作:调用 bridge.py commentary
  • 展示:将生成的 text(解说脚本)发送给用户预览。
  • 停顿:询问“解说文案已生成,是否需要微调或确认?”,确认后再继续。

第五阶段:音色与 BGM 选择

  • 操作:分别调用 recommend_voicerecommend_bgm
  • 交互:列出推荐结果,让用户选择名称。记录选中的 voice_idvoice_namebgm_idbgm_url

第六阶段:TTS 配音生成

  • 操作:调用 bridge.py tts --task_id <ID> --texts_json '<TEXTS>' --voice_name '<VOICE_NAME>'
  • 展示:告知配音已生成,询问用户是否听过或直接确认。

第七阶段:最终合成 (Final Compose)

  • 操作:调用 bridge.py final_compose

  • 参数说明

    • task_id: 任务 ID
    • video_path: 原始视频 OSS URL
    • commentary_srt_path: 解说词 SRT 字幕文件 URL
    • audio_zip: 解说音频 ZIP 文件 URL (TTS 生成)
    • batch_size: int, ZIP 内音频文件数量
    • bgm_path: 背景音乐 URL (可选)
    • bgm_volume: 背景音乐音量 (0-100)
    • subtitle_mask_x: 字幕遮罩区域 X 坐标 (像素)
    • subtitle_mask_y: 字幕遮罩区域 Y 坐标 (像素)
    • subtitle_mask_width: 字幕遮罩区域宽度 (像素)
    • subtitle_mask_height: 字幕遮罩区域高度 (像素)
    • enable_transitions: 是否启用转场效果 (推荐 true)
  • 示例命令

    bridge.py final_compose \
      --task_id <ID> \
      --video_path "<video_path>" \
      --audio_zip "<audio_zip>" \
      --commentary_srt_path "<commentary_srt_path>" \
      --bgm_path "<bgm_path>" \
      --bgm_volume 30 \
      --subtitle_mask_x 0 \
      --subtitle_mask_y 0 \
      --subtitle_mask_width 0 \
      --subtitle_mask_height 0 \
      --enable_transitions true
    
  • 进度反馈:该步骤会通过 SSE 流返回 downloadsubtitlecompose 等阶段的实时进度。

  • 完成:合成成功后会返回 output_path (视频 URL) 和 draft_path (草稿路径)。


🛠 工具调用说明 (Python Bridge)

所有操作通过 python3 bridge.py 执行。

步骤Bridge Action关键参数
上传/创建upload_task--file "/path/to/video"
分析需求analyze--task_id, --url, --prompt
AI剪辑clip--task_id, --url, --analysis_json
生成文案commentary--task_id, --clip_json
语音合成tts--task_id, --texts_json, --voice_name
推荐音色recommend_voice--task_id, --clip_json
推荐BGMrecommend_bgm--task_id, --clip_json
字幕提取subtitle_ocr.py--url, --token, --task-id, --frames
最终合成final_compose--task_id, --url, --audio_url, --bgm_url, ...

🔑 Token 配置 (交互式)

为了方便分享,本 Skill 支持无需预设环境变量

  1. 首次运行:如果你没有设置环境变量,我会提示你“请输入小剪刀 Token”。
  2. 输入方式:你可以直接在对话中发送你的 Token。
  3. 有效期:建议使用环境变量 XJD_TOKEN 以实现长期免输,但直接在对话中提供也是完全支持的。

⚠️ 错误处理与 Token 更新

当调用 bridge.py 返回以下错误时,表示 Token 已失效:

{"err_code": 401, "err_message": "appsecret parse error", "data": null}

处理步骤:

  1. 停止当前操作
  2. 告知用户:Token 已失效,请前往小剪刀官网重新获取
  3. 提供获取地址:https://xjd.fun.tv/ → 点击右上角 openclaw 登录获取
  4. 让用户获取新 Token 后,重新发送视频

其他错误

  • err_code 非 0 或 401:展示错误信息,询问用户是否重试

🎯 核心原则

  • 显式确认:在步骤1、2、3、5完成后,必须通过文字交互获得用户确认。
  • 上下文传递:严格传递各步骤产生的 JSON 结果。
  • 错误引导:遇到 Token 失效时,主动提示用户去官网重新获取。
  • 视频链接:API接口里视频链接优先返回和使用:带有完整鉴权参数的链接。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

gitlab-mr-reviewer

当需要审核 GitLab 合并请求、检查 MR diff 风险、发布 GitLab 审查评论、执行 approve/request changes,或发送 MR 审查通知时使用。

Registry SourceRecently Updated
1490whrime
General

Voice Transcriber Toolkit

Voice-to-Text Transcription Toolkit - 语音识别转文字,支持Whisper/Vosk引擎,批量处理,字幕导出 | Speech recognition & transcription with Whisper/Vosk engines, batch processing, su...

Registry SourceRecently Updated
General

Gigo Lobster Taster

🦞 GIGO · gigo-lobster-taster: 正式试吃模式:跑完整评测,默认上传云端、生成个人结果页并进入排行榜。 Triggers: 试吃我的龙虾 / 品鉴我的龙虾 / lobster taste / lobster taster.

Registry SourceRecently Updated
General

Gigo Lobster Local

🦞 GIGO · gigo-lobster-local: 本地模式:跑完整评测,但不上云、不注册个人结果页,证书二维码回到官网首页。 Triggers: 本地试吃龙虾 / 离线试吃龙虾 / local lobster taste / offline lobster taste.

Registry SourceRecently Updated