Skip to content
Content
Skill

/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

From plugin
higgsfield-ai-prompt-skill
82935 skills3 commands

Claude Code

$ npx -y skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs --agent claude-code

SKILL.md

higgsfield-facs.SKILL.md
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.2
  updated: 2026-09-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`

s

Read more
@osidemedia
Ships withhiggsfield-ai-prompt-skill

A comprehensive Claude skill library for generating high-quality prompts on Higgsfield AI — the cinematic video and image generation platform.

Stars on GitHub

Momentum

stars in total
829
Star history of OSideMedia/higgsfield-ai-prompt-skill on GitHub, a chart by star-history.com

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli12d33k
@iofficeai@iofficeaiInstall Skill

Questions about higgsfield-facs.

Which coding agents can use higgsfield-facs?
higgsfield-facs installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.