Agent skill

Seedance 2 Prompting

by nodetool-ai in nodetool-ai/nodetool

Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of…

AGPL-3.0Auto-check passedMedia & Creative

Install Seedance 2 Prompting

skills CLI
$ npx skills add nodetool-ai/nodetool --skill seedance-2-prompting -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nodetool-ai/nodetool seedance-2-prompting --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/seedance-2-prompting .claude/skills/seedance-2-prompting && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
seedance-2-prompting
GitHub stars
560
Token cost
~2.9k tokens
SKILL.md length
1,282 words
Files
1
Skills in repo
127
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of…

  • The model id contains seedance-2 (bytedance/seedance-2.0 and its fast and mini variants
  • SKILL.md covers The formula, Dialogue, sound and on-screen…, Rules and Patterns, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Bytedance/seedance-2.5

What it does

Seedance 2 Prompting is an agent skill from nodetool-ai/nodetool. Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of leaving it open, cutting between shots in one generation, the JSON beat-sheet brief that holds an arc across a whole piece, and giving physics a consequence to chase. Use whenever the model id contains seedance-2 (bytedance/seedance-2.0 and its fast and mini variants, bytedance/seedance-2.5, kie's bytedance/seedance-2…

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering AI video generation. It works with Seedance. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.

When your agent uses it

  • The model id contains seedance-2 (bytedance/seedance-2.0 and its fast and mini variants
  • Bytedance/seedance-2.5
  • Kies bytedance/seedance-2
  • Seedance-2-fast

Example prompts

  • “/seedance-2-prompting”

What it can do on your machine

Read from SKILL.md and the folder at commit 339f069. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • fal.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Seedance 2 Prompting loads about 2.9k tokens when it runs. Until then it costs about 180 tokens; SKILL.md has 1,282 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~180
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nodetool-ai/nodetool at commit 339f069, republished under its AGPL-3.0 licence (© nodetool-ai). 1,282 words, ~2,881 tokens.

Download SKILL.mdSave it as .claude/skills/seedance-2-prompting/SKILL.md (or your agent's skills folder).
name
seedance-2-prompting
description
Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of leaving it open, cutting between shots in one generation, the JSON beat-sheet brief that holds an arc across a whole piece, and giving physics a consequence to chase. Use whenever the model id contains seedance-2 (bytedance/seedance-2.0 and its fast and mini variants, bytedance/seedance-2.5, kie's bytedance/seedance-2, seedance-2-fast, seedance-2-mini, seedance-2-5, in text-to-video, image-to-video and reference-to-video form) on generate_video, animate_image or a TextToVideo node. Not for Seedance 1.x.

Seedance 2 → direct a scene, not a frame

Seedance 2 writes the picture and the sound in the same pass, and that one fact changes the prompt. You are not describing a frame; you are directing a short scene including the camera move and the mix, and the model has to hold all of it together. It follows plain natural language, so the prompts that work read like a short shot brief: who, doing what, where, shot how, and what it sounds like.

That also decides how a multi-scene piece is built: the sound belongs to the clip that generated it, so several Seedance clips cut together restart their mix at every join. video-audio-continuity covers when the whole piece has to be one generation, and the sound-design vocabulary that gets past the copyright filter.

Reach it with find_model for text_to_video or image_to_video, then generate_video / animate_image. Duration set to auto lets the model pick a length to fit the content; pin it anywhere from 4 to 15 seconds instead when the cut matters.

The formula

Two parts do the work:

  • Subject — who or what is on screen, concretely.
  • Motion — what it is doing, and how.

Everything after is optional, added as the shot needs it:

  • Environment — place, time of day, weather, light.
  • Look — the finished style, documentary realism through flat 2D.
  • Camera — framing and move, briefed the way you would brief an operator.
  • Audio — dialogue, ambience, score, or silence.

Loaded up:

A glassblower in a leather apron pulls a glowing orange gather of molten glass from the furnace, turns the rod steadily to keep it from slumping, then lifts a blowpipe to his lips and breathes into it as the bulb swells and the glass deepens from orange toward red. A dim workshop lit almost entirely by the mouth of the furnace, tools and half-finished pieces on the bench behind him, a warm documentary look with the highlights blown out slightly. The camera opens on a slow push-in toward his hands, then arcs around to catch the molten glass against the dark of the room. Audio: the low roar of the furnace, the creak of the turning rod, a faint hiss as the surface cools, no music.

Every layer there is a decision the model no longer invents.

Dialogue, sound and on-screen text

Dialogue goes in double quotes. The model voices it, matches lips to it and times it to the cut. Keep lines short — a long monologue drifts out of sync, so split a speech across two lines and let the cut carry it. Direct the delivery too ("play her line dry and a little proud, his quiet and worn out").

Subtitles work by describing a voiceover and asking for the text along the bottom edge, timed to the voice.

Ambience is a sound brief. Name the sounds you want in the mix, and write "no music" when you mean it. An open prompt comes back scored like a car advert.

Rules

  • Spend words on verbs. Motion is what gets animated. "A stunning dancer" gives nothing; "a dancer dropping into a low spin, the skirt flaring, then snapping upright" gives a path to follow.
  • Use camera language. Dolly, pan, tilt, crane, push-in, rack focus, locked-off all read cleanly. "Epic cinematic camera" goes a hundred directions.
  • Under-directed audio is the common failure. Name the diegetic sounds, the room tone, and call for silence on purpose.
  • Physics needs a consequence. "Leaves scatter on each impact", "the mug slides and tips" give the model something concrete to resolve toward.
  • Say "cut to" when you want a cut. Spelled out, it honours a shot list far more reliably than it invents one.
  • Two clipped lines across a cut beat one long line that loses sync halfway.

The vague-versus-specific gap is the same as everywhere else, and costs more here because a bad clip costs seconds of render. "A beautiful cinematic video of a dancer, stunning, 8k, masterpiece" returns a stock dancer under flat even light. Set the dress, the spin, the heel strikes, the lone spotlight and the guitar, and the model spends its effort rendering your scene instead of inventing one.

Patterns

  • Hard motion and real physics — give weight and contact points: a vault with a hand planted on a ledge, gravel kicking up on the landing, a jacket flapping, the camera tracking alongside at chest height.
  • A spot that cuts between shots — "built as three cuts in one take", each cut named, a title fading up on the closing frame in a named type class and colour.
  • When the sound is the scene — a slow push-in, a naturalistic grade, and a mix of droplets, a far-off bird and branch creak with "no music at all".
  • Product hero shot — one satisfying physical moment. A pour, a splash, a tab popping with a fine spray lifting off, macro, hard rim light on the droplets, then the line fading up in the lower third.
  • Spokesperson to camera — vertical, phone-camera look, a short spoken line in quotes, a small physical beat on the last word, then a two-second insert cut and back.
Show full SKILL.md (436 more words)Show less

The structured beat sheet

Prose carries one shot. For a whole piece with a shape — a hook, a turn, a drop, a peak — hand Seedance a JSON brief instead: global fields that hold for the entire clip, then a timeline of beats, each one naming its function, its picture and its sound. The function label (fn) is what keeps the model from flattening the arc into eight equally-weighted shots.

Six global fields, then the beats:

  • duration — the whole clip, within what the endpoint you called accepts.
  • camera — one move across the whole clip, not one per beat. A single continuous push-in reads as a shot; a new move every three seconds reads as a montage.
  • light — the source, its colour temperature, and how it changes over the clip. Name it once and every beat inherits it.
  • style — genre, lens character, grain, palette, and one or two reference points for restraint.
  • negative_prompt — the artifacts you actually see: jitter, bent limbs, morphing faces, flicker.
  • audio_note — the rule the mix obeys across every beat. "One continuous bed, never full silence" is what stops the model resetting the sound at each cut.
json
{
  "duration": "25s",
  "camera": "One continuous slow, steady push-in from extreme wide to close-up across the 25s; shallow depth by the end.",
  "light": "Single unseen source above; cold white-cyan 6500K key casts down, intensifying steadily from a whisper to a flood; deep blue 6000K twilight ambient; hard top key, soft fill.",
  "style": "Mysterious sci-fi first contact, withheld reveal, intimate awe; anamorphic, atmospheric haze, fine film grain, deep teal-twilight palette; Arrival / Close Encounters restraint.",
  "negative_prompt": "Avoid jitter and bent limbs; stable facial features, no morphing, no flickering.",
  "audio_note": "ONE continuous bed, never full silence; dips to sub-bass rumble at the DROP instead of cutting.",
  "timeline": [
    {"t":"0:00-0:03","fn":"Cold Open / Hook","visual":"Extreme wide, near-dark. A small child alone in a vast twilight field, tiny and still; wind begins bending the wheat toward one point, a faint unnatural tint at frame edge - source unseen.","audio":"Low sub-bass drone, faint wind, one distant detuned low-brass signal tone."},
    {"t":"0:03-0:08","fn":"Setup / World","visual":"Medium wide. The child looks up; ordinary dusk field established as a cold light starts to rise on them from somewhere above, still unshown.","audio":"The tone bends; sparse high harmonics enter; sub-rumble slowly grows."},
    {"t":"0:08-0:11","fn":"Inciting Incident","visual":"Medium. The 'but then': cold light intensifies on the child's face - curiosity dawning, not fear. The unseen presence is undeniable now.","audio":"First swell; a soft riser begins; a deep slow pulse enters."},
    {"t":"0:11-0:16","fn":"Escalation / Stakes","visual":"Push-in tightening on the face. Light climbing, hair lifting, eyes widening; the child steps forward, drawn in.","audio":"Layers stack - riser rising, pulses quicken, strings enter; tension builds."},
    {"t":"0:16-0:17","fn":"THE DROP","visual":"The hinge: everything stills for one beat, the face half-lit, breath caught, light pooled and waiting.","audio":"Bed dips to a low sub-bass rumble for one beat - near-silence, never fully out."},
    {"t":"0:17-0:22","fn":"Climax / Emotional Peak","visual":"Close-up. PEAK: the child slowly lifts one open hand toward the light, fingers spreading; the intensifying beam washes over the small palm and reflects in wide, wonder-filled eyes as a faint slender silhouette of light enters the top edge of frame, almost meeting the fingertips.","audio":"A warm resonant swell blooms - wordless choir and vast strings soaring into awe over sustained deep brass, a fragile high motif of wonder."},
    {"t":"0:22-0:24","fn":"Title Card","visual":"The light blooms to white across the frame; title fades in over the bloom (clean type in post).","audio":"Choir and strings resolve to one luminous sustained chord; a low sub-boom lands."},
    {"t":"0:24-0:25","fn":"Button / Stinger","visual":"After the title, one last beat: the light settles, the field dim again; a single held stillness.","audio":"One fragile high bell tone over near-silence; hard out."}
  ]
}

What makes it work, and what to keep when you adapt it:

  • Every beat has all three of fn, visual and audio. A beat missing its audio line is where the mix drifts back to a generic score.
  • The drop is a beat, not a gap. One second of the bed dipping to sub-bass reads as a hinge; actual silence reads as a dropout. Say which you want.
  • The peak beat gets the most words. It is the only place worth spending detail on a hand, a reflection, an edge of frame. The setup beats stay short.
  • Camera and light are global, and the beats describe their state. "Light climbing, hair lifting" is a state of the global light, not a new light.
  • Title cards belong in the timeline. Give the bloom a beat of its own and add the type in post rather than asking the model to render it.
  • The stinger keeps the clip from ending on the peak. One held beat after the title is what makes it read as finished rather than cut off.

Adapt the beat functions to the piece. A UGC ad runs hook, problem, product, proof, call to action; a product film runs establish, detail, transformation, hero, mark. The shape changes; the discipline of naming each beat's job does not.

Grade the result with analyze_video and detect_video_scenes rather than watching it, and understand_video when you need a written read of what actually rendered.

Adapted from fal's Seedance 2.0 prompting guide: https://fal.ai/learn/tools/seedance-2-0-prompting-guide

© nodetool-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in packages/system-skills/seedance-2-prompting of nodetool-ai/nodetool.

Open the folder on GitHubat commit 339f069

Compare with similar skills

Seedance 2 Prompting next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Seedance 2 Prompting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Seedance 2 Prompting this skillnodetool-ai/nodetool560—~2.9kAutomated safety check: PassAGPL-3.0
Seedancesongguoxs/seedance-prompt-skill2.9k1 repos~2.5kAutomated safety check: PassNone
SN Motion HTMLOpenSenseNova/SenseNova-Skills5.7k—~2.2kAutomated safety check: NotesMIT
Seedance Prompt Endexhunter/seedance2-skill4.2k—~3.8kAutomated safety check: PassMIT
Seedance Japanese Prompt ExamplesEmily2040/seedance-2.07.6k1 repos~898Automated safety check: PassMIT
Seedance 2 5 Video Directorliyue-aigc/seedance-2-5-video-director599—~3.5kAutomated safety check: PassMIT

Similar skills

  • Seedance

    songguoxs/seedance-prompt-skill

    This skill should be used when the user asks to "generate video prompts", "create Seedance prompts", "write video descriptions", mentions "Seedance", "seedance", "即梦", "即梦平台", "视频提示词", "视频生成"…

    2.9k GitHub starsUsed in 1 repo~2.5k tokens
    Media & CreativeAuto-check passed
  • SN Motion HTML

    OpenSenseNova/SenseNova-Skills

    Builds HTML stories where one continuous camera journey advances with page progress, using researched structure, AI stills, Seedance video clips and browser QA.

    5.7k GitHub stars~2.2k tokensUpdated 2 days ago
    Media & CreativeAuto-check: notes
  • Seedance Prompt En

    dexhunter/seedance2-skill

    Write effective prompts for Jimeng Seedance 2.0 multimodal AI video generation.

    4.2k GitHub stars~3.8k tokensUpdated 21 days ago
    Media & CreativeAuto-check passed
  • Seedance Japanese Prompt Examples

    Emily2040/seedance-2.0

    Provides Japanese prompt patterns and safe example rewrites for Seedance 2.0 video generation, with reference tags kept intact and each example labeled by risk.

    7.6k GitHub starsUsed in 1 repo~898 tokens
    Media & CreativeAuto-check passed
  • Seedance 2 5 Video Director

    liyue-aigc/seedance-2-5-video-director

    Design, derive, optimize, diagnose, and rewrite scripts or copy-ready prompts specifically for Dreamina/即梦 Seedance 2.5.

    599 GitHub stars~3.5k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Seedance Prompt Zh

    dexhunter/seedance2-skill

    为即梦 Seedance 2.0 多模态AI视频生成模型撰写高质量提示词。当用户需要使用文本、图片、视频、音频等多模态输入创作视频提示词时触发。涵盖@引用语法、运镜复刻、特效模仿、视频延长、视频编辑、音乐卡点、电商广告、短剧创作、科普教育等场景。

    4.2k GitHub stars~1.9k tokensUpdated 21 days ago
    Media & CreativeAuto-check passed

More from nodetool-ai/nodetool

All 127 skills in this repo
  • Beat Sync Editing

    nodetool-ai/nodetool

    Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.

    560 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Caption Titles

    nodetool-ai/nodetool

    Add and animate a consistent text layer on an existing NodeTool timeline.

    560 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Color Motion

    nodetool-ai/nodetool

    Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.

    560 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Commercial Beat Sheet

    nodetool-ai/nodetool

    Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.

    560 GitHub stars~4.6k tokensUpdated today
    Auto-check passed
  • Elevenlabs Audio Prompting

    nodetool-ai/nodetool

    Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…

    560 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Frame Composition

    nodetool-ai/nodetool

    Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.

    560 GitHub stars~3.5k tokensUpdated today
    Auto-check passed

Works with

Questions about Seedance 2 Prompting

What does Seedance 2 Prompting do?

Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of…. Seedance 2 Prompting is an agent skill from nodetool-ai/nodetool. Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of leaving it open, cutting between shots in one generation, the JSON beat-sheet brief that holds an arc across a whole piece, and giving physics a consequence to chase.

When should I use Seedance 2 Prompting?

Seedance 2 Prompting fits situations like: the model id contains seedance-2 (bytedance/seedance-2.0 and its fast and mini variants; bytedance/seedance-2.5; kies bytedance/seedance-2; seedance-2-fast.

How do I install Seedance 2 Prompting in Claude Code?

Run `npx skills add nodetool-ai/nodetool --skill seedance-2-prompting -a claude-code`. Or copy the skill folder (packages/system-skills/seedance-2-prompting in nodetool-ai/nodetool) into .claude/skills/seedance-2-prompting in your project. Claude Code loads it when a task matches its description.

How do I install Seedance 2 Prompting in Codex?

Run `npx skills add nodetool-ai/nodetool --skill seedance-2-prompting -a codex`. Or copy the skill folder (packages/system-skills/seedance-2-prompting in nodetool-ai/nodetool) into .agents/skills/seedance-2-prompting in your project. Codex loads it when a task matches its description.

Can I use Seedance 2 Prompting in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill seedance-2-prompting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seedance-2-prompting, .gemini/skills/seedance-2-prompting, .github/skills/seedance-2-prompting and .opencode/skills/seedance-2-prompting in your project.

What does Seedance 2 Prompting need to run?

SKILL.md names no scripts, command-line tools or credentials: Seedance 2 Prompting is instructions for the agent only.

Does Seedance 2 Prompting access the network?

SKILL.md names 1 domain. As links in the text: fal.ai. This is read from the text; nothing was executed.

Is Seedance 2 Prompting safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Seedance 2 Prompting use?

Seedance 2 Prompting is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Seedance 2 Prompting use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Seedance 2 Prompting?

Skills that share tags, products or a category with Seedance 2 Prompting: Seedance (songguoxs/seedance-prompt-skill, 2.9k stars), SN Motion HTML (OpenSenseNova/SenseNova-Skills, 5.7k stars), Seedance Prompt En (dexhunter/seedance2-skill, 4.2k stars) and Seedance Japanese Prompt Examples (Emily2040/seedance-2.0, 7.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Seedance 2 Prompting?

nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 10, 2026.

Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.