Video Generation (FLUX 3)
Trigger
Any request to generate, animate, or chain video clips, or to produce a short film for a contest/deadline.
Mandatory first step
Call bfl_flux3_prompting_guide before the first generation of any session. It costs no generation budget and carries the prompting rules.
Tool selection
| Need |
Tool |
| Clip from text alone |
bfl_flux3_text_to_video |
| Animate a specific still as frame 0 |
bfl_flux3_image_to_video |
| Storyboard of 1-10 pinned stills |
bfl_flux3_keyframes_to_video |
| Extend an existing clip |
bfl_flux3_video_continuation |
| Poll any job |
bfl_flux3_get_result |
Hard constraints (plan around these)
- One generation = one 5-20s clip at 24fps. A 20-40s short film = 2-4 chained segments, or one strong single take.
- video_continuation: input mp4 ≤50MB and ≤15s; the new segment also caps at 15s. Chain a second continuation for longer sequences.
- keyframes_to_video: when pinning keyframe_indices, set an explicit duration — "auto" can resolve shorter than your highest index and the job is rejected.
- Audio is generated by default; write "no music" in the prompt if unwanted.
- Generation takes MINUTES per clip and polling is normal. Budget iteration time: each retry is minutes, not seconds. For deadlines, finish with hours of buffer.
- Media fields accept local paths (auto-uploaded to temporary storage, deleted after) or URLs.
- A generate call returns a job id; nothing exists until bfl_flux3_get_result returns Ready and downloads the clip.
Companion craft skill
This skill owns MECHANICS only. Prompt-writing craft (consensus prompt anatomy, cinematography vocabulary, suspense-reveal beat sequencing, verbatim prompt library, failure-mode fixes) lives in flux3-video-directing (creative category) when present — load it for any "write/improve/storyboard a prompt" work. Built 2026-07-30 from two research digests (~/flux3-video-prompting-research.md, ~/cinematography-ai-video-digest.md) via: research fan-out (2 parallel delegate_task scrapers) → senna writes a spec file deciding ONE-skill-not-a-series → file-relay to creative profile for authoring. Reuse that pattern for building craft knowledge around any new tool.
Prompt shape
Plain prose, ordered: subject → distinguishing visual specifics → action → camera → lighting → environment → audio → style. Whatever you leave unspecified gets filled in for you — research anything with a real checkable appearance (grounding=true allows a short research pass).
Timed competition workflow (see references/contest-brief-research.md)
- RESEARCH THE BRIEF BEFORE DISPATCHING ANYONE. Rules, submission format, tags, exact deadline with timezone, judging criteria. Never dispatch specialists on a rumored brief.
- Convert deadline to a work-backwards plan: post by deadline minus a multi-hour buffer (iteration is slow).
- Feasibility check against the constraints above BEFORE promising a film length.
- Specialists in parallel (concept/storyboard, post copy) → synthesize one plan → user green-light → generate.
- Deliver the exact submission artifact the rules require (e.g. file + caption + tags), not just the video.
Rate limits & multi-profile coordination (learned 2026-07-30)
- HARD LIMIT: one new generation per account every ~5 minutes, and only one job active at a time. Submitting early returns a cooldown error naming the wait; submitting while a job runs returns "You already have a BFL video generation running."
- The quota is ACCOUNT-WIDE, not per-Hermes-profile. If another profile (e.g. creative) is generating, YOUR submit fails with the "already running" error — and you don't have their job id to poll. Coordinate out-of-band: only one profile submits at a time.
- When another profile owns the generation slot, hand off work as a prompt FILE (both segment prompts + iteration rules in one .txt) rather than competing for the slot. The user relays between profile sessions.
- A job survives client restarts: re-poll the same job id, never resubmit — resubmitting spends duplicate budget.
Behaviors worth knowing (from bfl_flux3_prompting_guide)
- Multi-shot works INSIDE one generation: "SHOT ONE ... HARD CUT. SHOT TWO ..." produces real cuts; "one continuous unbroken shot" gets an uncut take. Consecutive shots must contrast in scale, location, or colour or they blend back into one take.
- Audio lands as separate layers — name ambient, music, and speech separately. Leaving audio unspecified gets invented sound, not silence.
- A quoted line becomes speech ONLY with a visible speaker on camera; otherwise it tends to burn in as on-screen text. Add "no on-screen text, no subtitles" when text is unwanted.
Pitfalls
- Don't chain generations speculatively: each costs minutes and budget. Lock the storyboard first.
- Don't promise a clip length the tools can't make in one pass (>20s needs chaining — say so up front).
- Contests on X: scan what other entrants post so the submission doesn't blend in.
- User taste (suspense/creature trailers): restraint with ONE clear glimpse of the subject (e.g. face held for a beat, then gone) — not pure implication, not full reveal. Confirm the glimpse level before locking a storyboard.
1---2name: video-generation-23description: Use when generating video with FLUX 3 tools or contests.4---56# Video Generation (FLUX 3)78## Trigger9Any request to generate, animate, or chain video clips, or to produce a short film for a contest/deadline.1011## Mandatory first step12Call `bfl_flux3_prompting_guide` before the first generation of any session. It costs no generation budget and carries the prompting rules.1314## Tool selection15| Need | Tool |16|---|---|17| Clip from text alone | bfl_flux3_text_to_video |18| Animate a specific still as frame 0 | bfl_flux3_image_to_video |19| Storyboard of 1-10 pinned stills | bfl_flux3_keyframes_to_video |20| Extend an existing clip | bfl_flux3_video_continuation |21| Poll any job | bfl_flux3_get_result |2223## Hard constraints (plan around these)24- One generation = one 5-20s clip at 24fps. A 20-40s short film = 2-4 chained segments, or one strong single take.25- video_continuation: input mp4 ≤50MB and ≤15s; the new segment also caps at 15s. Chain a second continuation for longer sequences.26- keyframes_to_video: when pinning keyframe_indices, set an explicit duration — "auto" can resolve shorter than your highest index and the job is rejected.27- Audio is generated by default; write "no music" in the prompt if unwanted.28- Generation takes MINUTES per clip and polling is normal. Budget iteration time: each retry is minutes, not seconds. For deadlines, finish with hours of buffer.29- Media fields accept local paths (auto-uploaded to temporary storage, deleted after) or URLs.30- A generate call returns a job id; nothing exists until bfl_flux3_get_result returns Ready and downloads the clip.3132## Companion craft skill33This skill owns MECHANICS only. Prompt-writing craft (consensus prompt anatomy, cinematography vocabulary, suspense-reveal beat sequencing, verbatim prompt library, failure-mode fixes) lives in `flux3-video-directing` (creative category) when present — load it for any "write/improve/storyboard a prompt" work. Built 2026-07-30 from two research digests (~/flux3-video-prompting-research.md, ~/cinematography-ai-video-digest.md) via: research fan-out (2 parallel delegate_task scrapers) → senna writes a spec file deciding ONE-skill-not-a-series → file-relay to creative profile for authoring. Reuse that pattern for building craft knowledge around any new tool.3435## Prompt shape36Plain prose, ordered: subject → distinguishing visual specifics → action → camera → lighting → environment → audio → style. Whatever you leave unspecified gets filled in for you — research anything with a real checkable appearance (grounding=true allows a short research pass).3738## Timed competition workflow (see references/contest-brief-research.md)391. RESEARCH THE BRIEF BEFORE DISPATCHING ANYONE. Rules, submission format, tags, exact deadline with timezone, judging criteria. Never dispatch specialists on a rumored brief.402. Convert deadline to a work-backwards plan: post by deadline minus a multi-hour buffer (iteration is slow).413. Feasibility check against the constraints above BEFORE promising a film length.424. Specialists in parallel (concept/storyboard, post copy) → synthesize one plan → user green-light → generate.435. Deliver the exact submission artifact the rules require (e.g. file + caption + tags), not just the video.4445## Rate limits & multi-profile coordination (learned 2026-07-30)46- HARD LIMIT: one new generation per account every ~5 minutes, and only one job active at a time. Submitting early returns a cooldown error naming the wait; submitting while a job runs returns "You already have a BFL video generation running."47- The quota is ACCOUNT-WIDE, not per-Hermes-profile. If another profile (e.g. creative) is generating, YOUR submit fails with the "already running" error — and you don't have their job id to poll. Coordinate out-of-band: only one profile submits at a time.48- When another profile owns the generation slot, hand off work as a prompt FILE (both segment prompts + iteration rules in one .txt) rather than competing for the slot. The user relays between profile sessions.49- A job survives client restarts: re-poll the same job id, never resubmit — resubmitting spends duplicate budget.5051## Behaviors worth knowing (from bfl_flux3_prompting_guide)52- Multi-shot works INSIDE one generation: "SHOT ONE ... HARD CUT. SHOT TWO ..." produces real cuts; "one continuous unbroken shot" gets an uncut take. Consecutive shots must contrast in scale, location, or colour or they blend back into one take.53- Audio lands as separate layers — name ambient, music, and speech separately. Leaving audio unspecified gets invented sound, not silence.54- A quoted line becomes speech ONLY with a visible speaker on camera; otherwise it tends to burn in as on-screen text. Add "no on-screen text, no subtitles" when text is unwanted.5556## Pitfalls57- Don't chain generations speculatively: each costs minutes and budget. Lock the storyboard first.58- Don't promise a clip length the tools can't make in one pass (>20s needs chaining — say so up front).59- Contests on X: scan what other entrants post so the submission doesn't blend in.60- User taste (suspense/creature trailers): restraint with ONE clear glimpse of the subject (e.g. face held for a beat, then gone) — not pure implication, not full reveal. Confirm the glimpse level before locking a storyboard.