Command · Find Highlights
highlights.find
Finds the best moments of a gaming recording on this computer: game-audio spikes, the player's voice (louder or higher than usual, shouting, laughter), the picture (fast action, flashes, bursts of picture changes), the recording's imported Twitch / YouTube chat log (busy chat, emotes; highlights.importChat) and OBS chapter markers or a marker file next to the recording.
- v1
- Capability EditSequence
- Tool
highlights_find
Request
{
"command": "highlights.find",
"params": {
"count": 8,
"signals": [
"game",
"mic",
"visual"
]
}
}Parameters
audioRoles(`game` | `mic` | `mixed` | `ignore`)[]- What each audio stream of the recordings carries, by stream (OBS track 1, 2, ...). Default: the most voice-like of several streams is the mic, the others game; a single stream is mixed.
chatDelaynumber (0.0..120.0)- How late chat reacts, seconds (default 6).
chatOffsetnumber (-86400.0..86400.0)- Chat time + this = recording time, seconds (default: as imported).
countinteger (1..200)- How many moments at most. Default 10.
keywordsstring[]- Words and emotes that count as reactions, besides the usual ones.
markersboolean- Mark the moments. Default true.
mediainteger | string (1..)- Analyse this media item instead of the sequence. A media id or exact name.
minGapnumber (0.0..3600.0)- Seconds between two moments' peaks. Default 20.
minScorenumber (0.0..1.0)- Score a moment needs (0..1). Default 0.25.
sequenceinteger (1..)- Sequence id; only needed when the project has several.
signals(`game` | `mic` | `visual` | `chat` | `markers`)[]- The signals to use. Default all ("visual" decodes the picture: the slow part).
Discussion
Finds the best moments of a gaming recording on this computer: game-audio spikes, the player's voice (louder or higher than usual, shouting, laughter), the picture (fast action, flashes, bursts of picture changes), the recording's imported Twitch / YouTube chat log (busy chat, emotes; highlights.importChat) and OBS chapter markers or a marker file next to the recording. Each moment gets a score, a confidence and the reasons, and a marker ("Highlight 1: ..."; earlier highlight markers are replaced). For a media item the moments are in media time and become clip markers. Measurements are cached per source file.
Run it with wabcut-cli cmd <project> --json, from an MCP client as highlights_find, or from an extension. See Edit commands for requests, references and results.
See also
highlights.*
- highlights.importChat
Import Chat Log. Reads a stream's chat log (TwitchDownloader JSON, yt-dlp live_chat.json or chat-downloader JSON) and keeps it with a recording's analyses, so highlights.find counts busy chat and emotes.
- highlights.toReel
Make Highlight Reel. Makes a new sequence from highlight moments (the sequence's highlight markers, or "moments"): each moment with handles, best first up to "count" / "maxDuration", in time or score order, with transitions between them.
- highlights.toShort
Make Highlight Short. Makes one highlight moment (a highlight marker by rank, or start/end) a vertical 1080x1920 Short: the moment cut out with every track, laid out with layout.apply ("verticalSplit" with the facecam under the gameplay when there is one: a facecam clip above the gameplay or "facecamRegion"; else "verticalBlurFill": the whole game view over a blurred copy), captioned, with the moment's title as the hook and loudness for Shorts.