Seedance 2.0 Anti-Slop Vocabulary: A Complete Guide to Precise Prompt Writing

The Seedance 2.0 anti-slop vocabulary eliminates vague, empty-quality words from video generation prompts by replacing them with concrete, observable production language structured around six slop classes and strict positional rules.

This guide breaks down the complete anti-slop system implemented in the Emily2040/seedance-2.0 repository. Whether you're crafting prompts for Seedance video generation models or refining your own AI prompt engineering workflow, understanding this vocabulary will dramatically improve output quality by preserving model attention budget for elements that actually drive visual results.

What "Slop" Means in Seedance 2.0

"Slop" refers to vague, evaluative words that consume precious model-conditioning budget without conveying actionable visual information. The Seedance 2.0 system treats slop as a technical problem: every token in your prompt competes for limited attention resources, and empty words steal capacity from concrete details.

The core insight, documented in references/model-mechanics.md, is that position costs more than count — words placed early in a prompt consume a larger share of the attention budget than identical words later in the constraint tail. This makes opening-position slop especially destructive.

The Six Slop Classes Defined

The taxonomy lives in references/anti-slop-lexicon.md and organizes all problematic prompt language into six repairable categories:

Class Problem Repair Direction
Empty evaluators cinematic, epic, stunning, beautiful, dramatic Specific observable detail that earns the claim
Borrowed image-model tokens 8K, masterpiece, award-winning, trending on ArtStation, Unreal Engine, RAW Delete entirely — use render settings instead
Tag salad Comma-separated keyword dumps One sentence per production element
Negation slop no blur, no artifacts, no extra fingers Describe what is present
Adjective stacking gorgeous, breathtaking, mesmerizing sunset Single defining detail only
Feel-suffix words 电影感, 雰囲気のある, 감성적인, atmosférico, атмосферный, vibey Name the physical cause of the feeling

Each class has language-specific mappings. The English vocabulary in references/vocab/en.md contains a Slop Traps table that maps community-specific empty words to concrete replacements. Parallel files exist for Chinese (zh.md), Japanese (ja.md), and other languages.

The Two Critical Positional Rules

Beyond the replacement table, two editorial rules govern prompt construction:

  1. Position costs more than count — slop at the beginning wastes exponentially more budget than slop at the end.

  2. Never let a slop word hold an opening position — the opening must lock subject and primary action first, following the Seedance-Prompt Director Formula implemented in skills/seedance-prompt/SKILL.md.

These rules are enforced automatically during the anti-slop pass that runs as the final quality check in prompt compilation.

Before and After: Anti-Slop in Practice

Example 1: Empty Evaluator + Borrowed Token

Before (slop-heavy):


Cinematic epic shot of a beautiful woman in a 8K masterpiece setting.

After (anti-slop repair):


A woman stands on a cliff at sunrise; the low sun casts warm light across her face. Camera: slow dolly-in to a medium close-up. No post-process filters.

What changed:

  • "Cinematic", "epic", "beautiful" → concrete light direction and camera movement
  • "8K", "masterpiece" → removed (quality settings belong in render configuration, not prose)

Example 2: Tag Salad + Negation Slop

Before (keyword dump):


girl, sunset, 8K, cinematic, beautiful light, masterpiece, detailed face, no blur, no watermark.

After (structured brief):


A young woman looks toward the setting sun; golden light bathes her hair. Camera: steady close-up. Sound: distant waves. No watermark or blur visible.

What changed:

  • Tag salad collapsed into readable sentences with one element per production category (subject, action, camera, light, sound)
  • Negations replaced by positive framing, with constraints moved to the final position

Automated Enforcement: The Technical Pipeline

The anti-slop vocabulary isn't just documentation — it's executable through several repository components:

skills/seedance-antislop/SKILL.md

Loads the lexicon and language vocabularies during prompt compilation. This skill makes the replacement table available to the broader prompt-generation pipeline.

skills/seedance-prompt/SKILL.md

Executes the anti-slop pass as the final quality check before prompt submission. This ensures no slop survives to the model regardless of upstream generation.

scripts/prompt_lint.py

Command-line utility for standalone prompt validation. Use it to check existing prompt files against the complete anti-slop ruleset.

Python API Usage

from seedance_antislop import anti_slop_fix

raw_prompt = "Cinematic epic shot of a beautiful woman in a 8K masterpiece setting."
clean_prompt = anti_slop_fix(raw_prompt, lang="en")
print(clean_prompt)

# → "A woman stands on a cliff at sunrise; the low sun casts warm light across her face. ..."

The anti_slop_fix function reads references/anti-slop-lexicon.md and the appropriate language vocabulary file, applies class-specific repairs, and respects the position-cost rule by flagging or rewriting early-position violations.

Key Files in the Anti-Slop System

File Path Purpose
references/anti-slop-lexicon.md Central taxonomy, replacement table, and positional budget rules
references/vocab/en.md English Slop Traps: community-specific empty words → concrete replacements
references/vocab/zh.md, ja.md, etc. Language-specific slop mappings for multilingual prompts
skills/seedance-antislop/SKILL.md Skill definition for loading lexicon and vocabularies
skills/seedance-prompt/SKILL.md Final anti-slop quality pass in prompt compilation
scripts/prompt_lint.py CLI tool for standalone prompt validation
references/model-mechanics.md Technical explanation of attention-budget costs

Repair Strategies by Class

Empty Evaluators → Observable Proof

Instead of claiming "cinematic," specify what makes it so: practical light sources, lens characteristics, or camera movement.

Borrowed Tokens → Technical Configuration

8K, Unreal Engine, and RAW are settings, not descriptions. Move them to seed/render configuration fields.

Tag Salad → Structured Brief Format

Transform comma-separated lists into grammatically complete sentences, one per production category:

  1. Subject and primary action
  2. Environmental context
  3. Camera specification
  4. Lighting description
  5. Sound design
  6. Constraints (minimal, final position)

Negation Slop → Positive Framing

Describe the desired state rather than the absence of problems. Use negation only when necessary, and place it in constraint slots where positional cost is lowest.

Adjective Stacking → Single Dominant Detail

Pick the one visual element that carries the emotional weight. "Golden light through dust particles" beats four stacked evaluators.

Feel-Suffix Words → Physical Causation

电影感 (diànyǐng gǎn / "cinematic feeling") → anamorphic lens flares, film grain texture, or motivated practical lighting. Name the mechanism, not the sensation.

Summary

  • Seedance 2.0 anti-slop vocabulary eliminates six classes of empty prompt language through structured replacement tables
  • Position costs more than count — early slop wastes exponentially more model budget than late slop
  • Never open with slop — subject and primary action must occupy the first clause
  • Concrete, observable language replaces all evaluative claims in the Six Slop Classes
  • Multilingual support via language-specific Slop Traps tables in references/vocab/
  • Automated enforcement through anti_slop_fix() and the skill pipeline in skills/seedance-prompt/

Frequently Asked Questions

What makes a word "slop" in Seedance 2.0?

A word is slop when it evaluates quality without describing observable production details. "Cinematic" tells the model you want quality but not how to achieve it. The anti-slop vocabulary demands you specify the lens, light, or movement that earns that evaluation. According to the references/anti-slop-lexicon.md, slop wastes attention budget that could drive actual visual output.

Why does early-position slop cost more than late-position slop?

The attention mechanism in video generation models assigns greater weight to tokens appearing early in conditioning sequences. As detailed in references/model-mechanics.md, this means the same slop word placed at the opening consumes a larger share of fixed attention resources than identical slop in constraint slots. The anti-slop system enforces this through the "Position costs more than count" rule.

Can I use negation at all in Seedance 2.0 prompts?

Yes, but sparingly and never in opening positions. The anti-slop vocabulary targets negation slop — habitual negative phrasing like "no blur, no artifacts" — because describing what's absent fails to guide generation positively. When constraints are necessary, phrase them positively where possible ("sharp focus" vs. "no blur") and place genuine negations in final constraint slots where positional cost is minimized.

How do I add slop detection for my language?

Create a new file in references/vocab/ following the pattern of en.md, zh.md, or ja.md. Include a Slop Traps table mapping community-specific empty words to concrete physical descriptions. The skills/seedance-antislop/SKILL.md will automatically load your vocabulary when lang matches your file's language code.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →