Agent skill

Higgsfield Facs

by OSideMedia in OSideMedia/higgsfield-ai-prompt-skill

Controls facial expressions in Seedance 2.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level direction (AU12 = lip-corner puller, AU6 = cheek raiser) instead of emotion labels.

MITAuto-check passedMedia & Creative

Install Higgsfield Facs

skills CLI
$ npx skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OSideMedia/higgsfield-ai-prompt-skill higgsfield-facs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OSideMedia/higgsfield-ai-prompt-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/higgsfield-facs .claude/skills/higgsfield-facs && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
higgsfield-facs
GitHub stars
713
Token cost
~6.8k tokens
SKILL.md length
3,076 words
Files
1
Skills in repo
33
Repo updated
First seen
Licence
MIT

At a glance

Controls facial expressions in Seedance 2.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level direction (AU12 = lip-corner puller, AU6 = cheek raiser) instead of emotion labels.

  • Works in 2 steps: Generate the FACS Reference Sheet → Put AU Codes in the Seedance Prompt
  • The user wants precise facial acting
  • SKILL.md covers QUICK FACTS, What FACS Is, Provenance and the "Not a… and The Plan-First Workflow, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Higgsfield Facs is an agent skill from OSideMedia/higgsfield-ai-prompt-skill. Controls facial expressions in Seedance 2.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level direction (AU12 = lip-corner puller, AU6 = cheek raiser) instead of emotion labels. Use whenever the user wants precise facial acting, a forced/uncanny/mixed expression, micro-performance in a close-up, monologue or dialogue facial beats, a 'which AU code for anger/fear/disgust' answer, or to generate a FACS reference sheet for a character. Pairs with higgsfield-soul Micro-Expressions (named…

Its SKILL.md is about 6.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering AI video generation and Image generation. It works with Seedance. The repository describes itself as: Claude AI skill for cinematic Higgsfield AI prompts — 32 sub-skills covering Seedance 2.5 (omni-reference, video edit + extend) and 2.0, the Hell Grind feature-film pipeline, an… The licence is MIT.

When your agent uses it

  • The user wants precise facial acting
  • A forced/uncanny/mixed expression
  • Micro-performance in a close-up
  • Dialogue facial beats

Example prompts

  • “which AU code for anger/fear/disgust”
  • “Use the higgsfield-facs skill to control facial expressions in Seedance 2.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level…”
  • “/higgsfield-facs”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Generate the FACS Reference Sheet
  2. Put AU Codes in the Seedance Prompt

What it can do on your machine

Read from SKILL.md and the folder at commit 7075497. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Higgsfield Facs loads about 6.8k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 3,076 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~159
When it runs · the whole SKILL.md, loaded when a task matches
~6.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from OSideMedia/higgsfield-ai-prompt-skill at commit 7075497, republished under its MIT licence (© OSideMedia). 3,076 words, ~6,768 tokens.

Download SKILL.mdSave it as .claude/skills/higgsfield-facs/SKILL.md (or your agent's skills folder).
name
higgsfield-facs
description
Controls facial expressions in Seedance 2.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level direction (AU12 = lip-corner puller, AU6 = cheek raiser) instead of emotion labels. Use whenever the user wants precise facial acting, a forced/uncanny/mixed expression, micro-performance in a close-up, monologue or dialogue facial beats, a 'which AU code for anger/fear/disgust' answer, or to generate a FACS reference sheet for a character. Pairs with higgsfield-soul Micro-Expressions (named expressions), higgsfield-audio (dialogue + lip-sync), and higgsfield-gpt-image-2 (the reference-sheet image).
user-invocable
true
metadata.tags
higgsfield, seedance, seedance-2.0, facs, action-units, facial-expression, micro-expression, dialogue, lip-sync, performance
metadata.version
1.1.2
metadata.updated
2026-09-26
metadata.parent
higgsfield

Higgsfield FACS Director

Direct a face the way an animator does — by muscle, not by mood. FACS (the Facial Action Coding System) names each facial movement as an Action Unit: AU12 is the lip-corner puller (smile), AU6 is the cheek raiser, AU4 is the brow lowerer. Put those codes in a Seedance 2.0 prompt and the model renders the corresponding action. It is the highest-resolution facial control available on the platform, and it is where forced smiles, uncanny faces, mixed emotions, and honest micro-performance in close-up dialogue come from.

This skill is a facial-control layer on top of ../higgsfield-seedance/SKILL.md. Every FACS prompt is still a Seedance prompt — six-slot formula, Prompt-Craft Laws, preflight linter. FACS only changes how you specify the face: AU codes instead of (or alongside) emotion words. It is the muscle-level case of the Voice Rewrite rule "describe physics, not emotion."

QUICK FACTS

Routing aids — read the linked sections for the actual rules.

  • FACS = facial expressions as Action Unit codes (muscle movements), not emotion labels; you write the codes into the prompt →
  • Provenance split: the AU vocabulary is standard human science; Seedance's interpretation of codes in a prompt is [EMPIRICAL] — high success rate, not a guarantee →
  • Plan first. Decide the 3–4 expressions you need → generate a FACS sheet for only those → write the codes. Generating the full 49-AU sheet and cherry-picking is the anti-pattern →
  • 3–4 expressions max per generation. Accuracy drops as you stack more AUs into one clip →
  • Two specification styles — codes-only (AU12) vs codes + short anatomical description; test both, neither is universally better →
  • The reference sheet is a labelled-grid image (GPT Image 2 / Nano Banana Pro); the LLM can mislabel AUs, so iterate and verify →
  • The character photo is optional — codes work without it; attach it only for identity consistency →
  • Common emotions decompose to standard AU recipes (Duchenne smile = AU6+AU12; sadness = AU1+AU4+AU15) →
  • The payoff is dialogue / monologue: AU-per-beat schedule, combined with the [AUDIO: Xs] lip-sync block; every line gets pre / during / post-line beats →
  • [OFFICIAL] Body-level micro-beat recipes beyond the face (throat, breath, skin, posture) + the no-perfect-sync stagger (0.3–0.5s) and listeners-in-bokeh rules →

What FACS Is

The Facial Action Coding System (Ekman & Friesen) breaks the face into Action Units — the smallest visually distinguishable muscle movements. Instead of asking for "happy" (which the model samples diffusely across an enormous range of footage), you ask for the muscles that produce the expression:

  • AU6 — cheek raiser (orbicularis oculi tightens, crow's feet appear)
  • AU12 — lip-corner puller (zygomaticus major pulls the corners up and out)
  • Together, AU6 + AU12 = a Duchenne smile (the genuine, eyes-involved one)

A smile that uses only AU12 reads as polite/forced — the eyes don't participate. That distinction is invisible to "smile" as a prompt word and trivial to specify in FACS. This is why it's the tool for forced smiles, suppressed expressions, mixed emotions, and the uncanny — the cases where the difference between two similar expressions carries the meaning.

FACS is used by professional facial animators in film; here it is repurposed as a prompt vocabulary for Seedance 2.0.

Where it sits among the repo's facial tools

Three layers, increasing resolution:

LayerSurfaceGranularity
Named expression../higgsfield-soul/SKILL.md § Micro-Expressions (Suppressed Smile, Cold Calculation…)A whole emotion in one label
Behavior channel../../vocab.md § Emotion as Visible Behavior — Channels (breath, jaw tension, eye behavior…)Emotion → observable behavior
Action Unit (this skill)AU codesEmotion → named muscle

The channels are the behavioral substrate; AUs are the anatomical substrate. A named expression like "Quiet Devastation" = a channel mix (glassy eyes + tight jaw) = an AU combo (AU1 + AU15 + AU17 + AU24). Reach for FACS when a named expression is too coarse and you need the specific muscles.


Provenance and the "Not a Guarantee" Rule

Two different kinds of claim live in this skill — keep them apart:

  • The AU vocabulary is standard science. Which code means which muscle, and the classic emotion→AU prototypes (EMFACS), are stable, citeable ground truth. Treat the AU reference table and the emotion recipes as reliable.

  • Seedance's interpretation of AU codes is [EMPIRICAL]. The seedance_2_0 spec exposes no FACS field, no expression enum, nothing facial (verified against the spec snapshot, 2026-06-27). So "write AU12 and get a smile" is a prompt convention the model happens to interpret well — not a documented capability. Practitioner report: success rate is high, but codes do not guarantee the exact expression, and a multi-AU prompt may render most but not all of the units.

The rule: present FACS as a strong heuristic, and let the repo's iteration discipline (../higgsfield-prompt/SKILL.md § The Iteration Rule) confirm it on the user's own material. Same provenance class as the Seedance Prompt-Craft Laws (../higgsfield-seedance/SKILL.md § Prompt-Craft Laws). Never tell the user a FACS prompt is deterministic.

If a future Seedance spec adds a real facial/expression parameter, the spec-drift tripwire should catch it — at which point this "no model field" claim is what needs updating.


The Plan-First Workflow

The single most important discipline, and the one practitioners get wrong:

Plan the expressions you need → generate a FACS sheet for only those → write the codes into the prompt.

Do not generate the full 49-AU reference sheet and then cherry-pick a few. That is explicitly the wrong move: a sheet asked to render all 49 units spreads the image model thin, captions come out unreadable, and you've paid for 45 panels you'll never use. You get better identity consistency and cleaner labels by generating a small sheet of exactly the 3–6 expressions the scene calls for.

The three steps:

  1. Plan — name the emotional beats of the shot. "She masks fear as reassurance" → fear (AU1+AU2+AU4+AU5) flickering under a forced smile (AU12 alone, no AU6). Decide the AU set before touching an image model.
  2. Generate the sheet (optional but recommended for consistency) — a small labelled grid of just those expressions, on the actual character. See § Step 1.
  3. Write the prompt — codes into the Seedance prompt, beat-synced if the shot has a time structure. See § Step 2.

The sheet is optional. Codes work in a text-to-video prompt with no image at all (the practitioner generated whole videos from codes alone). Generate a sheet when you need the character's face to stay consistent across shots — same reason you'd use a Soul ID sheet.


Step 1 — Generate the FACS Reference Sheet

A FACS sheet is a labelled-grid image — the character's face in each target expression, captioned with its AU code — used as an identity + expression reference. It is a reference-sheet image task; the image-model mechanics live in ../higgsfield-gpt-image-2/SKILL.md (Format A — structured grids) and the reference-sheet-workflow.md satellite there. This section owns the FACS-specific prompt.

Models: GPT Image 2 and Nano Banana Pro both work; Nano Banana Pro tends to read more cleanly. Captions sometimes come out unreadable — iterate.

The sheet prompt (parameterize the character + the AU list)

Upload the character image, then prompt the image model. Replace the character description and trim the AU list to only the units you planned — do not paste all 49 unless you genuinely need them:

Create a clean educational FACS Action Unit expression grid featuring
[CHARACTER — e.g. a realistic woman: role, build, one visible marker]. Use minimal studio
lighting, neutral white background, high readability, professional facial
anatomy reference-sheet aesthetic, realistic skin texture, consistent identity
across all panels.

COLOR SYSTEM: soft pastel color coding by category, sheet kept minimal and
elegant —
  Forehead & Brow AUs: soft pastel blue
  Eye & Eyelid AUs: soft pastel lavender
  Nose & Cheek AUs: soft pastel peach
  Lip & Mouth AUs: soft pastel pink
  Head Movement AUs: soft pastel mint
  Eye Direction AUs: soft pastel cyan
  Special / Misc AUs: soft pastel beige
Apply color subtly: panel background tint, thin borders, small label accents.
Keep colors soft, muted, professional.

Include these Action Units (one captioned panel each):
[PASTE ONLY THE AUs YOU PLANNED — e.g.
  AU6 Cheek Raiser, AU12 Lip Corner Puller, AU1 Inner Brow Raiser,
  AU4 Brow Lowerer, AU15 Lip Corner Depressor]

(The full category→AU list to draw from is in § AU Code Reference below.)

The LLM can mislabel AUs — verify

The image model is an LLM — it can put the wrong muscle under a code. The sample sheet that circulates labels nostril dilation AU82, while standard FACS (and the practitioner's own dialogue example) uses AU38 for the same action; AU8 (lips toward each other) appears in real prompts but is absent from that sheet entirely. Treat any auto-generated sheet as a draft: check the panels against the § AU Code Reference table, and against a trusted external reference such as the FACS cheat sheet at melindaozel.com/facs-cheat-sheet. This mislabeling risk is the strongest reason to plan a small, verifiable sheet rather than trust a 49-panel dump.


Step 2 — Put AU Codes in the Seedance Prompt

Once you know the AUs, they go into an ordinary Seedance 2.0 prompt. Everything in ../higgsfield-seedance/SKILL.md still applies — six slots, Prompt-Craft Laws, preflight linter. FACS only changes the face specification.

Two specification styles — test both
StyleLooks likeWhen
Codes onlyAU10, AU20, AU27, AU45Beat lists, dense schedules; the practitioner ran whole videos this way and the model interpreted most units well
Codes + short anatomical descriptionAU6 (cheek raiser, orbicularis oculi tightens, crow's feet) + AU12 (zygomaticus pulls corners up)When a unit keeps getting missed; the description gives the model a second, redundant signal

Neither is universally better. Test both on your material — codes-only is terser and often enough; add descriptions for the units the model drops.

The hard limits
  • 3–4 expressions max per generation. Accuracy falls as you stack AUs — more expressions in one prompt means more the model renders approximately. A clip built on 3–4 well-chosen beats lands far more reliably than one cramming 10. (The 14-beat example below works because each beat is short and singular — but expect some beats to read only partially.)
  • The character photo is optional. Codes function with no image (text-to- video). Attach @Image1 only when you need the character's identity to stay consistent across shots — it changes consistency, not whether the AUs fire.
  • Still describe a scene, not just a face. The Seedance filter reads full- scene intent (../higgsfield-seedance/SKILL.md § The Filter Model). Keep the framing/lighting/mood slots present — a bare list of AU codes with no scene is thin. The examples below all carry a Style/Mood header for this reason.
Beat-synced structure

For a timed performance, give each beat a number or a time range and its AU set:

1: AU10
2: AU20
3: AU22
4: AU45

or with time ranges and descriptions:

2-4s: Happy — AU6 (cheek raiser, crow's feet) + AU12 (lip corners up), Duchenne smile
4-6s: Sad — AU1 (inner brow raise) + AU4 (brow knit) + AU15 (lip corners down)

The per-beat time labels obey the same runtime arithmetic as any multi-beat Seedance prompt (../higgsfield-seedance/SKILL.md § Runtime arithmetic): the beats must sum to the stated duration. Note these are expression beats within a continuous close-up, not hard cuts — keep the camera move singular (a slow push-in) so the model doesn't read the schedule as a shot list.


AU Code Reference

The Action Units from the standard sheet, grouped by facial region. Use this to build a sheet prompt and to verify an auto-generated sheet's labels.

Forehead & Brow
CodeAction
AU1Inner Brow Raiser
AU2Outer Brow Raiser
AU4Brow Lowerer
AU71Brow Furrow
AU72Brow Bulge
Eye & Eyelid
CodeAction
AU5Upper Lid Raiser
AU7Lid Tightener
AU41Lid Droop
AU42Slit Eyes
AU43Eyes Closed
AU44Squint
AU45Blink
AU46Wink
Nose & Cheek
CodeAction
AU6Cheek Raiser
AU9Nose Wrinkler
AU11Nasolabial Deepener
AU82Nostril Dilator
AU83Nostril Compressor
Lip & Mouth
CodeAction
AU10Upper Lip Raiser
AU12Lip Corner Puller
AU13Sharp Lip Puller
AU14Dimpler
AU15Lip Corner Depressor
AU16Lower Lip Depressor
AU17Chin Raiser
AU18Lip Pucker
AU20Lip Stretcher
AU22Lip Funneler
AU23Lip Tightener
AU24Lip Pressor
AU25Lips Part
AU26Jaw Drop
AU27Mouth Stretch
AU28Lip Suck
AU84Tongue Up
AU85Tongue Out
Head Movement
CodeAction
AU51Head Turn Left
AU52Head Turn Right
AU53Head Up
AU54Head Down
AU55Head Tilt Left
AU56Head Tilt Right
AU57Head Forward
AU58Head Back
Eye Direction
CodeAction
AU61Eyes Turn Left
AU62Eyes Turn Right
AU63Eyes Up
AU64Eyes Down
Show full SKILL.md (1,240 more words)Show less
Special / Misc
CodeAction
AU81Chewing

Numbering caveat. Some codes on the circulating sheet are non-standard or reassigned relative to canonical FACS — notably the AU82 (vs standard AU38) nostril dilator noted in § Step 1, the AU71/AU72 brow codes, and the AU82–AU85 range. Canonical FACS also has codes this sheet omits (e.g. AU8 lips toward each other, used in real prompts). Use this table for this sheet's convention, but when a code's behavior surprises you, cross-check melindaozel.com/facs-cheat-sheet.


Emotion → AU Recipes

When the user asks "which code for anger / fear / disgust," these are the standard EMFACS emotion prototypes — the canonical AU combinations behavioral science maps to each basic emotion. Reliable as recipes; the Seedance rendering of them is still [EMPIRICAL].

EmotionCore AUsReads as
Happiness (genuine / Duchenne)AU6 + AU12Eyes-involved smile, crow's feet
Happiness (polite / forced)AU12 only (no AU6)Mouth smiles, eyes don't — the uncanny/forced smile
SadnessAU1 + AU4 + AU15Oblique brows, down-turned mouth
SurpriseAU1 + AU2 + AU5 + AU26Raised brows, wide eyes, jaw drop
FearAU1 + AU2 + AU4 + AU5 + AU7 + AU20Raised+knit brows, wide eyes, stretched lips
AngerAU4 + AU5 + AU7 + AU23Lowered brow, hard stare, tightened lips
DisgustAU9 + AU15 + AU16Nose wrinkle, lowered lip corners
ContemptAU12 + AU14 (one-sided)Unilateral smirk

Mixing for nuance. The interesting expressions are blends: a forced-warmth mask is genuine-smile muscles (AU6+AU12) fighting fear muscles (AU1+AU7) in the same frame; "bitter amusement" is AU12 with no AU6 plus a faint AU4. Build a blend by listing the AUs of both emotions and letting the conflict read — that is the FACS path to ../higgsfield-soul/SKILL.md § Micro-Expressions like Suppressed Smile and Nervous Composure.


Physical Micro-Beats — the Body Beyond the Face

[OFFICIAL — Higgsfield shotlist-builder skill, 2026-07; re-authored from the Chinese source] — AU codes stop at the face. Production performance direction extends the same muscle-level discipline to throat, breath, skin, and posture. These recipes drop into the PERFORMANCE section of a block prompt alongside (or instead of) AU codes.

These are menus, not checklists. The 3–4-expressions-per-generation cap and the 1–2-AUs-per-beat rule apply to physical beats by the same logic — stacking degrades accuracy. Pick the 2–4 tells that carry the beat from the recipe below; the eight-item anger recipe is the vocabulary to choose from, never a stack to render at once:

RegisterPhysical recipe
Anger / determinationMasseter visibly pulsing at the jaw · carotid pulse visible at the neck · temple veins rising · nostrils flaring on stressed words · pupils tightening · outer eye corners hardening (genuine intensity, not a cheap squint) · no blink at the climax · faint sweat beads at brow and nostrils
Anxiety / nervousnessOne visible swallow (Adam's apple) · a short shallow nasal inhale before the line · tongue wetting a dry lower lip · lower lip pulled slightly in · capillary flush on the cheeks · pupils dilating on the key word
Sadness without tearsOuter eye corners dropping · eyes wet with catchlight — but never spilling · corrugator knit between the brows · a faint lip tremble · head sinking a few degrees
Control / calm / superiorityEven, steady breathing (contrast against a tense scene partner) · relaxed fingers · slow deliberate blinks · slight chin lift · a Duchenne smile that builds gradually — never opening on the finished smile
Heaviness / weighed downShoulders sinking · head dropping slightly · deep slow breathing · a small 5–15° head tilt when answering
Shock / freezeBody frozen 0.3–0.5s at the trigger — no movement at all · pupils dilating inside the freeze · lips parting silently · one delayed sharp nasal inhale as the freeze breaks · eyes locked on the trigger, no blink, no gaze drift
Suppressed emotion (the hardest)Written as physical resistance: every facial muscle fighting the rising emotion · masseter slowly tightening · one delayed, effortful swallow · eyes gradually welling until they shine — tears never falling · one slow, deep, controlled inhale with visible chest rise · a single jaw tremor, instantly re-clenched

Defaults that prevent AI-video tells:

  • No tears unless the script explicitly calls for them — wet-with-catchlight is the default sadness read.
  • No cartoon grimaces; no "eyes to the ceiling" for thinking — name a specific gaze direction instead.
  • Nobody "just stands there talking" — there is always a micro-movement.
  • Never perfect sync across characters. Group reactions stagger by 0.3–0.5s per person ("Roko turns his head first; 0.4s later, Rein; another 0.4s, Jax"). Three characters never sync perfectly.
  • Listeners in bokeh are not statues. Even fully defocused, write their head/gaze direction, shoulder micro-movements, and staggered reactions — blurred stillness reads as mannequins.

The anti-AI test. Before delivering, re-read the performance section and ask: could this have come from a prompt template, or does it read like notes from a director who watched the actor rehearse? If it reads templated, rewrite — micro-beats should feel observed, not generated.


Dialogue & Monologue Facial Acting

The reason FACS matters: facial expressions in isolation are a parlor trick; the payoff is acting during speech — close-up monologue and dialogue where the face carries subtext the words don't say. This is where forced smiles, leaking fear, and mixed emotions during a line land.

The structure

Schedule one AU set per spoken beat, aligned to the line being delivered:

Beat 1 (0-1s): AU5 + AU38 (upper lid raiser + nostril dilator — genuine fear, pre-dialogue)
Beat 3 (2-4s): AU12 + AU6 (Duchenne smile — forced warmth) — delivers "everything's fine"
Beat 5 (5-6s): AU7 (lid tightener — eyes betraying the fear the smile hides)
Beat 7 (8-10s): AU4 + AU24 (brow lowerer + lip presser — seriousness cracking through)

The art is the contrast within a beat: the mouth performs safety (AU12) while the eyes leak terror (AU7) — the audience reads both at once. Keep each beat to 1–2 AUs so the performance stays legible.

Every line gets three beats

[OFFICIAL — shotlist-builder] — a spoken line is never just the words. Write all three phases:

  • Pre-line beat — what happens before the first word: a swallow, an inhale, a lip lick, a posture shift.
  • During the line — which words carry the emphasis, and through what: nostril flare, intonation, pupil shift.
  • Post-line beat — ~0.5s of held breath or locked gaze before the next movement, then the release.

Pre-line: one short nasal inhale, one visible swallow. Line: "Don't ask me again." — the stress lands on again, nostrils flaring on the word. Post-line: gaze stays locked on the opponent for 0.5 seconds — then drifts away.

Combine with audio + lip-sync

A dialogue FACS prompt pairs naturally with the audio conditioning layer:

  • Use the [AUDIO: Xs] script block (../higgsfield-audio/SKILL.md § Audio as a Conditioning Input) to place the spoken lines — quoted text generates speech with automatic lip-sync, so the mouth shapes the words while your AU schedule drives the expressive muscles around them.
  • Lip-sync quality rises with a tight close-up + a strong @Image1 identity reference (the audio skill's Lip-Sync Rules) — the same close framing FACS wants anyway.
  • Keep the FACS schedule to the brow/eye/cheek units during spoken beats; let the audio block drive the lip/jaw shaping for the words, and reserve explicit lip/jaw AUs (AU12, AU15, AU24) for the expressive overlay, not the phonemes.

Worked Examples

All three are lightly normalized from practitioner prompts. Run each through the preflight linter before generating (python3 scripts/seedance_lint.py --preflight --model seedance_2_0 "<prompt>").

A — Beat-synced expression sweep (codes-only)
**Model:** Seedance 2.0
**Aspect ratio:** 1:1   **Duration:** 15s

Use the provided character @Image1 as the fixed identity reference.
Cinematic tight close-up, subtle neutral background, high facial clarity, slow
micro push-in, shallow depth of field. 14 beats, beat-synced:

1: AU10   2: AU20   3: AU22   4: AU23   5: AU27   6: AU28   7: AU45
8: AU53   9: AU61   10: AU62  11: AU64  12: AU85  13: AU84  14: AU46

Uneasy, hypnotic, controlled mood.

**Camera:** slow push-in

(Codes-only, one AU per beat — expect most to land, some only partially; that is the documented behavior, not a failure to fix by over-prompting.)

B — Emotion arc (codes + anatomical description)
**Model:** Seedance 2.0
**Aspect ratio:** 16:9   **Duration:** 15s

**Style & Mood:** photoreal, face and shoulders only, bare skin no makeup, soft
diffused light, plain white background, shallow depth of field.

Timeline:
0-2s: Neutral resting face, eyes forward, relaxed brow and lips.
2-4s: Happy — AU6 (cheek raiser, crow's feet) + AU12 (lip corners up and out),
  Duchenne smile, slight eye squint from cheek push.
4-6s: Sad — AU1 (inner brow raise, oblique brow) + AU4 (brow knit) + AU15 (lip
  corners down), eyes slightly glassy.
6-8s: AU61 then AU62 — gaze shifts left, then right, head still.
8-11s: AU46 left wink, then AU46 right wink, subtle smirk between.

**Camera:** static medium close-up
C — Fear masked as reassurance (dialogue + FACS beats)
**Model:** Seedance 2.0
**Aspect ratio:** 16:9   **Duration:** 15s

Use the provided character @Image1 as the fixed identity reference.
Dim interior, single warm lamp, slight low angle, handheld micro-sway, shallow
depth of field.

[AUDIO: 0s] "Hey, hey — everything's fine, okay? We're just gonna play a game
where we stay really quiet. Can you do that for me?"

Beat 1 (0-1s): AU5 + AU38 (upper lid raiser + nostril dilator — genuine fear, pre-dialogue)
Beat 2 (1-2s): AU45 (blink — composing the mask)
Beat 3 (2-5s): AU12 + AU6 (forced Duchenne warmth) — "everything's fine, okay?"
Beat 4 (5-8s): AU2 + AU12 (smile + outer brow raise — performing fun) — "we're just gonna play a game"
Beat 5 (8-10s): AU4 + AU24 (brow lowerer + lip presser — seriousness cracking) — "where we stay really quiet"
Beat 6 (10-15s): AU6 + AU17 + AU1 (eyes smiling while chin trembles, desperation) — "can you do that for me?"

Devastating contrast between performed safety and visible terror — the face never
fully commits to either; the audience reads both at once.

**Camera:** handheld micro-sway, slow push-in

Template version of this beat structure: ../../templates/seedance/facs-expression-beats.md.


  • ../higgsfield-seedance/SKILL.md — the base prompt grammar every FACS prompt obeys (six slots, Prompt-Craft Laws, preflight linter, § Voice Rewrite "physics not emotion" — FACS is its muscle-level case)
  • ../higgsfield-soul/SKILL.md § Micro-Expressions — 19 named expressions; FACS is the precise-control layer beneath them
  • ../higgsfield-audio/SKILL.md § Audio as a Conditioning Input — the [AUDIO: Xs] block + lip-sync for dialogue FACS
  • ../higgsfield-gpt-image-2/SKILL.md — Format A reference-sheet image mechanics for the FACS sheet
  • ../../vocab.md § Emotion as Visible Behavior — Channels — the behavioral sibling of the AU vocabulary
  • ../../templates/seedance/facs-expression-beats.md — beat-synced AU schedule template
    </content>

© OSideMedia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/higgsfield-facs of OSideMedia/higgsfield-ai-prompt-skill.

Open the folder on GitHubat commit 7075497

Compare with similar skills

Higgsfield Facs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Higgsfield Facs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Higgsfield Facs this skillOSideMedia/higgsfield-ai-prompt-skill713—~6.8kAutomated safety check: PassMIT
SN Motion HTMLOpenSenseNova/SenseNova-Skills5.7k—~2.2kAutomated safety check: NotesMIT
Character Design with genmediafal-ai-community/skills251—~1.3kAutomated safety check: PassNone
Professional Media Promptsagentscope-ai/QwenPaw36k—~2kAutomated safety check: PassApache-2.0
Pp Wavespeedmvanhorn/printing-press-library2.1k—~8.4kAutomated safety check: NotesApache-2.0
Seedance Storyboard Generatorliangdabiao/Seedance2-Storyboard-Generator2.6k—~2.2kAutomated safety check: PassNone

Similar skills

  • SN Motion HTML

    OpenSenseNova/SenseNova-Skills

    Builds HTML stories where one continuous camera journey advances with page progress, using researched structure, AI stills, Seedance video clips and browser QA.

    5.7k GitHub stars~2.2k tokensUpdated 2 days ago
    Media & CreativeAuto-check: notes
  • Character Design with genmedia

    fal-ai-community/skills

    Builds consistent characters, reference and expression sheets, outfit variations and character-to-video shots with the genmedia CLI while keeping identity stable.

    251 GitHub stars~1.3k tokensUpdated 12 days ago
    Media & CreativeAuto-check passed
  • Professional Media Prompts

    agentscope-ai/QwenPaw

    Compiles production-grade prompts for character identity boards, cinematic storyboards and reference-to-video generation, keeping characters and shots consistent.

    36k GitHub stars~2k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Pp Wavespeed

    mvanhorn/printing-press-library

    Run any WaveSpeed model from the terminal, with price checks, safe uploads, and recovery-safe downloads.

    2.1k GitHub stars~8.4k tokensUpdated yesterday
    Media & CreativeAuto-check: notes
  • Seedance Storyboard Generator

    liangdabiao/Seedance2-Storyboard-Generator

    专业的Seedance 2.0平台AI视频脚本和分镜生成器。当用户要求:(1) 将文章/故事转换为视频脚本,(2) 生成Seedance 2.0分镜提示词,(3) 规划多集AI视频系列,(4) 为GPT-Image-2、Seedream、Nano Banana…

    2.6k GitHub stars~2.2k tokensUpdated 20 days ago
    Media & CreativeAuto-check passed
  • Libtv Video

    nexu-io/nexu

    Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model.

    3.3k GitHub stars~3.5k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed

More from OSideMedia/higgsfield-ai-prompt-skill

All 33 skills in this repo
  • Higgsfield

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses whenever the user asks anything about Higgsfield AI — writing or refining video/image prompts, choosing a model (Kling, Veo, Wan, Seedance, Minimax Hailuo, DoP, Soul, Nano…

    713 GitHub stars~9.1k tokensUpdated 14 days ago
    Auto-check passed
  • Higgsfield Assist

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses when the user asks about Higgsfield Assist (the built-in GPT-5 copilot), how to use the platform's native AI assistant, credit optimization strategies, plan selection, how to…

    713 GitHub stars~2.9k tokensUpdated 14 days ago
    Auto-check passed
  • Higgsfield Image Shots

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses when the user wants to generate a cinematic still image on Higgsfield, asks about shot framing, camera angle, or composition for image prompts, needs a specific shot type…

    713 GitHub stars~5.1k tokensUpdated 14 days ago
    Auto-check passed
  • Higgsfield Mixed Media

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses when the user asks about Mixed Media, wants to apply artistic preset styles to an image (Noir, Sketch, Paper, Canvas, Particles, Neon, etc.), combine multiple artistic…

    713 GitHub stars~2.3k tokensUpdated 14 days ago
    Auto-check passed
  • Higgsfield Moodboard

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses when the user asks about Moodboard, building a moodboard from reference images, curated moodboard presets, Soul Hex color transfer, applying a visual style direction to…

    713 GitHub stars~2.3k tokensUpdated 14 days ago
    Auto-check passed
  • Higgsfield Motion

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses when the user wants to apply a named Higgsfield motion preset, asks about VFX presets, transformation effects, elemental effects, or transition presets.

    713 GitHub stars~5k tokensUpdated 14 days ago
    Auto-check passed

Works with

Questions about Higgsfield Facs

What does Higgsfield Facs do?

Controls facial expressions in Seedance 2.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level direction (AU12 = lip-corner puller, AU6 = cheek raiser) instead of emotion labels. Higgsfield Facs is an agent skill from OSideMedia/higgsfield-ai-prompt-skill.0 with FACS (Facial Action Coding System) Action Unit codes — muscle-level direction (AU12 = lip-corner puller, AU6 = cheek raiser) instead of emotion labels.

When should I use Higgsfield Facs?

Higgsfield Facs fits situations like: the user wants precise facial acting; A forced/uncanny/mixed expression; micro-performance in a close-up; dialogue facial beats.

How do I install Higgsfield Facs in Claude Code?

Run `npx skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs -a claude-code`. Or copy the skill folder (skills/higgsfield-facs in OSideMedia/higgsfield-ai-prompt-skill) into .claude/skills/higgsfield-facs in your project. Claude Code loads it when a task matches its description.

How do I install Higgsfield Facs in Codex?

Run `npx skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs -a codex`. Or copy the skill folder (skills/higgsfield-facs in OSideMedia/higgsfield-ai-prompt-skill) into .agents/skills/higgsfield-facs in your project. Codex loads it when a task matches its description.

Can I use Higgsfield Facs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/higgsfield-facs, .gemini/skills/higgsfield-facs, .github/skills/higgsfield-facs and .opencode/skills/higgsfield-facs in your project.

What does Higgsfield Facs need to run?

SKILL.md names no scripts, command-line tools or credentials: Higgsfield Facs is instructions for the agent only.

Does Higgsfield Facs access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Higgsfield Facs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Higgsfield Facs use?

Higgsfield Facs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Higgsfield Facs use?

About 6.8k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Higgsfield Facs?

Skills that share tags, products or a category with Higgsfield Facs: SN Motion HTML (OpenSenseNova/SenseNova-Skills, 5.7k stars), Character Design with genmedia (fal-ai-community/skills, 251 stars), Professional Media Prompts (agentscope-ai/QwenPaw, 36k stars) and Pp Wavespeed (mvanhorn/printing-press-library, 2.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Higgsfield Facs?

OSideMedia (a GitHub user) maintains it in OSideMedia/higgsfield-ai-prompt-skill, which has 713 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on September 27, 2026.

Source: OSideMedia/higgsfield-ai-prompt-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.