360 Secure SkillHub
360 安全技能中心

RoughCut

在macOS上通过bash脚本以无头方式运行本地RoughCut,针对本地视频文件或直链下载的口播视频生成可导入Final Cut Pro的FCPXML粗剪时间线变体压缩包;支持删除坏条与可选的口水话剔除,运行结果以单行JSON返回。

samergmtm22
samergmtm22
热度 88.36
最近更新 2026-05-17 12:03:50
分类:创作依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:视频编辑 / 工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add roughcut-openclaw
Metadata
name
roughcut
description
Run RoughCut headlessly on macOS to generate Final Cut Pro (FCPXML) rough-cut timeline variants from a talking-head video — local-first, no media upload.
metadata
{"openclaw":{"os":["darwin"],"requires":{"bins":["bash","python3","curl","ffmpeg","node","npm"],"config":["skills.entries.roughcut.config.repo_root","skills.entries.roughcut.config.output_root"]},"primaryEnv":"GEMINI_API_KEY"}}

RoughCut (macOS)

This skill lets an OpenClaw agent run RoughCut locally on a user's Mac to produce RoughCut.xml_variants.zip from a raw video file, without uploading media.

Preconditions

  1. Confirm the video is present on local disk and get an absolute file path (example: /Users/alice/Movies/raw.mp4). If the file is on Google Drive/iCloud/Dropbox, ensure it is fully downloaded and accessible as a local file path. Tip: on macOS, you can drag the video file into Terminal to paste its absolute path. If the user is on a different machine than the OpenClaw Mac, agree on a delivery method:

    • Synced folder: a folder that syncs onto the OpenClaw Mac (iCloud Drive, Dropbox, Google Drive Desktop, etc.).
    • Direct download URL: ask the user for a direct HTTPS download link (for example an S3/R2/GCS pre-signed URL), then run RoughCut with --video-url (it downloads into output_root/RoughCut.inputs/ automatically).
  2. Confirm RoughCut repo is present on the same Mac.

  3. If the user enables fluff removal, ensure GEMINI_API_KEY is set in the environment that will run RoughCut. If it is not set, ask the user to provide it and explain it is used only for fluff removal.

Questions To Ask The User

  1. Do you want to remove bad takes? (default: yes)
  2. Do you want to remove fluff/off-topic content? (default: no)
  3. If fluff removal is enabled: what is the video topic/goal? (required)

How To Run

Use repo_root and output_root from OpenClaw config:

bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
  --video "$VIDEO_ABS_PATH" \
  --out "$OUTPUT_ROOT" \
  --remove-bad-takes true \
  --remove-fluff false

If the user provides a direct download URL, you can pass it directly (the runner downloads to $OUTPUT_ROOT/RoughCut.inputs/ first):

bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
  --video-url "$VIDEO_URL" \
  --out "$OUTPUT_ROOT" \
  --remove-bad-takes true \
  --remove-fluff false

If the URL has no filename (common for pre-signed URLs), include --video-name, and optionally --video-sha256:

bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
  --video-url "$VIDEO_URL" \
  --video-name "my_video.mov" \
  --video-sha256 "0123456789abcdef..." \
  --out "$OUTPUT_ROOT" \
  --remove-bad-takes true \
  --remove-fluff false

If fluff removal is enabled:

bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
  --video "$VIDEO_ABS_PATH" \
  --out "$OUTPUT_ROOT" \
  --remove-bad-takes true \
  --remove-fluff true \
  --topic "$TOPIC"

The runner prints a single-line JSON result to stdout. On success it includes:

  • xml_variants_zip: absolute path to RoughCut.xml_variants.zip
  • video_path: absolute path to the input video used for processing
  • downloaded_video_path: present only when --video-url was used (where the video was saved)

On failure it will include:

  • error
  • optionally debug_zip (a bundle of intermediate outputs)

What To Return To The User

  1. The output zip path(s) from the JSON.
  2. How to import into Final Cut Pro:
    • Unzip RoughCut.xml_variants.zip.
    • In Final Cut Pro: File -> Import -> XML...
    • Choose the desired .fcpxml variant.