com um clique
scrollclaw-first-frame
// Generate the canonical first frame with Nano Banana 2. Composition, character, environment, and color — all locked before animation. The visual design gate.
// Generate the canonical first frame with Nano Banana 2. Composition, character, environment, and color — all locked before animation. The visual design gate.
One-time brand initialization. Given a brand name and URL, researches the brand and generates the three workspace/brand/ files that the rest of the pipeline reads. Run once per brand before any campaign work.
Router and orchestrator for AI UGC video production. Use for broad outcome requests like making a UGC video or running a campaign; it routes step-specific requests to the right sub-skill and can drive the full pipeline from persona research through virality-scored video.
ScrollClaw system — core doctrine, format selection, pipeline routing, and anti-patterns. Loaded into every UGC conversation.
Assembly stage for UGC videos. Handles stitch mode, post mode, captions mode, or full-assemble mode when the user is explicitly working on finalizing an existing campaign video.
Animate first frames into A-roll talking head clips. Uses Sora 2 via fal.ai (primary) with Kling 3 auto-fallback when Sora is unavailable or sunset.
Generate B-roll environment and product shots with Kling 3 via fal.ai. Environment matching, cut timing, and visual-only clips that play under continuous voice.
| name | scrollclaw-first-frame |
| description | Generate the canonical first frame with Nano Banana 2. Composition, character, environment, and color — all locked before animation. The visual design gate. |
| metadata | {"openclaw":{"emoji":"🖼️","user-invocable":true,"triggers":["first frame","generate frame","nano banana","ugc frame","canonical face"]}} |
The viewer's brain makes a stay-or-scroll decision in 3-5 seconds at the visual processing level — before conscious attention. By the time they've read the hook, the decision is already made.
Frame 1 is a visual design problem, not a copywriting problem. Read references/first-frame-psychology.md for emoji pattern interrupts, composition rules, and testing approach.
/persona)workspace/campaigns/<slug>/creators/ or workspace/creators/Read references/first-frame-prompting.md for the full system. This is what makes images look like phone photos instead of AI.
_system/references/color-reference-system.md.Include "no text, no words, no letters, no writing" in negative prompt to prevent Sora from hallucinating text into the video.
python3 scripts/generate-first-frame.py \
--prompt-file workspace/campaigns/<slug>/frame1-prompt.txt \
--output-file workspace/campaigns/<slug>/frames/frame1.png \
--creator workspace/campaigns/<slug>/creators/creator-<name>.md \
--log-file workspace/campaigns/<slug>/output-log.md \
--aspect-ratio "9:16"
For formats with multiple settings (podcast Dan, gym Dan, car Dan):
Generate context-specific first frames — one per setting. But always chain from the canonical face. Don't feed a podcast frame into gym B-roll.
Iterate on frame 1 more than anything else. Expect 2-4 attempts before it passes.
Quality checks:
Once frame 1 is locked, the rest chain from it.
| File | Purpose |
|---|---|
workspace/campaigns/<slug>/creators/creator-<name>.md | Creator identity — face, hair, build, wardrobe, energy |
workspace/creators/creator-<name>.md | Global creator profile (fallback if no campaign override exists) |
workspace/campaigns/<slug>/scripts/<format>-script.md | Which scene/setting the first frame needs to establish |
workspace/campaigns/<slug>/brief.md | Brand context, color cues, environment direction |
| File | Notes |
|---|---|
workspace/campaigns/<slug>/frames/frame1.png | Canonical face — referenced by all subsequent frames and animation |
workspace/campaigns/<slug>/frames/environment-frame.png | Context-specific frames for multi-setting formats |
workspace/campaigns/<slug>/output-log.md | Prompt params, model version, generation time (append-only) |
🖼️ First Frame context loaded:
✓ Creator: Maya (workspace/campaigns/ridge-q1/creators/creator-maya.md)
✓ Script: talking-head (workspace/campaigns/ridge-q1/scripts/talking-head-script.md)
✓ Campaign: ridge-q1
/persona, workspace/campaigns/<slug>/brief.md, and _system/references/color-reference-system.mdworkspace/campaigns/<slug>/frames/ plus prompt log entries in output-log.mdframe1.png first, stop for review, then chain any additional frames from it/animate and /b-rollworkspace/campaigns/<slug>/frames/workspace/campaigns/<slug>/frames/workspace/campaigns/<slug>/output-log.mdFrame 1 approved → run /animate for A-roll or /b-roll for environment shots.