A film strip fanning out into parallel glowing streams that converge into vertical phone-shaped clips and one long timeline

OpenClip

The agent-orchestrated video editing harness

You direct. Agents argue, verify, render.
Python ships the tools, agents ship the judgment, the human ships the taste.

One long video in — cut-edited original, captioned 9:16 shorts, long-form candidates, multilingual subtitles, and hook-matched thumbnails out. No creative decision is made without you.

# skills → Claude Code, Codex (tested), Cursor + any skills-protocol agent
npx skills add Q00/openclip

# the oc CLI (ffmpeg + Python 3.11+ required; pin to a release tag)
uv tool install "git+https://github.com/Q00/openclip@v0.1.0"
debate-decided cutsevery render proven, not just "done"you override any decision mid-runcrash-safe — resumes, never re-billsgrows its own toolbox, gated

#The shape of a run

One orchestrator, parallel workers, a human checkpoint, and an independent verifier — only a confirmed verdict advances.

#Four flows

flow1 Cut-edit

Proxy → parallel STT → a cut-editing debate: proposers argue through filler / pacing / narrative lenses, a judge reconciles → cut-edited original + subtitles.

flow2 Shorts

One long video → hook mining across transcript sections → captioned 9:16 shorts, ends snapped to the payoff's last word — plus a thumbnail per short.

flow3 Assemble

Weave N source videos into one longform, then mine its hook moments into shorts.

flow4 Thumbnails

Hook-matched thumbnails: the most representative frame with a burned headline, and/or a gpt-image design.

#Why it's different

#Integrating as an agent

If you are an AI agent evaluating or driving this harness: start at llms.txt (repo map + invariants), then AGENT_GUIDE.md (flow routing, fan-out widths, verification rules). Every oc subcommand prints exactly one JSON object; errors print {"error": "...", "type": "..."} and exit non-zero.