# J-Cut — 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.

Shot B's sound starts before its picture. The ear arrives first and pulls the viewer into the next scene.

- **Type:** [Effect](https://varg.ai/how-to/effects.md) · [Cuts & pacing](https://varg.ai/how-to/browse/skills/cuts.md)
- **Slug:** `j-cut`
- **Status:** live
- **Publisher:** varg (varg, verified)
- **License:** MIT
- **Source:** https://github.com/vargHQ/skills/blob/main/varg-video-edit-library/references/cuts.md#j-cut
- **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

We still see A while B's voice or ambience fades in; then the picture cuts to B. On a timeline the audio forms a J.

**When:** Scene changes, interview answers (hear the reply, then see the speaker), and pulling into a location by its sound.

**Watch out:** A lead longer than 1–2 s without a visual cue confuses who is speaking.

**Timing:** Audio leads by 0.3–2 s; short fade-in on B's audio

**Also called:** J cut, audio lead, sound advance, split edit

### In FFmpeg

Video cuts at 4 s; B's audio starts 1 s earlier. B's picture uses source 1–4 s, its audio source 0–4 s placed at 3 s:
```bash
ffmpeg -i a.mp4 -i b.mp4 -filter_complex \
"[0:v]trim=0:4,setpts=PTS-STARTPTS[va];[1:v]trim=1:4,setpts=PTS-STARTPTS[vb];\
 [va][vb]concat=n=2:v=1:a=0[v];\
 [0:a]atrim=0:4,asetpts=PTS-STARTPTS,afade=t=out:st=3.4:d=0.6[aa];\
 [1:a]atrim=0:4,asetpts=PTS-STARTPTS,afade=t=in:d=0.3,adelay=3000:all=1[ab];\
 [aa][ab]amix=inputs=2:normalize=0:duration=longest[a]" -map "[v]" -map "[a]" out.mp4
```
`normalize=0` stops amix from halving the level.

### In HyperFrames

Mute B's video and add its sound as an `<audio>` clip that starts earlier, with the matching source offset:
```html
<video id="b" src="b.mp4" data-start="4" data-duration="3" data-media-start="1" muted data-track-index="0"></video>
<audio id="b-snd" src="b.mp4" data-start="3" data-duration="4" data-media-start="0" data-fade-in="0.3" data-track-index="2"></audio>
```

### In Remotion

Picture and sound in separate sequences: B's `<Audio>` starts 30 frames before B's picture.
```tsx
<Sequence durationInFrames={120}><Video src={a} /></Sequence>
<Sequence from={120}><Video src={b} trimBefore={30} muted /></Sequence>
<Sequence from={90}><Audio src={b} /></Sequence>
```

### In CapCut

Right-click the clip → Separate audio (mobile: Extract audio), then drag B's audio clip left under the end of A and add a fade-in.

### Where this comes from

- [Wikipedia: J cut / L cut](https://en.wikipedia.org/wiki/J_cut)
- [FFmpeg filters: adelay](https://ffmpeg.org/ffmpeg-filters.html#adelay)
- [FFmpeg filters: amix](https://ffmpeg.org/ffmpeg-filters.html#amix)
- [HyperFrames: HTML schema](https://hyperframes.heygen.com/reference/html-schema)

## Use when

- Scene changes, interview answers (hear the reply, then see the speaker), and pulling into a location by its sound.

## Not for

- A lead longer than 1–2 s without a visual cue confuses who is speaking.

## 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/3a392c7a64e3/take-j-cut.mp4 — cut between two shots, with the timeline strip of the edit. Footage: Tears of Steel (2012), (CC) Blender Foundation | mango.blender.org, CC BY 3.0; Charge (2022), Blender Studio | studio.blender.org, CC BY 4.0. (credit: Rendered by varg · Tears of Steel (2012) + Charge (2022))

## 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.
