# Rhythmic Cutting (3-2-1) — effect skill for cuts & pacing

> **For AI agents:** find the right skill in one call — `curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>"` returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the how-to page.

Shorten shot lengths step by step (3 s, 2 s, 1 s, half a second) to build momentum into a payoff.

- **Type:** [Effect](https://varg.ai/how-to/effects.md) · [Cuts & pacing](https://varg.ai/how-to/browse/skills/cuts.md)
- **Slug:** `rhythmic-cutting-3-2-1`
- **Status:** live
- **Publisher:** HeyGen (community)
- **License:** Apache-2.0
- **Source:** https://github.com/heygen-com/hyperframes/tree/main/registry/components/beat-timeline
- **Works in:** Claude Code, Claude.ai, Codex, Cursor, OpenClaw, Gemini CLI, Any MCP client, varg Studio
- **Requires:** ffmpeg, HyperFrames (npx hyperframes), Remotion, CapCut (by hand)
- **Cost:** Free — the take renders locally; generated footage, if any, bills by the model

## What it does

Built on [Beat Timeline](https://github.com/heygen-com/hyperframes/tree/main/registry/components/beat-timeline) by HeyGen (HyperFrames), Apache-2.0. The write-up and recipes below are varg's.

Each shot is shorter than the last until the edit lands on a longer hero shot or a drop.

**When:** Before a reveal, a drop in the music, a punchline or the product hero shot.

**Watch out:** Accelerating with no payoff shot at the end; the rhythm needs a landing.

**Timing:** e.g. 90, 60, 30, 15, 15 frames at 30 fps, then a 2–3 s hold

**Also called:** accelerating cuts, shrinking shot lengths, 3-2-1 rhythm, build-up cutting

### In FFmpeg

Generate trims from a list of durations and concat (bash loop builds the filter):
```bash
d=(3 2 1 0.5 0.5); f=""; i=0
for x in "${d[@]}"; do f+="[$i:v]trim=0:$x,setpts=PTS-STARTPTS,fps=30[v$i];"; i=$((i+1)); done
for j in $(seq 0 $((i-1))); do f+="[v$j]"; done
ffmpeg -i s1.mp4 -i s2.mp4 -i s3.mp4 -i s4.mp4 -i s5.mp4 -filter_complex "${f}concat=n=$i:v=1:a=0[v]" -map "[v]" out.mp4
```

### In HyperFrames

Set `data-duration` per clip to 3, 2, 1, 0.5, 0.5 with `data-start` chained to the previous id.

### In Remotion

```tsx
const lengths = [90, 60, 30, 15, 15, 75];
<Series>{shots.map((s, i) => <Series.Sequence key={i} durationInFrames={lengths[i]}><Video src={s} /></Series.Sequence>)}</Series>
```

### In CapCut

Trim clips to shrinking lengths on the main track; use Beats markers for the half-bar and bar positions.

### Ready-made components

- [Beat Timeline](https://skills.varg.ai/component/hf.beat-timeline/) (hyperframes): npx hyperframes add beat-timeline

### Where this comes from

- [Walter Murch, In the Blink of an Eye (rule of six)](https://en.wikipedia.org/wiki/In_the_Blink_of_an_Eye_(Murch_book))
- [FFmpeg filters: concat](https://ffmpeg.org/ffmpeg-filters.html#concat-filter)

## Use when

- Before a reveal, a drop in the music, a punchline or the product hero shot.

## Not for

- Accelerating with no payoff shot at the end; the rhythm needs a landing.

## Install

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg`
- Codex: `npx skills add vargHQ/skills --skill varg-video-edit-library -a codex -y`
- Cursor: `npx skills add vargHQ/skills --skill varg-video-edit-library -a cursor -y`

## Example output

https://s3.varg.ai/how-to/previews/0a22ee481dbf/take-rhythmic-cutting-3-2-1.mp4 — crosscut between two shots, with the timeline strip of the edit. Footage: WING IT! (2023), Blender Studio | studio.blender.org, CC BY 4.0; Coffee Run (2020), Blender Studio | studio.blender.org, CC BY 4.0. (credit: Rendered by varg · WING IT! (2023) + Coffee Run (2020))

## More cuts & pacing skills

- [SmartCut (capcut-ai-editor)](https://varg.ai/how-to/skills/capcut-smartcut-mcp.md): MCP that reads CapCut auto-captions to cut silences and duplicate takes right inside your CapCut project.
- [Auto-Editor](https://varg.ai/how-to/skills/auto-editor.md): CLI that cuts dead space by loudness or motion and exports MP4 or editor timelines; now also an agent skill.
- [AutoCut](https://varg.ai/how-to/skills/autocut.md): Edit video in a text editor: Whisper transcribes, you delete lines in Markdown, AutoCut cuts the video.
- [Cut Video](https://varg.ai/how-to/skills/cut-video.md): Claude Code skill that tightens long recordings with forced-aligned cuts, keeping laughs and comedic pauses.
- [Videogrep](https://varg.ai/how-to/skills/videogrep.md): Search spoken words across videos and auto-build supercuts of every match.
- [PySceneDetect](https://varg.ai/how-to/skills/pyscenedetect.md): Find cuts, fades and scene changes in a video, then split it or export scene lists for the edit.

## Run the generation on varg

varg is one API key for the models these skills drive — Seedance 2.5, Kling 4, Veo 3.1, Wan 3, Nano Banana 2.1, GPT Image 2.5, ElevenLabs v4 and 200+ more — billed in credits, with a cost estimate before anything runs.

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg` (skill + hosted MCP)
- Codex, Cursor, Gemini CLI, OpenClaw: `npx skills add vargHQ/skills --skill varg-ai -a <agent> -y`
- Grok and any agent that reads SKILL.md: `npx skills add vargHQ/skills --skill varg-ai`, or point it at the skill's SKILL.md
- Claude.ai, ChatGPT, any MCP client: connect `https://mcp.varg.ai/mcp`
- API key: https://varg.ai/dashboard/api · Model specs: https://varg.ai/models/llms.txt
