SuperAPI AI Directory

talking-head-cut

Writing & research

View repository

Updated 10-20 08:10

About this skill

Cutting talking-head speech

The user recorded themselves talking to camera, with verbal tics, pauses, and several false-start retakes. What they want is a video that can be published directly: speech that flows, no dragging, an opening that holds attention, and not a single change in the meaning of what they said. It only counts as well cut if the audience cannot tell it was cut.

There are two common ways to ruin the cut. One is cutting while listening: you read a sentence, decide it is redundant, delete it, and later find it was the premise for what follows, so you have to go back and restore it. The other is cutting too hard: snipping out every breath and compressing all pauses to the minimum makes it sound like a machine talking; or, to make the opening grab attention, you cut a sentence off mid-way and change its meaning.

In a talking-head video, what determines the cut points is thespeech, not the picture: get the speech flowing first, then deal with the picture. Order:

  1. Transcribe. Without a transcript, every step below is guesswork. If there is no document with kind speech, transcribe first and tell the user transcription is in progress.
  2. List keep / delete decisions by argument, and cut it all in one pass (Section 2).
  3. Tighten pauses between sentences (Section 3).
  4. Set the opening (Section 4).
  5. Only after the cut is settledadd picture: punch-ins for emphasis, B-roll, text; then framing and sound. The method is in references/picture-and-sound.md; when you need to do these, use skills_read to fetch it.
  6. Check acceptance (Section 5).

Picture elements follow the cut points, but cutting the speech first and adding picture afterward is still easier: until the speech is settled, you cannot decide which sentence a punch-in lands on or how many seconds of B-roll to give.

1. Time and cutting method

There are two clocks here; confuse them and the cut points land in the wrong place:

  • The start and end of words in the transcript (read the speech document with documents_read) are on the source's own clock; convert to seconds by timescale: seconds = ticks ÷ timescale. addCuts and proposeCuts use seconds on the source clock.
  • splitItem, moveItem, removeRange, export ranges, and videos_frames' at use seconds on the timeline. The timeline position of a source moment t = that clip's startSeconds + (t − sourceInSeconds) (the clip from videos_inspect has these two values; for a speed-changed clip, divide by the rate again). Do not convert by feel; if unsure, run videos_inspect again to read the clip.
  • For cutting talking-head speech, use cut points (addCuts): they are restorable (restoreCut); the set of cut points is the document with kind cut-set in the video. The original file is untouched.

2. Keep / delete list

Read the whole transcript, do not cut sentence by sentence while listening:

  • List by argument: which arguments this recording makes, and which sentences to keep for each. Write it as a keep / delete list (sentence, keep or delete, reason), and cut it all in one pass; if you cut while reading, you often find later that a sentence you deleted earlier was the premise for what follows.
  • What should be deleted: preparation before rolling, the false-start retakes, noise between finishing and stopping the recording, and off-topic remarks unrelated to the main line.
  • Verbal tics and long pauses: Use edits_apply's proposeCuts (the fillers and pauses in detect) to generate edit suggestions, read the suggestions with documents_read, review them one by one, then use acceptCutSuggestions to accept only the ones that should be deleted; for intervals that need changing, call addCuts directly and put the suggestion ID in ref. Suggestions do not detect duplicate sentences: for recordings that were restarted after a flub, or things said twice, first use speech_retakes to list the takes (if a semantic model is installed it can also find re-recordings that were rephrased; if not installed it only finds ones with identical text,effectiveMode state this), pick which take according to the next section, then look up the source time in the transcript by the wordIds of the take to delete and cut it with addCuts;differ if the takes marked true differ in numbers, negations, or names, first work out which take is correct, and if unsure ask the user. For ones it cannot find (far apart, worded very differently), read the transcript and find them yourself as usual.
  • Choosing which take among several re-recordings: look for complete (the meaning is fully expressed), natural (not like reciting), and pace (neither dragging nor rushed). The later take is usually smoother, but this is not a rule; if unsure keep them all and ask the user to listen before deciding.
  • By default keep the original order. Reordering changes the argument; apart from the opening in section 4, ask the user before any move.
  • Delete by whole sentence: the cut boundaries fall in the gaps between words, from the start of the sentence's first word to the end of its last word, without cutting into a word.
  • Once the list is settled, submit it as one edit: one cut per sentence to delete, all in the same edits_apply. The whole edit is one undo step: when the user says "not that batch", one edits_undo reverts it.

3. Pauses between sentences

The length of pauses is the tone of the video: too short feels rushed, too long feels draggy.

  • Starting points (not rules, adjust by listening): about 0.2 seconds between sentences; fast-paced promotional voiceover can go to 0.1–0.15 seconds, reasoned or more thoughtful content 0.3–0.5 seconds. For languages and speakers with slower speech and longer sentences, relax accordingly.
  • Express this with proposeCuts' detect: turn pauses on, set compressTo to the target above, and leave minPause and maxGap at their defaults if not given. First read the suggestions to see how many places would change, then accept. After using the same number for the whole piece, go back and look at places after turns, punchlines, and questions: the pause there is content, and shortening it loses it.
  • Keep the breaths: cutting out every breath sounds like a machine. What you cut is dead air, not breathing.
  • Words must be whole: cut points fall in the gaps between words, without eating the first syllable or the final sound at the end. When the transcript's word boundaries are very tight, leave a little margin at the cut point.
  • You cannot hear the finished piece. Pause length can be read from the cuts and segments, butwhether it flows needs a human ear: use export to export a short segment (range is seconds on the timeline) for the user to listen to, and state in the report which parts were only measured.

4. Opening

The first few seconds decide whether viewers stay.

  • The first few seconds need a line that makes people stay. The most powerful line in the whole piece,the exact words, can be moved to the opening: use splitItem to cut at the start and end of that line (seconds on the timeline), then use moveItems once to move it to the very front and shift the segments originally before it back in sequence (segments on the same track cannot overlap).

  • Move only the original wording; do not re-record the voice, do not splice half a sentence. Take along any qualifiers it originally carried (for example “in this case”, “for beginners”, the same in any language); if removing the qualifier changes the meaning, do not move it.

    A comparison (just for illustration): the original wording is “For beginners, this method shows results in the first week.” Moving “this method shows results in the first week” to the beginning changes the meaning from “for beginners” to “for everyone”, so it cannot be moved that way; if you move it, move the whole sentence.

  • Figure out whether this sentence appears once or twice in the video, and tell the user: moving it isreordering, and the original position will no longer have this sentence; if it is a preview and the original position must also keep it, do not move it—instead place a copy of the same piece of material at the beginning (use addItem to place the same material, then use trimItem to trim it to the range of this sentence) and make room for it.

  • When moving a clip, things on other tracks do not necessarily move with it. So set the beginning first, then add zooms and text; if they have already been added, re-read with videos_inspect after moving and check each one.

  • When there is no original line that can stand on its own, move nothing; start in the original order and cut out the opening small talk.

5. Acceptance

  • Read back: use videos_inspect to check clips and durations, documents_read to check the set of cuts, and verify item by item against the keep/delete list: what should be deleted is deleted, what should be kept is still there.
  • When you need to see the picture, use videos_frames to grab frames at moments on the timeline: it gives the source-material frame at that moment, without zooms, subtitles, or overlaid elements; to check the composited result, export a short segment of the finished video for the user to see.
  • After cutting, translations become outdated: if there are translations, follow the approach for translating subtitles and re-translate only the sentences that changed.
  • Write the report in three columns:Measured(duration, number of cuts, how much the pauses were changed),Viewed(if frames were grabbed, write which moments were viewed and what was seen; if not viewed, honestly write that it was not viewed),Needs a human to listen(whether the cut points flow smoothly, the music volume). Whether the opening sentence was moved and how the original position was handled: explain in a separate sentence.

6. What to avoid

  • Do not cut while listening, and do not cut in several scattered passes.
  • Do not cut out every breath, and do not suppress the pauses after turns and punchlines.
  • Do not cut into the middle of a word; do not splice half a sentence for the opening or remove qualifiers.
  • Do not reorder without asking (except for the opening sentence); do not force a choice for the user among several retakes.
  • Do not mix up the source-material clock and the timeline clock.
  • Do not call something you have not heard “smooth”, or something you have not viewed “no problem”.