broll-generator
Skill3 starsChanged 4 months agoMITView on GitHub
Generate hyper-realistic complementary B-roll video clips (3-6s) from a scene description using Pruna p-video on Replicate, with NO main character — only people, objects and situations that reinforce an idea. Clips are vertical 9:16 at 720p by default and silent (clean for voice-over), so an avatar's narration can be laid on top in a composite reel. Use when the user wants to create B-roll, inserts, cutaways, complementary footage, or realistic supporting clips for a talking-head/avatar video or reel.
In this repository45 other files it gives its agents.
- asset-generatorSkill
- audio-theaterSkill
- avatar-ambient-sfxSkill
- avatar-camera-anglesSkill
- avatar-framesSkill
- avatar-inventSkill
- avatar-locationSkill
- avatar-reel-composerSkill
- avatar-talking-videoSkill
- bg-music-hqSkill
- bg-musicSkill
- brand-content-strategySkill
- broll-actor-copySkill
- broll-avatar-cameraSkill
- broll-browser-recorderSkill
- broll-coreSkill
- broll-cursorSkill
- broll-finderSkill
- broll-storySkill
- broll-terminalSkill
- broll-web-captureSkill
- caption-word-revealSkill
- carousel-generatorSkill
- cuento-reelSkill
- facebook-videosSkill
- gpt-image-2Skill
- instagram-videosSkill
- luxury-hnwi-salesSkill
- onboarding-scriptSkill
- pdf-remixSkill
- reel-discoverySkill
- reel-restyleSkill
- rule-of-six-editSkill
- seedance-2Skill
- sound-effectsSkill
- tiktok-videosSkill
- video-bg-replaceSkill
- video-composeSkill
- video-remixSkill
- video-scene-analysisSkill
- video-transcribeSkill
- viral-video-scriptSkill
- voice-cloneSkill
- voice-isolateSkill
- youtube-videosSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 91
Use --draft to iterate cheaply on a prompt, then re-run without it for the final clip.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
B-roll Generator
Generate short, hyper-realistic complementary B-roll clips with Pruna's p-video model on Replicate. The clips show only the people / objects / environments you describe — the main presenter/avatar never appears — so they can play under an avatar voice-over in a final composite (like the inserts used in the original lolo reels).
This is the visual counterpart to the avatar-talking-video skill: that one renders the talking head, this one renders the cutaways that reinforce what's being said.
Setup
Uses the same Replicate token as the other Replicate-based skills (avatar-talking-video, voice-clone, gpt-image-2, ...). If any of those is configured, this skill finds the token automatically.
pip3 install -r ~/.cursor/skills/broll-generator/scripts/requirements.txt
# Only if no sibling skill has a token yet:
python3 ~/.cursor/skills/broll-generator/scripts/setup_key.py YOUR_REPLICATE_API_TOKENffmpeg/ffprobe are used to normalize to the exact length and strip audio (recommended, but the skill degrades gracefully without them).
Quick start
python3 ~/.cursor/skills/broll-generator/scripts/generate_broll.py \
"manos sosteniendo un smartphone en penumbra, revisando el Instagram de un ex de noche, primer plano, foco selectivo" \
--duration 6 --camera push_in --avatar-dir /Users/.../virtual-avatar/loloOutput: <avatar>/broll/<NNN>_<slug>.mp4 plus a manifest.json entry. A JSON summary (saved path + metadata) is printed to stdout for use by an orchestrating skill.
How it works
- Prompt wrapping — your scene description is wrapped in a photoreal/cinematic style block, a camera move (
--camera) plus a "whole frame stays in motion" clause, and an explicit "the presenter does NOT appear / no on-screen text" instruction (skip with--raw-prompt). This fights the static/frozen-background look that makes AI B-roll feel fake.p-videohas no negative-prompt field, so these constraints live in the positive prompt. - Generate —
prunaai/p-videorenders text-to-video at the exact requested duration (1–20s), 720p/1080p.save_audiois off for clean B-roll. - Normalize — the clip is trimmed to the exact duration and audio stripped via ffmpeg (best-effort).
- Manifest — every clip is recorded with its description, prompt, camera, model, dimensions and seed.
Making B-roll look believable
The biggest realism win is camera motion — without it, p-video tends to animate only the subject over a static background. Always pick a --camera:
push_in/pull_out— classic reel inserts; the whole frame travels.pan_left/pan_right— good for landscapes, windows, walking subjects.orbit— wraps around a subject (objects, a person at a table).handheld(default) — organic drift + micro-shake for documentary feel.static— only when you genuinely want a locked tripod (scene still kept alive).
Describe subject + action + framing + lighting/mood, one concrete situation per clip (Spanish works well). Avoid naming the presenter or any real person.
Avoid the "mannequin" look (people who don't move/talk). Text-to-video freezes people into stiff poses unless you give them explicit, continuous performance. For any clip with people interacting, pass --action with vivid verbs — gestures, who points/turns/steps, and (for conversations) that their mouths move as they speak:
python3 .../generate_broll.py \
"una mujer y un hombre discutiendo en la sala de una casa, luz natural fría, plano medio" \
--duration 6 --camera handheld \
--action "ambos discuten hablando con vehemencia, las bocas se mueven al hablar; ella gesticula con las manos, señala y sacude la cabeza; él levanta las manos y se gira; intercambian miradas de enojo, postura tensa en movimiento constante"Key options
| Flag | Default | Notes |
--duration N | 6 | Exact seconds (1–20; use 3 or 6 for inserts). |
--aspect-ratio | 9:16 | 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1. |
--resolution | 720p | 720p or 1080p. |
--fps | 24 | 24 or 48. |
--camera | handheld | handheld, push_in, pull_out, pan_left, pan_right, orbit, static. |
--action TEXT | – | Explicit performance for people (gestures, talking, reactions). Fixes the "mannequin" look. |
--seed N | – | Reproducible generations. |
--draft | off | Fast, lower-quality preview for iterating on the prompt. |
--no-upsample | off | Disable p-video prompt upsampling (honor the prompt verbatim). |
--keep-audio | off | Keep generated audio (stripped by default for clean B-roll). |
--raw-prompt | off | Use the description verbatim (no realism/camera wrapper). |
--avatar-dir PATH | – | Save to <avatar>/broll/. |
--out-dir PATH | ./broll | Explicit output folder. |
Typical workflow (reel composite)
- Analyze a reference reel with
video-scene-analysisto get the per-scene focus, emotion and B-roll descriptions. - For each B-roll scene, write a scene description + camera move and call this skill (match the scene's
--duration). - Render the talking-head segments with
avatar-talking-video. - A higher-level composite skill stitches talking-head + B-roll under the avatar voice-over.
Notes
p-videosupports any 1–20s duration, so 3s and 6s are produced natively (no padding/retiming).- Audio is stripped by default so clips are clean for the avatar voice-over; pass
--keep-audioto keep it. - Use
--draftto iterate cheaply on a prompt, then re-run without it for the final clip. - Generation is a long-running operation (~30s–2min per clip).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

