/higgsfield-facs
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
$ npx -y skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/higgsfield-facs
Context preview
The summary Claude sees to decide when to auto-load this 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
SKILL.md
higgsfield-facs.SKILL.mdname: 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]
version: 1.1.1
updated: 2026-07-26
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 [→](#what-facs-is)
- **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** [→](#provenance-and-the-not-a-guarantee-rule)
- **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 [→](#the-plan-first-workflow)
- **3–4 expressions max per generation.** Accuracy drops as you stack more AUs into one clip [→](#step-2-put-au-codes-in-the-seedance-prompt)
- Two specification styles — **codes-only** (`AU12`) vs **codes + short anatomical description**; test both, neither is universally better [→](#step-2-put-au-codes-in-the-seedance-prompt)
- The reference sheet is a **labelled-grid image** (GPT Image 2 / Nano Banana Pro); the LLM can **mislabel AUs**, so iterate and verify [→](#step-1-generate-the-facs-reference-sheet)
- The character photo is **optional** — codes work without it; attach it only for identity consistency [→](#step-2-put-au-codes-in-the-seedance-prompt)
- Common emotions decompose to standard AU recipes (Duchenne smile = AU6+AU12; sadness = AU1+AU4+AU15) [→](#emotion-au-recipes)
- 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 [→](#dialogue-monologue-facial-acting)
- [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 [→](#physical-micro-beats-the-body-beyond-the-face)
---
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:
| Layer | Surface | Granularity | |---|---|---| | 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 codes | Emotion → **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 exp
Read more
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] version: 1.1.1 updated: 2026-07-26 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 [→](#what-facs-is)
- **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** [→](#provenance-and-the-not-a-guarantee-rule)
- **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 [→](#the-plan-first-workflow)
- **3–4 expressions max per generation.** Accuracy drops as you stack more AUs into one clip [→](#step-2-put-au-codes-in-the-seedance-prompt)
- Two specification styles — **codes-only** (`AU12`) vs **codes + short anatomical description**; test both, neither is universally better [→](#step-2-put-au-codes-in-the-seedance-prompt)
- The reference sheet is a **labelled-grid image** (GPT Image 2 / Nano Banana Pro); the LLM can **mislabel AUs**, so iterate and verify [→](#step-1-generate-the-facs-reference-sheet)
- The character photo is **optional** — codes work without it; attach it only for identity consistency [→](#step-2-put-au-codes-in-the-seedance-prompt)
- Common emotions decompose to standard AU recipes (Duchenne smile = AU6+AU12; sadness = AU1+AU4+AU15) [→](#emotion-au-recipes)
- 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 [→](#dialogue-monologue-facial-acting)
- [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 [→](#physical-micro-beats-the-body-beyond-the-face)
---
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:
| Layer | Surface | Granularity | |---|---|---| | 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 codes | Emotion → **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 exp
A comprehensive Claude skill library for generating high-quality prompts on Higgsfield AI — the cinematic video and image generation platform.
Other skills on higgsfield-ai-prompt-skill.
- /higgsfield-acting
Writes the character-performance layer of a video prompt as behavior under pressure, not displayed emotion — objective, obstacle, tactics, beats, subtext, listening, body/status/proxemics, and mandatory eye life. Produces a reusable 150–220-word acting master profile per
Open skill - /higgsfield-apps
Use when the user asks about Higgsfield's one-click Apps, wants to know which app to use for a specific output, or needs guidance on the Apps workflow.
Open skill - /higgsfield-assist
Use 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 get more from fewer credits, or platform efficiency tips.
Open skill - /higgsfield-audio
Use when the user asks about audio in Higgsfield videos, needs to add dialogue or lip-sync, wants sound effects or ambient sound in generated video, asks about music or BGM in output, or is using any audio-capable model (Kling 3.0, Seedance 1.5 Pro, Seedance 2.0, Veo 3/3.1, Grok
Open skill - /higgsfield-camera
Use when the user asks about camera movements, shot types, or how to describe camera behavior in a Higgsfield prompt. Contains all named camera controls with descriptions, best use cases, and example prompt phrases.
Open skill - /higgsfield-canvas
Use when the user mentions Higgsfield Canvas, a node-based or node graph workspace, an infinite board/canvas, chaining generations into a pipeline, or wants to wire prompts → images → videos across models on one surface. Covers what Canvas is, the node categories, the seven
Open skill

