| name | presentation-factory-higgsfield |
| description | Higgsfield MCP routing for all generative imagery and video in a deck. Routes by asset type: nano banana 2 for stills (default), seedance 2 for video clips, chatgpt image 2 for infographics and any scene that needs text rendered accurately in-image. Owns prompt patterns, dimensions, anti-clichés, retries, and asset naming. Called by Compose stage after content + design-layout decide what each slide needs.
|
| type | skill |
| plugin | presentation-factory |
| tags | ["type/skill","plugin/presentation-factory","scope/specialty","topic/imagery"] |
| status | active |
Goal
Generate every commissioned visual (stills, video, text-in-image graphics) for a deck via the Higgsfield MCP. Pick the right model for the job. Write prompts that produce on-brand, scene-aware imagery that beats stock-photo clichés.
When to invoke
- Compose stage, after
10_Content.md is locked and the content file specifies asset prompts per slide
- Re-generation requests (a slide image doesn't land, generate alternates)
- Video hero generation for title slides or section dividers
Required context
references/presentation-factory-foundations.md (Imagery and video section) and references/presentation-factory-toolchain.md (Higgsfield-specific commands).
Model routing
Pick the model per asset, not per deck:
| Asset type | Model | Why |
|---|
| Editorial still (lifestyle, scene, product context, mood) | nano banana 2 | Best photographic realism, fast, default for ~70% of deck imagery |
| Short video clip (hero loop, ambient motion, section divider) | seedance 2 | 5 to 10 second loops, motion quality, hero-suitable |
| Infographic, diagram with text, framework with labels, image with rendered words | chatgpt image 2 | Typographic accuracy. nano banana 2 produces garbled text; chatgpt image 2 renders readable type |
| Photo of a real, named person | None. Source from press kit or stock with rights | Higgsfield models do not produce reliable likeness of real people |
| Logos, brand marks | None. Use the brand's vector logo | Generative tools hallucinate marks |
Prompt template
Every prompt MUST include these elements. Missing any of them produces unreliable output.
[DIMENSIONS]: 1920x1080 (full-bleed slide), or 1080x1080 (square), or 1920x1080 (16:9 standard)
[COMPOSITION]: wide / medium / portrait / overhead / close-up / split-screen
[SUBJECT]: what is in the frame, specifically. Named noun, not a vibe.
[SCENE]: where it is, what's around it, time of day, weather, surface conditions
[MOOD]: 3 emotional descriptors. Specific: focused-collaborative-warm, not "professional"
[STYLE]: documentary | editorial | abstract | flat-illustration | cinematic
[LIGHT + COLOR]: light direction, color temperature (warm/cool), contrast level, palette anchors
[NEGATIVES]: things to avoid. Always include "no stock-photo clichés (handshakes, suited men pointing, fake diversity tableaux, generic happy office workers)"
Example (still, nano banana 2):
DIMENSIONS: 1920x1080
COMPOSITION: wide, low-angle
SUBJECT: close-up of silk fabric textures in mid-air, drifting, soft folds
SCENE: dark studio backdrop, dust particles caught in light shaft
MOOD: editorial, kinetic, refined
STYLE: cinematic editorial photography, slight motion blur
LIGHT + COLOR: single hard sidelight from upper-left, cool blue-grey palette, high contrast against pure black
NEGATIVES: no models, no garments, no logos, no stock-photo clichés
Example (video, seedance 2):
DIMENSIONS: 1920x1080
DURATION: 6 seconds, seamless loop
SUBJECT: same silk-in-motion scene, fabric drifting and folding slowly
MOTION: slow, hypnotic, no cuts, single take
LIGHT + COLOR: maintained throughout
NEGATIVES: no zoom, no pan, no text overlay
Example (text-in-image, chatgpt image 2):
DIMENSIONS: 1920x1080
COMPOSITION: centered architecture diagram, generous whitespace
SUBJECT: 5 labeled boxes (PIM, DAM, CMS, Commerce, Channels) connected by directional arrows
TEXT: render all 5 labels clearly readable in clean sans-serif (Inter or similar). Avoid garbled type.
PALETTE: Slalom Blue (#0C62FB) on white, with one accent in Slalom Cyan (#1BE1F2) on the DAM node
NEGATIVES: no decorative icons, no fake screenshots, no 3D
Anti-clichés (always in NEGATIVES)
- Handshakes
- Suited men pointing at charts
- Fake diversity tableaux (one of every demographic standing in a half-circle)
- Generic happy office workers
- Stock laptops with blank screens
- Lightbulb metaphors for ideas
- Puzzle pieces for collaboration
- Rocket ships for growth
- Magnifying glasses for search
- Cogs for systems
- Cliché AI imagery: glowing brains, robot hands, blue circuit patterns
Generation workflow
- Read
10_Content.md, extract all asset prompts (every > **Image** (...) or > **Video** (...) or > **Infographic with text** (...) block).
- Route each prompt to the correct model via Higgsfield MCP.
- Generate at the specified dimensions. If model returns wrong dimensions, retry once with explicit dimension reinforcement.
- Save outputs to:
- Stills →
WIP/[deck]/assets/images/
- Videos →
WIP/[deck]/assets/videos/
- Text-in-image →
WIP/[deck]/assets/infographics/
- Name files:
slide-NN-purpose.{ext} (e.g., slide-02-tuesday-hook.jpg, slide-06-architecture-diagram.png)
- Update
10_Content.md to reference the generated file path next to its prompt (so the composer can find it).
Retries and failure modes
- If a still has garbled text in it (nano banana 2 hallucinating text), regenerate with chatgpt image 2 instead.
- If a person's likeness drifts (a "named" fashion CMO), drop the named likeness; describe a representative figure instead, or use stock.
- If generation hits a rate limit, queue and retry with backoff. Log the queue position in
compose.log.
- If a prompt produces nothing usable after 3 retries, mark the slide with a placeholder and surface to the user for prompt revision.
Cost discipline
Higgsfield credits cost real money. Do not generate until content is signed off (the Draft pause point). When generating, batch all of a deck's assets in one pass, not slide-by-slide. Log credit usage in WIP/[deck]/compose.log (assets generated: N images, M videos; credits consumed: X).
Output
- All generated assets saved to
WIP/[deck]/assets/{images,videos,infographics}/
10_Content.md updated with asset_path: field next to each prompt
WIP/[deck]/compose.log entry summarizing what was generated