AI Clip Finder
The Clip Finder node uses AI to analyze a long video and identify the most viral segments for extraction.Inputs
Outputs
The output is an array of video clips. This can be connected to a Split node for per-clip processing, or directly to batch-aware nodes.
Available engines
How it works
- Receives a long video from the input handle
- Transcribes audio using the transcription engine (word-level, aggregated into ~5s segments)
- Sends the timestamped transcript to Gemini Flash for viral potential analysis
- Ranks clips by viralness — hook strength, shareability, controversy, emotional impact, trend alignment, quotable soundbites
- Snaps AI-returned timestamps to actual transcribed word boundaries for precision
- Renders static JPEG thumbnails (one frame per clip) in a 3×2 grid to the right of the main preview — six clips per page, with Prev / Next when there are more than six. Thumbnails load one-by-one as their source frames decode, so each card swaps from spinner to image independently.
- The main preview is empty until a clip is selected — click any thumbnail’s play control to load just that trim into the player (no full-video preload). Click the image or title row to toggle selection.
- User selects one or more clips (multi-select with Select All / Deselect All) to continue down the pipeline
- On Use these clips, each selected clip is extracted server-side into its own small faststart .mp4 (via the
hyperclip-extract-audioLambda’s clip mode). Downstream nodes (auto-captions, video-editor, final render) then play a tiny standalone file instead of seeking into the long source — which is what fixes “black player that never loads” on hour-long uploads where the source isn’t faststart-muxed. Extraction is best-effort; any clip that fails extraction falls back to a trim into the original URL so the flow always continues.
How clips are picked
The ranker is briefed as a short-form editor (TikTok / Reels / Shorts), not a summariser. It’s looking for moments that work posted alone with no other context — strong opening hook, self-contained narrative, clear payoff, quotable lines, audible energy. Filler / transition / mid-thought passages are explicitly down-ranked. Each clip gets aviralness_score (0–100):
Configuration options
For API runs, pass under
model_overrides[step]:
Clips target 40–60 seconds (50s is the sweet spot for short-form retention). Hard floor: 25 seconds — clips under that lack the setup → payoff arc that keeps viewers watching, so they’re dropped before extraction. Hard ceiling: 60 seconds — anything longer is trimmed to 60s. If transcription fails or the LLM returns nothing parseable, the executor falls back to a single 60 s clip from the start of the source video.
Credit cost
1 credit per analysis (Gemini Flash).Tips
- Feed this long-form content from Media Upload or TikTok Scraper
- The AI looks for moments with high viral potential — hooks, hot takes, emotional peaks
- Use the play button on a thumbnail to preview that clip in the main player; click the thumbnail or title to select/deselect it
- When you have more than six clips, use Next / Prev under the grid to page through them
- Use “Select All” to process every detected clip, or pick specific ones
- Combine with Video Editor to fine-tune the extracted clips
Connecting downstream
The output is aVideo[] (dashed handle). The standard shape is:
- Auto Captions → Apply to All Remaining Clips — finishes the current iteration’s captions and applies the same style to every later iteration without opening the design UI.
- Video Editor → Skip Editing for All — finishes the current iteration with no edits and skips the editor for every later iteration.
Example use cases
- Extracting viral-worthy moments from podcast recordings
- Finding the best hooks in a recorded presentation
- Creating short-form clips from long-form content for TikTok/Reels/Shorts