AgentStack
SKILL verified MIT Self-run

Higgsfield Seedance

skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-seedance · by OSideMedia

Rewrites scene descriptions using professional cinematography language, structures prompts with a six-slot formula (camera + subject + action + setting + style + lighting), and diagnoses content filter rejections via a preflight linter. Use whenever the user asks for a Seedance 2.0 / Seedance Pro prompt, describes a scene for Seedance generation, mentions Seedance, reports a Seedance generation f…

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add skill-osidemedia-higgsfield-ai-prompt-skill-higgsfield-seedance

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Higgsfield Seedance? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Higgsfield Seedance Director

QUICK FACTS

Generated-checked block (build_index.py verifies anchors). Read the linked sections for full context — these lines are routing aids, not the rules themselves.

  • The filter is an LLM reading full-scene intent, not a keyword blacklist — describe a SCENE, not a subject; fix the voice first [→](#the-filter-model-read-this-first)
  • Instant fail (30s) = infra/complexity — never regenerate an instant fail unchanged [→](#instant-fail-vs-delayed-fail-the-diagnostic)
  • Six slots, in order: Camera + Subject + Action + Setting + Style + Lighting; missing 3+ slots is where flags come from [→](#the-seedance-prompt-formula)
  • Empirical prompt-craft laws: 50–80-word attention sweet spot (front-load the load-bearing element), name a director/lens not "cinematic", "fast" degrades motion, no negative prompts in the body [→](#prompt-craft-laws)
  • Five prompt modes: Reference-Based / Continuation / Expand Shot / Edit Shot / Transformation — pick the mode before writing [→](#seedance-20-prompt-modes)
  • Hard engine rules (age-blind, exit-frame = cut, off-screen = nonexistent, no reflections, ≤3 tracked characters, double-contrast cuts) + high-risk shot table: ENGINE-RULES.md in this directory
  • Reference roles: Character / Last-Frame / Environment / Prop — role determines what the prompt may re-describe [→](#reference-roles)
  • Working modes: Exploration / Continuation / Bridging / Repair (distinct from prompt modes) [→](#working-modes-vs-prompt-modes-two-taxonomies)
  • Layer 1 briefing vs Layer 2 production prompt — never paste Layer 1 into the prompt box [→](#two-layer-prompt-authoring)
  • Native 4K is available in mode=std only; mode=fast (Seedance 2.0 Fast) caps at 480p/720p — in Cinema Studio the model is still capped at 1080p [→](#pre-flight-linter)
  • Always preflight: python3 seedance_lint.py --preflight --model seedance_2_0 "" — enums come from ../../specs/model-specs.json (fast+1080p/4K and Kling 21:9 are auto-caught) [→](#pre-flight-linter)
  • 480p drafts validate the prompt, NOT the take — no seed param; pin Hero Frame + start/end frames to carry a look [→](#drafts-validate-the-prompt-not-the-take)
  • ZH prompts: hard 1,800-char cap; ZH antislop list enforced by the linter [→](#multi-language-prompt-workarounds)
  • Flagged prompt → rewrite playbook per linter rule, then voice pass [→](#the-rewrite-playbook)
  • Repeated flags → full loop-breaker procedure + LOG THE OUTCOME (--confirmed / add-quality) [→](#when-the-user-is-already-in-a-failure-loop)

Use this skill whenever the user wants a Seedance 2.0 / Seedance Pro prompt, OR whenever a Seedance generation has been blocked, flagged, or silently failed. This skill's job is to stop credit waste on filter rejections.

> Engine rules (read with this file): the hard rendering constraints of the > Seedance 2.0 engine — age-blind characters, exit-frame = implicit cut, > off-screen = nonexistent, no reflection shots, ≤3 tracked characters, the > double-contrast cut rule — live in ENGINE-RULES.md in this directory, > together with the high-risk shot table (reflections, same-character doubles, > crowds, text rendering) and its mitigations. This SKILL.md is the > EN-director profile of that rule core; the ZH-house and > bilingual-JSON profiles (../../docs/Seedance 2 Skill.md) obey the same > core. Flag high-risk shot types at authoring time — never silently break a > rule the project's hero image happens to conflict with.


The Filter Model — Read This First

Seedance 2.0's content filter is not a keyword blacklist. It is a language model that reads the full prompt as a single scene and judges intent and context. Most users burn hours swapping individual words — that loop does not work.

The filter compares two things:

  • A prompt that reads like a filmmaker describing a shot → tends to pass.
  • A prompt that reads like a note to a friend → tends to fail.

A word that looks sensitive in isolation can sit inside a well-constructed cinematic prompt without issue — the filter reads the full picture. A prompt with no picture to read (no setting, no visual purpose, no narrative logic) gives the filter nothing to work with, and it errs on the side of caution.

Practical rule: the prompt must describe a scene, not a subject. Fix the voice first, then fix the words.


Instant Fail vs. Delayed Fail — the Diagnostic

This single heuristic saves time on every failure:

| Failure timing | Meaning | What to do | |----------------|---------|------------| | 30 seconds (delayed) | Infrastructure, timeout, or complexity — prompt passed the filter but the render failed | Simplify action density, cut length, try again |

If the user is seeing instant fails in a loop, it is a filter issue — never a GPU issue. Stop them from regenerating before the rewrite.


The Seedance Prompt Formula

Every Seedance prompt should hit these six slots, in this order:

[Camera movement] + [Subject] + [Action] + [Setting] + [Style] + [Lighting]

All six are technically optional — but a prompt that includes all six almost never gets flagged, because the filter has full context to interpret every word. A prompt missing 3+ slots is where flags come from.

Minimum viable Seedance prompt

> Slow dolly-in on a figure in a dark overcoat standing alone at the end of > a rain-slick alley. Cold teal shadows, single practical streetlamp, shallow > depth of field.

Camera ✓ Subject ✓ Action ✓ Setting ✓ Style ✓ Lighting ✓ — all six slots, ~30 words, passes the filter because the scene is fully legible.


Prompt-Craft Laws

A set of Seedance-2.0-specific prompt rules. These are empirical — practitioner A/B findings that are plausible given the architecture but are not in the official model spec. Treat them as strong heuristics and let the repo's iteration discipline (../higgsfield-prompt/SKILL.md § The Iteration Rule) confirm them on your own material, rather than as guaranteed model behavior.

Length and order — the attention model

Seedance reads the prompt left-to-right with diminishing attention weight. The first sentence carries the most influence; by the third sentence you are in "detail territory," where the model stops treating elements as primary instructions and starts sampling them diffusely.

  • Sweet spot: 50–80 words. A 70-word prompt reliably outperforms a

structurally identical 200-word version of the same scene — more words past ~3 sentences buys diffusion, not control.

  • Structure in three sentences: ① subject + action, ② camera + style,

③ constraints / positive locks.

  • Lead with the single most load-bearing element. When a shot lives on its

subject, the subject opens the prompt; when it lives on a camera move, the move opens it.

Relationship to the two length numbers. This 50–80-word figure is the coherence optimum. The >180-word figure in § Pre-flight Linter is a different axis — the filter/encoder risk ceiling (>220 often hard-fails the text encoder). 50–80 is where to sit; ~180 is where it starts to break. They don't conflict.

Relationship to the six-slot formula. The six slots guarantee the filter sees a complete scene (presence). The attention model governs weight (order

  • length). Keep all six slots present, but the slot list's camera-first ordering

is a completeness checklist, not a mandate to open with the camera word when the shot's identity is the subject.

Name the thing — kill empty adjectives

cinematic, epic, beautiful, high quality, amazing are high-frequency labels attached to an enormous range of training footage — dark thrillers, bright rom-coms, nature docs all read as "cinematic" — so the model samples a broad, diffuse distribution and they move the output toward nothing in particular. Don't just delete the slop word (Voice Rewrite §6) — substitute a named, narrowly-trained referent:

| Empty adjective | Named substitute (samples a narrow distribution) | |---|---| | "cinematic" / "epic look" | a director: "Wes Anderson symmetry" (centered framing, pastel) · "Kubrick one-point perspective" (geometric corridors) | | "cinematic lighting" | a lighting setup: "golden-hour backlight, long shadows stretching forward" | | "beautiful" / "high quality" | a lens spec: "anamorphic 2.39:1, lens flare from a practical light source" |

Positive form of ../higgsfield-prompt/SKILL.md § Anti-Slop Vocabulary.

"fast" is the highest-degradation keyword

Combined with complex action or camera movement, fast is the single worst-degrading keyword. The temporal branch already runs multiple high-velocity calculations when motion is layered; fast asks all of them to run at maximum velocity at once. Two competing fast elements jitter; three compound into error that's hard to salvage.

Fix: describe the physics, not the speed. feet striking hard, each stride at full extension, arms pumping at 90 degrees produces the perception of speed with no degradation. One element can carry speed — just not all of them simultaneously. (Same family as Voice Rewrite §3 — describe physics, not emotion.)

No negative prompts in the prompt body

Seedance has no negative-embedding architecture for the prompt text — every token is read as a positive instruction. negative: jitter, bent limbs gets parsed as scene description the model tries to render (noise), not as a constraint, and makes the output worse.

Use positive constraint statements — direct declarations of what must be true:

Face stable. Limbs anatomically natural. Consistent lighting, no flicker.
Body proportions consistent throughout.

Scope: this is about the Seedance prompt body. It does not override the Higgsfield UI's dedicated negative-prompt field (which some image models expose and ../../vocab.md § Composition Vocabulary uses). The same positive-only requirement is already documented for Cinema Studio 3.0 in ../shared/negative-constraints.md.

Already-covered siblings (cross-links, not new rules)

  • Compound camera move (dolly in while panning left) → jitter at the

transition because the model executes the two vectors in sequence. Use one primary move + one texture modifier (slow dolly in, slightly handheld). Full treatment: FAILURE-MODES.md § Multi-motion camera overload.

  • Image-to-video subject drift → re-describing what's already in the source

image gives the model two competing inputs for one subject; reconciliation introduces drift. Keep an I2V prompt to motion + camera only. See § Seedance 2.0 Prompt Modes / Reference-Based and ../higgsfield-prompt/SKILL.md (I2V key rule).


Seedance 2.0 Prompt Modes

Seedance 2.0 exposes five generation modes that each take the six-slot formula but apply it to a different starting point. Picking the right mode is upstream of prompt writing — the same sentence will produce different results in different modes, because each mode reads the prompt as a different kind of instruction.

Reference-Based

The prompt builds a scene around a source image that carries the visual identity — character, wardrobe, palette, sometimes composition. The prompt's job is NOT to re-describe what the image already shows; it's to place the subject into a new action, setting, or motion context. This is the workhorse mode for any sequence that needs a consistent character across varied shots.

[Source image role: "as the main character" / "as the starting frame"].
[Action the subject performs]. [Environment and atmosphere if not visible in source].
[Camera movement]. [Lighting cue if different from source].

Continuation

The prompt extends a prior Seedance generation forward in time, picking up at the final frame of the previous clip. Identity, wardrobe, environment, and emotional state all carry over. The prompt should describe what happens NEXT — never what just happened. For the full five-rule construction pattern, see the Continuation Prompt Formula section directly below.

[Continuing from prior clip]. [New action that follows from the last frame].
[Camera direction for the continuation]. [Any state change — light shift, new beat].

Expand Shot

The prompt grows the canvas or spatial extent of an existing frame — pulling the frame boundaries outward to reveal what's beyond the original edges. This is NOT a time extension (that's Continuation) and NOT a zoom-out camera move within the original generation. It rewrites the frame itself to include more scene. Useful for turning a tight composition into a wider establishing shot without regenerating from scratch.

[Source frame reference]. Extend the scene [direction: outward / upward / leftward].
[What appears in the newly revealed area]. [Preserve the original subject/composition].

Edit Shot

The prompt modifies specific elements of an existing generation while everything else stays exactly as it was. Think of it as a targeted patch: change a jacket color, remove a background figure, swap a prop, adjust a facial expression. Identity, camera, composition, and lighting stay locked unless you explicitly name them in the change list. The Keep Rule matters here: always state what to preserve alongside what to change.

Change [specific element] to [new state]. Keep [everything else] unchanged.
[Preserve identity, composition, lighting, and camera behavior from the original.]

Transformation

The prompt describes an explicit state change inside a single clip — the subject, object, or environment visibly becomes something else within the shot's duration. Distinct from Continuation (which extends time across two clips) and from Edit Shot (which modifies a generated clip after the fact). Transformation happens during the generation, in one continuous take. Use it when the shot's core idea is the change itself: a character morphing, an object decaying, a landscape shifting from one season to another. The skeleton below is written for character → character; the same pattern applies to object → object and environment → environment with the relevant noun substituted.

[Subject in starting state — full identity descriptors]. [Triggering moment or
cue]. [Subject mid-transformation — what visibly changes, in observable
physical terms]. [Subject in ending state — new identity descriptors].
[Camera behavior across the change]. [Lighting / palette shift if any].

The transformation must be one continuous arc, not a cut. Describe the intermediate state explicitly — the model needs a midpoint anchor or it will either snap from start to end (looks like a cut) or render an ambiguous blur. Keep the duration short (5–8 seconds is the sweet spot for a single transformation); longer clips drift.

Mode Selection Rule

Reference-Based for new action with an existing character. Continuation for the next beat in time. Expand Shot to widen the frame spatially. Edit Shot to patch specific details. Transformation prompt mode when the shot's core idea is a state change inside a single clip — the change is the content. If you find yourself writing across multiple modes in one prompt — stop, pick one, generate, then use the output as input to the next mode.


Continuation Prompt Formula

When writing a Continuation mode prompt, apply these five rules. Skipping any of them is the most common cause of continuation failures: identity drift across the boundary, re-played actions, environment shifts, and broken emotional through-lines.

The Five Rules

  1. Last-frame anchor. Open the prompt with a short description of what the

camera sees in the final frame of the prior clip — the pose, the position in frame, where the character is looking. This tells the model where to start rendering from. One sentence is enough.

  1. Identity anchor. Paste the character's identity block (the same paragraph

you used

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.