Install
openclaw skills install @chuckwhisler/batcheditsEdit videos in bulk with BatchEdits - add captions, remove silences, crop to 9:16, zoom and cut long videos into clips with the BatchEdits CLI (or MCP server), then download the results.
openclaw skills install @chuckwhisler/batcheditsUse BatchEdits to edit up to 50 videos at once: auto captions in 99+ languages, silence removal, 9:16 crops, zoom on key moments and AI clips from long videos. Use this skill when the user asks to edit, caption, crop or process videos. Everything runs in the user's own BatchEdits workspace and nothing is deleted.
https://batchedits.com/api/mcp, authentication OAuth, then sign in to BatchEdits. In a chat, turn BatchEdits on from the + menu. Step by step: https://batchedits.com/chatgpt?utm_source=clawhub&utm_medium=skillUse the CLI (needs Node.js 18.17+). Sign in through the browser; the token is stored locally and never printed:
npx batchedits@1.4.0 login
On a server without a browser, the user sets BATCHEDITS_API_KEY (Dashboard → Settings → API keys) in your environment instead. Never put the key in a command, URL or chat message.
Always run the exact version shown (batchedits@1.4.0, the batchedits package published by BatchEdits); don't drop the version or swap in another package name. The CLI reads only BATCHEDITS_API_KEY (and optionally BATCHEDITS_HOST), stores its sign-in token in ~/.config/batchedits, reads only the files or folder you pass it, and sends them only to batchedits.com.
If the user asked you to "set up batchedits" with a link to this file (and you can run commands; otherwise see "First" above):
npx batchedits@1.4.0 login and tell the user to approve access in the browser tab it opens (new accounts start a 7-day free trial there).npx batchedits@1.4.0 whoami to confirm it worked.npx batchedits@1.4.0 styles --json: list styles (use a style's name with --style)npx batchedits@1.4.0 style create "<name>" --crop 9:16 --silence --captions --zoom [--clips 8] [--emojis] [--repeats] [--hook] [--hook-clip <ai|id|words>] [--set action.setting=value]: create a style (--hook adds a text hook at the start of each video; --hook-clip plays an intro clip before each video, with the text hook on it when both are given)npx batchedits@1.4.0 style edit "<name>" [same flags] [--set captions.fontColor=#FFFF00] [--remove zoom] [--name "<new>"]: change a saved style (only when the user asks to change that style; otherwise create a new one)--set, repeatable; short names captions, silence, crop, zoom, clips): captions.position=top|center|bottom, captions.fontColor, captions.highlightColor, captions.fontSize, captions.fontFamily, silence.silentThreshold=0.01-0.2 (higher cuts more), zoom.zoomPercent=105-170, clips.maxClips=3-20, clips.minSeconds/clips.maxSeconds=15-180, crop.focus=center|left|right|top|bottom, hook.position=top|center|bottom, hook.y=0.05-0.95, hook.duration=auto|1-10, hook.source=ai|manual, hook.animation=fade|pop|none, hook.fontColor/hook.backgroundColor. npx batchedits@1.4.0 actions --json lists them all.--hook-clip ai lets AI pick a different matching clip for each video (best default). To use one clip for every video, npx batchedits@1.4.0 hooks surprise reaction finds clips; use an id or the words with --hook-clip.--hooks hooks.txt to run or process (line 1 → the first video; a folder uploads its files A-Z).npx batchedits@1.4.0 run <files or folder> --style "<name>" --out <folder> --yes --json: upload, edit, wait and download in one stepnpx batchedits@1.4.0 upload <files or folder> --json: upload only (prints video ids)npx batchedits@1.4.0 process <ids…> --style "<name>" --yes --json: edit uploaded videosnpx batchedits@1.4.0 status <ids…> --watch --json: wait until they're donenpx batchedits@1.4.0 download <ids…> --out <folder> --json: save finished videosnpx batchedits@1.4.0 <command> --help: examples for any commandstyles --json. If no style fits, create one with style create.--yes.run <folder> --style "<name>" --out <folder> --yes --json and report where the edited files are.failed or notReady entries, tell the user which videos and why.0 done · 2 wrong usage · 3 sign in first (npx batchedits@1.4.0 login) · 4 some videos failed · 5 needs --yes (ask the user first) · 1 other error (read the message and hint).
If you can't run commands, use the MCP server (connect it as described in "First" above). In Claude (web, desktop, mobile) the user adds it in one click from https://claude.ai/directory/batchedits; in ChatGPT through developer-mode connectors. Other MCP clients: https://batchedits.com/api/mcp with the key in the x-api-key header (openclaw config set mcp.servers.batchedits '{"type": "http", "url": "https://batchedits.com/api/mcp"}'). Tools: upload_videos, list_videos, get_styles, list_actions, create_style, edit_style (rename, or replace the style's actions with its full new list), process_video (optional hookText for that video's hook), search_hook_clips (intro clips for a video hook: set the hook's kinds to include "video"; with no clip AI picks a matching one per video, or add video: { libraryId } for one clip on every video), download_video(s), open_editor. Confirm credits before process_video; a video is ready only when its status is completed. Setup guide: https://batchedits.com/docs/mcp?utm_source=clawhub&utm_medium=skill