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
27632 skills2 commands
Install
$ npx -y skills add OSideMedia/higgsfield-ai-prompt-skill --skill higgsfield-facs --agent claude-code

How 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.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.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
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.

Get the whole plugin
Stats
280
Stars
62
Forks
Active
Maintenance
Python
Language
MIT
License
2h ago
Last commit
5mo ago
Created

Repo: OSideMedia/higgsfield-ai-prompt-skill