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
-
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 intooutput_root/RoughCut.inputs/automatically).
-
Confirm RoughCut repo is present on the same Mac.
-
If the user enables fluff removal, ensure
GEMINI_API_KEYis 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
- Do you want to remove bad takes? (default: yes)
- Do you want to remove fluff/off-topic content? (default: no)
- 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 toRoughCut.xml_variants.zipvideo_path: absolute path to the input video used for processingdownloaded_video_path: present only when--video-urlwas 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
- The output zip path(s) from the JSON.
- How to import into Final Cut Pro:
- Unzip
RoughCut.xml_variants.zip. - In Final Cut Pro:
File -> Import -> XML... - Choose the desired
.fcpxmlvariant.
- Unzip