# Higgsfield Prompt

> Use when building, writing, refining, or structuring a Higgsfield AI prompt. Covers the MCSLA formula, prompt structure, narrative vs. timestamped formats, and how to write for both text-to-video and image-to-video workflows.

- **Type:** Skill
- **Install:** `agentstack add skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-prompt`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [OSideMedia](https://agentstack.voostack.com/s/osidemedia)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [OSideMedia](https://github.com/OSideMedia)
- **Source:** https://github.com/OSideMedia/higgsfield-ai-prompt-skill/tree/main/skills/higgsfield-prompt
- **Website:** https://higgsfield.ai

## Install

```sh
agentstack add skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-prompt
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Higgsfield Prompt Engineering

## QUICK FACTS
*Generated-checked block (build_index.py verifies anchors). Read the linked sections for full context — these lines are routing aids, not the rules themselves.*
- MCSLA = Model, Camera, Subject, Look, Action — the five layers of every prompt [→](#the-mcsla-formula)
- I2V: describe ONLY what moves or changes, never what's already in the image [→](#image-to-video-i2v)
- Keep prompts under 200 words; Cinema Studio has a hard 512-character cap [→](#high-performing-prompt-patterns)
- 1 primary action per clip, 1–2 secondary max; Fast Motion Trick: render in Slow Mo, speed up in post [→](#one-action-per-scene)
- Never leave a generic emotion ("sad"/"angry") in a prompt — decompose into muscle movements, breath, eyes, skin [→](#generic-emotion-decomposition-which-kind-of-x)
- Soul ID / recurring characters: split every prompt into Identity Block + Motion Block — never mix them [→](#identity-vs-motion-separation-rule)
- Conflict order when sub-skills disagree: explicit user direction > scene archetype > emotion-sync [→](#conflict-resolution-between-sub-skills)
- Aspect ratio is a per-model enum set in the UI/header, never in the prompt body — verify via `../../specs/model-specs.yaml` [→](#common-prompt-mistakes)
- Never combine Dolly In + Dolly Out in one shot; @ Elements for static scenes, plain text for action [→](#common-prompt-mistakes)
- Iterate by changing exactly ONE variable per regeneration [→](#the-iteration-rule-change-one-variable-at-a-time)
- 6-Pass Diagnostic order: Subject → Action → Camera → Style → Audio → Output; most failures land on Pass 1–2 [→](#when-you-dont-know-whats-wrong-yet-the-6-pass-diagnostic-sequence)
- Seedance: short prompts (30–100 words) win; Subject + Action must sit in the first 20–30 words [→](#the-directors-formula-mcsla-mapping)
- Genre length targets: Product 30–50w, Lifestyle 40–60w, Drama 60–100w, Music Video 50–80w, Anime 50–90w [→](#genre-router-prompt-length-lead-with-targets)
- Kill slop words (beautiful, stunning, epic, amazing) — replace with concrete visuals/physics [→](#anti-slop-vocabulary)
- Seedance/CS 3.0 has NO negative-prompt syntax — phrase as positive constraints [→](#no-negative-prompts)
- Dialogue cap: ~25–30 spoken words fit in 15 seconds — keep the power-shift line, convert the rest to behavior [→](#dialogue-archetypes)
- Engine limits: ≤3 characters tracked across cuts; exit-frame = gone; off-screen = nonexistent; avoid reflections [→](#character-spatial-rules)
- Every cut must change BOTH shot size AND camera character [→](#double-contrast-cut-rule-mandatory)
- Age-blind rule: never boy/girl/child/kid/young/teen/little — describe by role, clothing, action [→](#age-blind-character-rule)
- Scenes start already in progress unless the user says "starts with…" or "ends with…" [→](#default-in-medias-res)

## The MCSLA Formula

Every high-performing Higgsfield prompt is built on five layers. Think of it as the
cinematographer's checklist — fill in each layer and the model has everything it needs.

| Letter | Element | Description | Example |
|--------|---------|-------------|---------|
| **M** | Model | Which generation engine | "Use Kling 2.6" |
| **C** | Camera | Named camera control | "FPV Drone shot weaving through the alley" |
| **S** | Subject | Who/what + appearance | "A woman in a sand-colored suit, sharp eyes" |
| **L** | Look | Style + color + lighting | "Cinematic, golden hour, anamorphic flare" |
| **A** | Action | What happens in the scene | "She turns slowly, wind lifting her coat" |

---

## Prompt Types

### Text-to-Video (T2V)
Start from nothing — describe the entire scene from scratch.
Best for: establishing scenes, abstract concepts, environments without a specific character.

```
[Subject + appearance].
[Environment — location, time, weather, atmosphere].
[Action — what happens and how].
[Camera — named control].
[Look — style + color grade].
```

**Example:**
```
A lone astronaut stands on the surface of a red desert planet, helmet visor reflecting
twin moons rising on the horizon. Dust spirals slowly in the thin atmosphere.
She turns to face the camera, gloved hand raised in a slow salute.
Camera: slow Crane Up revealing the vast emptiness behind her.
Style: Cinematic, desaturated orange and deep blue, 2.35:1 anamorphic.
```

---

### Image-to-Video (I2V)
Animate a provided still image. The image defines the starting frame.
Best for: character consistency, product shots, portrait animation, storyboard bring-to-life.

```
[Reference the input image as the first frame].
[Describe what should move, change, or animate — not what is already visible].
[Camera — named control].
[Style/atmosphere cues].
```

**Example:**
```
Starting from the provided image as the first frame.
The woman's hair lifts gently in the wind. She blinks slowly and turns her gaze
slightly to the left, a faint smile forming.
Camera: subtle Dolly In toward her face.
Style: Cinematic, warm afternoon light, shallow depth of field.
```

**Key rule for I2V:** Do NOT re-describe what is already in the image. Only describe
what should *change* or *animate*. Over-describing the static elements confuses the model.
This applies equally to @ Image references in Seedance/Cinema Studio 3.0 — describe
ONLY motion and camera movement, never what's already visible.

---

## Narrative Structure

### Fluid Narrative (preferred for most use cases)
Write the scene as continuous action. No timestamps. Most natural for Higgsfield.

```
A detective pushes open the door to the rain-soaked rooftop, coat whipping in the wind.
She steps to the edge and looks down at the city below — a thousand lights blurring
through the downpour. Camera dollies slowly behind her, then cranes up to reveal the
skyline. Cinematic style, cold blue tones, 16:9.
```

### Timestamped (use only for precise multi-beat sequences)
Only use when exact timing of separate actions matters — e.g., a transformation,
a multi-phase action sequence, or a beat-synced music video. Maps to Cinema Studio 3.0's
Custom multi-shot mode.

```
0–3s: Wide establishing shot. The fighter stands alone in the ring, chest heaving.
3–6s: Crash Zoom In on his face. Sweat on his brow, jaw clenched.
6–10s: 360 Orbit as he raises his fists. Crowd noise rises.
```

---

## High-Performing Prompt Patterns

> **The #1 mistake in video prompting**: over-describing appearance and under-describing
> behavior. Give your subject something to DO. Give them an internal state that creates
> visible behavior. A verb that describes motion or intention is more important than
> adjectives.

**Specificity beats generality:**
- ❌ "the camera moves dramatically"
- ✅ "camera Dolly Zoom In — subject stays the same size as the background rushes forward"

**Active verbs carry the scene:**
- ❌ "a woman is in an alley"
- ✅ "a woman darts through a rain-soaked alley, coat flapping, boots splashing"

**Name the camera control:**
Higgsfield understands its own preset names. Always use them explicitly.
- ❌ "the camera slowly circles"
- ✅ "360 Orbit around the subject"

**Lead with subject, end with style:**
Subject → Action → Camera → Style is the most reliable order.

**Keep it under 200 words:**
Focused prompts outperform exhaustive ones. One clear intention > ten vague details.

**Cinema Studio: Keep it under 512 characters:**
Cinema Studio has a hard 512-character limit on prompts (both 2.5 and 3.0).
- **2.5:** @ Element chips consume ~80–100 hidden characters each. With 2 @ tags, keep visible text under ~250 chars.
- **3.0:** @ references (images/video/audio) are media attachments, not inline metadata — they consume less hidden space. Keep visible text under ~350–400 chars with references, ~450–500 without.
See the Cinema Studio skill for full character budget details.

---

## The Pre-Prompt Checklist

Before writing any prompt, answer these five questions. Vague prompts like "give me
something cinematic" tell the AI nothing.

| Question | What to specify |
|----------|----------------|
| **Who?** | Subject + appearance (e.g. "a man in a leather jacket") |
| **Where?** | Environment + atmosphere (e.g. "in a narrow aircraft galley, cold blue light") |
| **What's happening?** | 1 primary action (e.g. "punches his opponent") |
| **Camera movement?** | Named preset (e.g. "Handheld") or Cinema Studio Director Panel |
| **Mood/Genre?** | Style + color grade, or Cinema Studio genre selection |

---

## One Action Per Scene

AI models can replicate real-life physics — but only so much at once. Asking for
multiple complex actions in one clip overwhelms the model.

**Rule:** 1 primary action per clip, with 1–2 secondary actions max.

Break complex sequences into separate shots and stitch them in a video editor, or
use Multi-Shot Manual mode to prompt each scene separately.

**Fast Motion Trick:** If fast motion keeps morphing or breaking, generate the scene
in Slow Mo first, then speed it up in post (CapCut, Premiere, DaVinci). The model
renders cleaner physics in slow motion.

---

## Generic-Emotion Decomposition — Which kind of X?

Never leave a generic emotion in a prompt. "Sad" / "angry" /
"surprised" / "scared" / "thoughtful" / "in love" — each is at least
three or four distinct physical realizations, and the model renders
a different version depending on which one your prompt invites. A
prompt that says only "she looks surprised" produces a different
shot every regeneration and degrades adherence across batches.

The rule: decompose the generic emotion into specific muscle
movements, breath, eyes, and skin. If you can't decompose
confidently, ask the user to choose a variant.

Clarification template — offer when the script or user supplies a
generic emotion you cannot decompose without inventing detail:

> Which kind of surprise?
> (a) Light positive — eyebrows lift, lips part softly, slow inhale
>     through the nose, no other movement.
> (b) Shock — sharp inhale through the mouth, eyes widen, body
>     freezes in place, hand involuntarily lifts to chest.
> (c) Disbelief — slow blink, head tilts a fraction, lips press
>     together, only one eyebrow lifts.
> (d) Surprise-with-joy — eye light shifts (catchlight reads),
>     smile builds gradually, shoulders relax.

Same shape applies to any generic adjective — "tense" / "sad" /
"angry" / "scared" / "thoughtful" / "in love" each decomposes into
3-5 distinct physical realizations. The decomposed prompt produces
a performance; the generic prompt produces AI-video.

> **Preset library alternative.** For named micro-expression presets
> that drop into a prompt without first-principles decomposition,
> see `../higgsfield-soul/SKILL.md` § Micro-Expressions. The catalog
> covers most common emotional registers with locked physical
> descriptors. Use the decompose-from-first-principles rule above
> when no preset matches; use the preset library when one does.

### Layered emotion states

Single-axis decomposition (above) names one register: angry / sad /
surprised. **Layered emotion** names a composite state where two
registers stack — *anxious determination*, *tired tenderness*,
*bitter amusement*, *cornered calculation*. Production-team practice
finds the model renders layered states better than single registers
when the layering is described as *one channel modulating another*:
the dominant state plus the underlying state plus the visible tell.

- **Anxious determination** — set jaw + locked gaze (determination)
  with shallow chest breath and a single hand at the side flexing
  open-closed (anxiety underneath).
- **Tired tenderness** — soft micro-smile + half-closed eyes
  (tenderness) with the body weight settled, slow blink interval
  (tiredness underneath).
- **Bitter amusement** — one-sided smirk + eye-shine (amusement)
  with no smile crinkles at the eye corners (bitterness underneath).

Compose layered states by stacking decomposed physical realizations
from the single-axis catalog. The dominant state goes in the face;
the underlying state goes in breath, posture, and hand-state; the
visible tell sits in the eyes.

For finer control, layer a **tiny detail** on top of an existing
emotional cue: `Roco is very upset, and his lower lip trembles`.
The base emotion gets the broad performance; the tiny detail gives
the model a specific physical cue to render. Production-team
discipline holds that the model renders the simple-emotion-plus-
tiny-detail compound better than either an over-decomposed prompt
or a too-generic one.

---

## Identity vs. Motion Separation Rule

When a prompt involves Soul ID or any character who must stay consistent across shots,
**always split the output into two clearly labeled blocks**:

### Identity Block — Static visual descriptors ONLY
- Face features, skin tone, body type, distinguishing marks
- Clothing, accessories, color palette
- NO motion, NO camera, NO temporal language

### Motion Block — Temporal and camera ONLY
- Camera movement, action choreography, speed
- Environmental motion, atmospheric changes
- NO character appearance repetition

**Bad (mixed) — identity drifts:**
```
A woman with sharp cheekbones and auburn hair in a blue trench coat runs through
a rain-soaked alley, her coat flapping, sharp cheekbones catching the neon light,
camera chasing her at full speed, her auburn hair streaming behind her.
```

**Good (separated) — identity stays locked:**

**Identity Block:**
```
The Soul ID character — sharp cheekbones, auburn hair shoulder-length,
wearing a blue trench coat with silver buttons, lean athletic build.
```

**Motion Block:**
```
She runs through a rain-soaked alley, coat flapping behind her.
Camera: Action Run — low behind, matching pace.
Neon reflections streak across wet concrete.
Style: Cinematic, cold blue shadows, warm neon accents. 16:9.
```

**When to apply this rule:**
- Always when Soul ID is active
- Always in multi-shot sequences where the same character appears
- Always when camera movement is involved alongside a character
- In Cinema Studio, identity goes in the @ Element definition; motion goes in the prompt

> **Camera matches emotion, not just identity.** The Motion Block describes WHAT
> the character does and HOW the camera moves. The *quality* of the camera motion
> — jittery handheld for anger, smooth handheld breathing for calm, static + slow
> push for revelation — should track the focal character's emotional state. See
> `../higgsfield-camera/SKILL.md` § Camera-Emotion Sync for the 6-emotion movement
> map and the emotional-arcs-within-a-shot pattern. For decomposing the underlying
> generic emotion before picking a camera prescription, see § Generic-Emotion
> Decomposition above.

---

## Conflict resolution between sub-skills

Sub-skills can legitimately nominate different things for the same shot. `higgsfield-camera § Camera-Emotion Sync` nominates handheld-slow-low for sadness; `higgsfield-prompt § Scene Archetype Router` permits locked dolly-in for the Atmosphere archetype where mood-is-the-content. When two sub-skills nominate different camera moves (or motion presets, or style registers) for the same scene, resolve in this order:

1. **Explicit user direction wins.** If the user said "slow push-in," that's the camera move. The agent's job is to make that direction work with the rest of the structure, not to override it.
2. **Scene archetype next.** If the user did not specify, pick the archetype-recommended move (Atmosphere → static / slow push-in / locked-off; Action → handheld / whip-pan / FPV; Dialogue → shoulder-coverage / push-in on emotion).
3. **Emotion-sync register last.** Camera-Emotion Sync nominations are the default tiebreaker when archetype is unclear.

When the resolution is non-obvious, surface it. Tell the user which sub-skill nominated what and why you picked one over the other — this is meta-correct behavior and lets the user override. Silent picking is the failure mode; transparent picking is the discipline.

---

## Common Prompt Mistakes

| Mistake | Fix |

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [OSideMedia](https://github.com/OSideMedia)
- **Source:** [OSideMedia/higgsfield-ai-prompt-skill](https://github.com/OSideMedia/higgsfield-ai-prompt-skill)
- **License:** MIT
- **Homepage:** https://higgsfield.ai

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-prompt
- Seller: https://agentstack.voostack.com/s/osidemedia
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
