v3.17.0 — FACS facial-expression control for Seedance 2.0
New 29th sub-skill higgsfield-facs — direct a face by muscle (FACS Action Unit codes like AU12 lip-corner puller, AU6 cheek raiser) instead of emotion labels. The platform's highest-resolution facial control: forced/uncanny/mixed expressions, micro-performance, and honest acting in close-up dialogue.
Provenance: model-checked against the live seedance_2_0 spec, which exposes no FACS/expression field — so the technique is flagged [EMPIRICAL] end to end. The AU vocabulary itself is standard, citeable science; Seedance's interpretation of codes in a prompt is the empirical, not-a-guarantee part.
Highlights
- Plan-first workflow — plan 3–4 expressions → generate a FACS sheet for only those → write the codes. Explicitly counters the "generate the full 49-AU sheet then cherry-pick" anti-pattern.
- FACS reference-sheet generation — parameterized image prompt (GPT Image 2 / Nano Banana Pro) + the LLM-mislabels-AUs caveat (the circulating sheet's
AU82vs standardAU38). - Codes-only vs codes+anatomical-description, the 3–4-expressions-max accuracy limit, optional character photo.
- Full AU code table + EMFACS emotion→AU recipes (Duchenne AU6+AU12, sadness AU1+AU4+AU15, fear, anger, surprise, disgust, contempt).
- Dialogue & monologue facial acting — AU-per-beat schedule combined with the
[AUDIO: Xs]lip-sync block; three worked examples.
Wiring + cross-links
- Routed from root
SKILL.md,sub_skill_descriptions.py,INDEX.md; newtemplates/seedance/facs-expression-beats.md. Roster 28 → 29. - Cross-linked from
higgsfield-soul(Micro-Expressions),higgsfield-seedance(Voice Rewrite),higgsfield-audio(Lip-Sync Rules), andvocab.md(Emotion-as-Visible-Behavior channels).
Verification: validate.py --strict clean · 110 tests pass · 40/40 evals.