Skip to content

CapCut-style jump cut: Remove silences in Object menu + dapi media autocut - #1

Open
felipebasurto wants to merge 15 commits into
mainfrom
cursor/media-autocut-0760
Open

felipebasurto wants to merge 15 commits into
mainfrom
cursor/media-autocut-0760

Conversation

@felipebasurto

@felipebasurto felipebasurto commented Aug 29, 2026

Copy link
Copy Markdown
Owner

CapCut-inspired jump cut — drop silences, conservative fillers (um/uh/eh, you know, o sea), and immediate stutters. Output is keep-ranges applied as trimmed clip copies with sourceIn / sourceOut (wraps in a sequence when needed).

UI

Select one video or audio clip → Object menu → AI actions → Remove silences. Disabled unless exactly one analyzable clip is selected (library Rect+VideoPaint, path <video>/<audio>, or AUDIO). No ActionBar pill, no dialog.

CLI

dapi media autocut <path> for agents — composes waveform silences + cloud transcript (silence-only when STT unavailable). See reference/media/autocut.md.

Scope

  • packages/runtimecomputeAutocut + tests
  • apps/web/src/engine/autocut.tsx — analyze + apply glue
  • apps/climedia autocut command only
  • Object menu wiring + reference doc

cursoragent and others added 5 commits August 29, 2026 13:56
Compose waveform silence detection with transcript word timings to
propose keep-ranges for jump-cut edits. Drops silences, stutters, and
common filler words without re-encoding. Optional --jsx emits a
<sequence> of trimmed <video> clips.

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
- Restrict filler drops to vocal pauses and safe phrases only
- Emit probe width/height in JSX; use <audio> for audio assets
- Continue with silence-only cuts when transcribe finds no speech
- Add node:test coverage for computeAutocut and formatAutocutJsx
- Document absolute source-second clock alignment with waveform

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
When cloud STT fails without auth, resolveTranscript runs openai-whisper
or whisper-cli on local file paths. Adds --transcript escape hatch and
documents offline install paths without requiring sign-in.

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
Move autocut analysis into @diffusionstudio/runtime so CLI and web share
the same keep-range logic. Wire a one-click Autocut pill on the canvas
ActionBar when a single video or audio clip is selected: compose waveform
silences and transcription in the renderer, then replace the clip with a
sequence row of trimmed copies. Desktop falls back to local whisper via
MEDIA_TRANSCRIBE_LOCAL when cloud STT is unavailable.

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
Show Autocut when exactly one video or audio node is selected, matching
Add audio/Upscale tag detection instead of requiring a library AssetId.
Resolve media via src through AssetLibrary.resolve for waveform and STT.
Use asset.source for local whisper IPC so absolute paths work.

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
@felipebasurto felipebasurto changed the title feat(cli): add dapi media autocut for silence/filler jump cuts Autocut: jump-cut silences, fillers, and stutters (inspired by CapCut) Aug 29, 2026
@felipebasurto
felipebasurto marked this pull request as ready for review August 29, 2026 15:27
cursoragent and others added 9 commits August 29, 2026 15:45
Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
Detect Autocut targets via findGeometryAsset (VIDEO/SEQUENCE/AUDIO) instead
of authored video/audio tags only, so library drops show the ActionBar pill.

Apply clones the authored Rect subtree with per-span timing for geometry
clips; direct video/audio JSX clips keep the existing path. Tests run via
tsx for Node 20 compatibility.

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
Move jump-cut UI from ActionBar to Object menu → AI actions → Remove
silences. Keep shared computeAutocut in runtime, CLI command, reference
doc, and minimal web engine glue. Drop local whisper stack, ActionBar
pill, mock docs, and check-script churn.

Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
@felipebasurto felipebasurto changed the title Autocut: jump-cut silences, fillers, and stutters (inspired by CapCut) CapCut-style jump cut: Remove silences in Object menu + dapi media autocut Aug 29, 2026
Co-authored-by: Felipe Basurto <felipebasurto@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants