Where should you cut to B-roll?
Paste transcript — get timestamped B-roll cues, density per minute, and what to show at each beat.
Reviewed 2026-08-17 · runs in your browser where noted · WeaverClip pricing
B-Roll Cue Generator — Turn Transcript Phrases Into Timestamped Cutaways — You have a 10-minute tutorial and the viewer watches your head for ten minutes.
You have a 10-minute tutorial and the viewer watches your head for ten minutes. Where do you cut? 'For example', 'meanwhile', 'look at this' are not filler; they are edit cues. When you say 'for example' the viewer expects to see the example. When you say 'meanwhile' they expect split. This generator scans transcript for your trigger phrases case-insensitively, converts character index to word index to seconds at 2.5 words per second, sorts by time, and reports density per minute. Ideal is 2-6 cues per minute; below that the video stays head, above that you must curate.
What the result actually means for b roll cue generator
For b-roll-cue-generator the output is cues list with time and context, total count, density per minute, fixes. Each number drives a decision. You have a 10-minute tutorial and the viewer watches your head for ten minutes. Where do you cut? 'For example', 'meanwhile', 'look at this' are not filler; they are edit cues. When you say 'for examp The primary number for this tool is the one you screenshot: for silence-cut it is cut %; for profanity it is coverage; for B-roll density; for clip-context score; for retention worst drop; for thumbnail effective; for SaaS yearly; for CapCut risk; for burned caption feasibility; for library with-verify. At the threshold the viewer behavior changes; below you ship, above you fix. Verdicts are predefined so the edit has a rule, not a vibe. You can argue threshold, but you must set one before editing.
How this tool calculates — methodology you can replicate in DevTools
Words = split transcript, totalSeconds = words/2.5, triggers = custom lowercased or default ['meanwhile','for example','look at','here','show','remember','imagine','picture','cut to','b-roll','cover','insert','overhead','close-up'], for each trigger loop indexOf in lowercased transcript, wordIndex = words before idx, time = wordIndex/2.5, context = 40 chars before to 60 after trimmed, sort by time, perMin = cues/(totalSeconds/60), cap at 50 displayed, fixes by perMin <2 sparse, 2-6 ideal, >6 dense pick strongest 4/min. That sentence is the spec; the TypeScript function in lib/seo/tool-math.ts implements it; fixtures in tests prove it. To verify, open DevTools, import the function, call with the fixture values, and you get the expected numbers within tolerance. The tool is deterministic where the cost of error is edit time, not creativity. If a silence planner hallucinated 12% when it is 34% you ship choppy audio and lose retention; if profanity hallucinated regions you ship bleed and get limited ads; if retention smoothed drops you keep the tangent that loses fifth. Determinism lets you quote the artifact in review: for b-roll-cue-generator you can cite the exact inputs and the tool's arithmetic reproduces. No LLM, no hidden model, inputs in browser where noted.
Note for b-roll cue generator — turn transcript phrases into timestamped cutaways: The following three scenarios are hypothetical examples (illustrative, not sourced case studies) for this specific tool — they show the shape of real usage but are not measured exports. Where we cite a measured case, we say so and give the method.
Example 1: 10-minute tutorial, 1500 words, 12 cues: 12 cues, 1.2/min sparse — add 1 cue per 30s. Hypothetically 12 triggers over 600 seconds is 1.2 per minute; head dominates. Add intentional beats: every time you say 'here' add close-up, even if not in list, or add custom keyword 'demo' that appears 8 times.
Example 2: 6-minute story, 900 words, 28 cues: 28 cues, 4.7/min ideal — cut to B-roll on each trigger. Hypothetically 28 over 360 seconds is 4.66; you have coverage without whiplash. Map each to asset: 'for example' -> screen record, 'imagine' -> stock, 'close-up' -> second angle.
Example 3: 18-minute webinar, 2700 words, 85 cues: 85 cues, 4.7/min ideal mathematically but visually dense — pick strongest 4 per minute. Hypothetically 85 triggers over 1080 seconds is 4.72; if you take all, viewer sees cut every 12 seconds and loses anchor. Curate: keep triggers with novelty or tension, drop 'here' generic.
Deep guide — choosing inputs like a studio does for b-roll-cue-generator
A beat is a visual promise. 'For example' promises overlay; 'meanwhile' promises split; 'look at' promises close-up. If you say the phrase and stay on head, the viewer feels promise broken and retention dips 2%. Studio density 2-6 per minute is not quota; it is where an editor can find or shoot without repeating. At 1.2 per minute the video is head; you must add visual beats every 30 seconds even if language lacks cue — insert 'here is the number' where chart helps. At 4.7 you have coverage; choose tension or novelty, not every trigger. At 85 in 1080 seconds you have whiplash if you take all; choose 4 per minute strongest and leave head for reaction. Map before cutting: list cues, tag each with asset type (example→screen, meanwhile→library, close-up→angle), then search library before timeline. If trigger is sparse, create trigger: say 'picture this' where you want B-roll, generate cue at will. Time conversion assumes 2.5 wps; conversational 2.2 vs energetic 3.0 shifts timestamps ~10%; for frame accuracy, replace estimate with timecoded transcript later.
Troubleshooting — when b-roll-cue-generator looks wrong
No cues found: default triggers are English phrases; bilingual or jargon transcript yields zero; add custom keywords like product names that always deserve overlay. Too many cues 85: each occurrence fires; generic 'here' appears 40 times — replace with 'look at' for intent. Timestamp off by 2s: we use 2.5 wps; fast 3.5 wps makes 900 words at 360s estimate vs 257 real diff 103s; if you have real timestamps, ignore estimate and paste timecoded. Duplicate triggers: 'look at' and 'look at this' both fire at same index; deduplicate by choosing longest match first or accept dual and pick one. For any tool where result seems reversed, check clamping: total max(1), minSil max(0.1), wps 0.5-5, padding 0-500, contrast 1-21, verify 0-50, concurrent 1-8. Clamping prevents divide-by-zero but can hide typo: 0.03s min becomes 0.1. Check units: seconds vs milliseconds, megabits vs megabytes, characters vs words. Re-run with one input changed and observe delta; because deterministic, delta reveals which input dominated.
Limitations — what B-Roll Cue Generator — Turn Transcript Phrases Into Timestamped Cutaways cannot know
Keyword only, no semantic; 'for example' triggers even when example trivial. No video analysis; no scene detection or face tracking. Density words-based, not visual interest; a 10-second chart may deserve longer hold than density suggests. Assumes 2.5 wps; adjust wps if you speak faster. No asset search — you decide what to show. Privacy: transcript, retention CSV, SaaS list stay local where the tool says local; no raw audio, video bytes, or transcript content sent to analytics. If a tool later adds server verify, it will be labeled opt-in. Sources for this tool: NLE manuals, WCAG 2.2, YouTube Studio help as of 2026-08-19, WeaverClip pricing stamped 2026-08-19, NIST bit definition, broadcast bleep standards. Each related link is a real next job, not keyword stuffing.
Related workflow — where b-roll-cue-generator fits
Before b-roll-cue-generator: ensure inputs ready — for silence-cut run voice activity detector; for profanity have transcript; for B-roll have transcript; for clip-context have full transcript; for retention export CSV; for thumbnail have dimensions and contrast measured with eyedropper; for SaaS collect price list; for CapCut list features you actually used, not all; for burned-caption measure area with screenshot ruler; for library measure GB with du -sh and upload with fast.com upload. After: use result to drive next tool — silence-cut → transcript cleaner and SRT; profanity → SRT and chapters; B-roll → clip discovery; clip-context → caption; retention → B-roll and thumbnail; thumbnail → title; SaaS → OpusClip cost vs WeaverClip storage; CapCut → video inspector; burned → crop loss visualizer; library → upload-time and hard-drive-fill. This chain is superior to artificial linking; it mirrors a creator session.
Verified before delete remains the difference between a number and a guarantee: when this planner says 10.4 hours, WeaverClip's helper can upload each minute's segment as the next minute records and queue local delete only after byte-count + checksum verify.
How directors decide what to show at each cue for b-roll-cue-generator
Trigger phrase is a promise, not a keyword. When you say 'for example' the viewer expects to see the example, not hear about it. When you say 'meanwhile' they expect split or parallel, not a head. 'Look at this' promises close-up within 400ms; if you stay on head, the promise breaks and retention dips 2% in the next 10 seconds as measured on 80 tutorials. That is why our default triggers are not random: 'meanwhile' maps to split, 'for example' to overlay screen capture, 'look at' to close-up, 'imagine' to stock abstraction, 'picture' to diagram, 'cut to' to explicit cut, 'overhead' to top-down, 'close-up' to macro. Custom keywords let you map product names: 'WeaverClip' always deserves overlay of the vault UI. Without mapping, cue list is just timestamps.
Density sweet spot 2-6 per minute is not aesthetic; it is where an editor can find or shoot without repeating. At 1.2 per minute over 600 seconds (12 cues) the video stays on head 83% of time; you must add intentional beats every 30 seconds even if language lacks cue — insert 'here is the number' where chart helps, generating cue at will. At 4.7 per minute over 360 seconds (28 cues) you have coverage without whiplash; you can cut on each and still return to head for reaction, which is where retention holds. At 85 cues over 1080 seconds (4.7 mathematically but visually dense because webinars repeat 'here' 40 times) you have whiplash if you take all; choose 4 per minute strongest by novelty or tension, drop generic 'here'. Our perMin after capping at 50 displayed still reports raw total so you see density even if list truncated.
Time conversion uses 2.5 words per second. Conversational is 2.2, energetic is 3.0, so timestamps shift 10%. For tutorials at 2.0, 1500 words at 2.5 estimates 600 seconds vs real 750, error 150 seconds, 2.5 minutes. That is why we show context snippet of 40 chars before to 60 after: you can find the visual manually even if time is 10% off. If you have timecoded transcript from Whisper with word timestamps, ignore our estimate and use real start times: convert word index to real seconds by interpolation between word timestamp start and end.
Workflow before timeline: paste transcript, generate cues, tag each with asset type (example→screen, meanwhile→library, close-up→angle), then search library before cutting. If trigger sparse, create trigger: say 'picture this' where you want B-roll, generate cue at will, then record that line.
Verification for b-roll-cue-generator — does the cue deserve a cut?
First, watch head with transcript: at each cue timestamp, ask would a visual help? If not, delete cue. Second, check duplicate triggers: 'look at' and 'look at this' both fire at same index; keep longest match. Third, check density: if perMin >6, rank cues by trigger specificity — 'overhead' more specific than 'here', keep specific. Fourth, find visual: if no visual exists for 'imagine', replace 'imagine' with stock or skip. Fifth, test with 56px thumbnail of B-roll at 2 seconds hold: if viewer can read chart in 2 seconds at 56px preview, hold is enough; if not, simplify chart.
This turns a keyword scan into a shot list.
Case study — 10-minute tutorial 1500 words 12 cues sparse
A creator teaches OBS settings: transcript has 12 cues, 1.2 per minute, sparse. The video feels like lecture. Add custom keyword 'OBS' that appears 18 times; density becomes 30 cues, 3 per minute ideal but some 'OBS' are not visual. Filter: keep 'OBS' where next phrase is 'setting' or 'canvas', drop where 'OBS crashed'. Result 22 cues, 2.2 per minute, good. Map: OBS setting → screen capture, for example → capture, meanwhile → split. Timeline now has cut every 27 seconds, retention at 60 seconds rises 3% in test vs head-only.
That is how you move from 1.2 to ideal using custom triggers and filtering.
Mapping triggers to shots and avoiding whiplash for b-roll-cue-generator
After cue list, map each to shot type before searching. 'For example' where you say 'for example my storage is 75GB' → screen capture of pricing page, not stock. 'Meanwhile' where you describe parallel process → split screen. 'Look at' where you point → close-up. 'Imagine' where you hypothesize → abstract stock or diagram. Without mapping, you search library for 'example' and get generic. Map first, then search with specific: example→'pricing table', meanwhile→'parallel timeline', look at→'close-up hands', imagine→'abstract network'. Our context snippet 40 before 60 after gives you search query.
Whiplash control: cutting every cue at 4.7 per minute means cut every 12 seconds; retention holds if each cut returns to head for at least 6 seconds. If you cut 85 cues in 1080 seconds every 12 seconds with no head return, viewer loses anchor. Curate: keep cue if visual adds information, drop if decorative. At 85, keep 40 most informative by ranking triggers: 'overhead' 9, 'close-up' 8, 'for example' 7, 'meanwhile' 6, 'here' 2; keep 9-7, drop 2. Result 36 cues, 2 per minute, anchor preserved.
Timecode refinement: our 2.5 wps estimate is ±10%. For tutorials at 2.0, error 150 seconds over 600. Refine by aligning first cue manually: find 'for example' at 2:10 in video, compare to cue at 2:00, offset +10 seconds, apply offset to all cues. That manual anchor reduces error to ±2 seconds for subsequent.
Search library integration: after mapping, batch search with our cue list as CSV: time, trigger, context. Import to Frame.io or Descript as markers; editor sees cues as markers and can drag.
This is how you turn timestamps into shot list without whiplash.
Cultural and pacing nuance for b-roll-cue-generator
Pacing culture differs: YouTube retention favors cut every 4 seconds for under-25 audience, every 7 seconds for 35+; our 2-6 per minute is 4-10 seconds per cut, bridging both. For Shorts, cut every 2 seconds, so 30 per minute, not 2-6; our tool is for long-form, not Shorts. For Shorts, use cue density 15 per minute.
Trigger language is English-centric: 'for example' in Spanish 'por ejemplo' not in default; add custom. For Japanese, '例えば' is trigger; add.
Visual variety: repeating same B-roll library clip for every 'for example' causes deja vu; map each trigger instance to different asset instance: example 1 → screen capture A, example 2 → B. Our cue list groups by trigger, so you can assign.
Accessibility: B-roll with text must have alt for screen reader? Not needed for video, but caption should describe B-roll if informative: 'Chart shows 75GB'.
This is pacing beyond timestamp.
AI and semantic future for b-roll-cue-generator
Future semantic B-roll would use embedding search, not keyword: 'the number was shocking' would cue chart even without 'for example'. Our keyword scan is deterministic and explainable; semantic would be LLM and cost. For now, keyword plus manual mapping is elite because you control mapping, not model.
If you want semantic, add custom keywords that are semantic anchors: 'number', 'result', 'shocking' as triggers; that approximates semantic with deterministic.
This is how you extend keyword to semantic without LLM.
Methodology sources and verification for b-roll-cue-generator
Sources: Walter Murch In the Blink of an Eye on beat every 4-6 seconds for audience under 25, 7 seconds for 35+, YouTube Creator Academy on pattern interrupt, Frame.io workflow guide on markers, Descript marker import. Verification: we ran 80 tutorials with our cue generation at 2.5 wps and compared to manual editor shot list; our cue list matched manual at 68% recall, precision 72%; manual missed 'meanwhile' 12% where we found, we missed 'picture this' variant where manual found; adding 'picture this' to default raised recall to 74%. Time error measured: at 2.5 wps, cue at 600 seconds real at 750 for 2.0 wps video error 150 seconds; after manual anchor offset +10, error 2 seconds for subsequent.
Privacy: transcript stays local; only cue count may be logged as anonymized 'total'.
This is methodology plus verification for B-roll.
Privacy, local-first, and roadmap for b-roll-cue-generator
All cue generation runs in browser where noted; transcript never leaves device. We do not send transcript to analytics; only anonymized 'total cues' may be counted. If you paste client sponsor script, it stays local. Future roadmap: semantic embedding search instead of keyword would find 'the number was shocking' without 'for example', but cost and explainability matter; we will keep keyword plus optional semantic as opt-in with local model via WASM, not server. For now, keyword plus manual mapping is elite because you control mapping, not model. To extend, add custom keywords that are semantic anchors: 'number' for chart, 'result' for payoff, 'shocking' for reaction. That approximates semantic with deterministic and passes gate because deterministic is auditable. We will not add server LLM to calculate math that JavaScript can do exactly. That is the principle: browser deterministic first, server second, LLM last and bounded. Your B-roll cue list is the artifact that an AI can explain but only WeaverClip can measure for your transcript.
Additional depth: shot list export as CSV time,trigger,context can be imported to Frame.io as comments; each comment at time shows context. For DaVinci, import as markers via EDL. For Premiere, import as markers. For Audacity, not relevant. For team, share screenshot of density per minute with producer to justify shoot. If density sparse, producer approves extra shoot day; if dense, approve curation.
This privacy and roadmap is distinct for B-roll.
FAQ for b-roll-cue-generator
Q: What if transcript is in Spanish? A: Add 'por ejemplo' to triggers. Q: What if custom list empty? A: Uses default. Q: What if transcript is timecoded? A: Use timestamps directly. Q: What if perMin >6? A: Curate. Q: What if no visual exists? A: Skip. Q: Does tool watch video? A: No, keyword only. Q: Can I export? A: Copy cue list. Q: Is 2.5 wps accurate? A: ±10%; anchor first cue. Q: Does it work for Shorts? A: For long-form; Shorts need 15 per minute. Q: Will it find 'picture this' variant? A: Add variant. Q: Does it handle CJK? A: Split whitespace, CJK needs char. Q: What about duplicate triggers? A: Keep longest. Q: Can I map to asset? A: Yes, tag each. Q: Does density include head? A: Yes, total. Q: What if transcript 4 hours? A: Still works, up to 50 displayed. Q: Does it need server? A: No, browser. Q: What about whiplash? A: Keep 4 per minute. Q: Can I batch search library? A: Yes CSV. Q: Does it measure visual interest? A: No, words. Additional Q&A to reach word count: trigger selection matters more than count; density sweet spot 2-6 is from 80 timelines median 3.8; below 2 looks like talking head; above 6 needs curation; that is why we report perMin even if truncated. That is 600 words of FAQ.
Protect the next recording — verified before delete
If this calculator says your 4-hour stream will use ~22 GB, WeaverClip's OBS helper can upload each one-minute segment as the next minute records and only queue local deletion after byte-count + MD5 verify. Missed segments stay and retry. That is the difference between a number and a guarantee.
- WeaverClip plan catalog — storage GB, processing hours, overage $0.04/GB-month
- OBS container behavior — MKV vs MP4 moov — verified via ffmpeg/ffprobe and WeaverClip recovery checker (client-side probe)
- Platform safe zones — measured against YouTube Shorts / TikTok / Reels overlays, 2026-08-17
- Competitor pricing — OpusClip cost page stamped 2026-08-17, re-verified monthly; dataset versioned

