{"id":81849,"plugin_id":"plugin_asdk_app_6ad7a6e23400819198e9cc963ee1da61","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-05T01:19:13.070Z","digest":"626e8b7e0337e6c3ec3de70bbe8e89e3d6329ccef15300237fcf251fc0fb28f8","against":null,"payload":{"description":"Canonical prompt-craft skill for the ByteDance Seedance family in Visual Sandbox (`video/seedance-2.5`, `video/seedance-2`, `video/seedance-2-fast`, `video/seedance-2.0-mini`). Read before writing any `vsb run video/seedance-*` prompt: text-to-video, reference-to-video, first and last frame, keyframes, storyboard, blockout, video edit, audio edit, or video extension. Built from the official Seedance 2.5 and 2.0 prompt guides. Covers the prompt shape (summary, shot list, notes), the asset binding rule, timestamps versus shot numbers, camera language, action and emotion writing, sound notation, negative control, and the 2.0 versus 2.5 differences. Templates and worked examples live in [references/templates.md](references/templates.md). Runtime, flags and locked parameters live in [`vsb-seedance`](../vsb-seedance/SKILL.md).\n","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":280},{"relative_path":"references/templates.md","size_in_bytes":16194}],"name":"vsb-seedance-prompting","skill_md_contents":"---\nname: vsb-seedance-prompting\ndescription: >\n  Canonical prompt-craft skill for the ByteDance Seedance family in Visual\n  Sandbox (`video/seedance-2.5`, `video/seedance-2`, `video/seedance-2-fast`,\n  `video/seedance-2.0-mini`). Read before writing any `vsb run video/seedance-*`\n  prompt: text-to-video, reference-to-video, first and last frame, keyframes,\n  storyboard, blockout, video edit, audio edit, or video extension. Built from\n  the official Seedance 2.5 and 2.0 prompt guides. Covers the prompt shape\n  (summary, shot list, notes), the asset binding rule, timestamps versus shot\n  numbers, camera language, action and emotion writing, sound notation,\n  negative control, and the 2.0 versus 2.5 differences. Templates and worked\n  examples live in [references/templates.md](references/templates.md).\n  Runtime, flags and locked parameters live in\n  [`vsb-seedance`](../vsb-seedance/SKILL.md).\nlicense: Proprietary. See LICENSE for the terms.\n---\n\n# Seedance prompting\n\nPrompt craft only. For the flags, the reference numbering, the locked aspect\nand duration rules, and the price, read [`vsb-seedance`](../vsb-seedance/SKILL.md)\nfirst. For the async + poll pattern read [`vsb-video`](../vsb-video/SKILL.md).\n\nTreat Seedance as a visual content producer. Write the prompt as a shot list,\nnot as ad copy. The model splits the prompt into a spatial layer (who is in\nthe frame, where) and a temporal layer (what changes, in what order). Give it\nboth.\n\n## The prompt shape\n\nFour parts, in this order. Drop a part when the shot does not need it. Never\ndrop the summary.\n\n1. **Asset bindings.** One line per attached asset: which asset, which\n   subject, which attributes to take, which to ignore.\n2. **One-sentence summary.** Subject + location + event + genre or style +\n   camera.\n3. **Shot list or timeline.** `Shot 1 / Shot 2` or `0-3s / 3-8s`. Each\n   segment: camera, subject action and expression, position in the scene,\n   sound.\n4. **Notes that hold for the whole clip.** Camera angle, lighting, style,\n   audio mode, constraints such as \"No subtitles.\"\n\nExample, text only:\n\n> Realistic nature documentary style, natural light. Warm afternoon, a\n> grassy slope in a forest, a chubby panda cub rolls down the hill.\n>\n> 0-3s: The cub lies on the slope and starts to roll sideways, bending the\n> grass. Sunlight comes through the trees from the upper left.\n> 3-8s: The cub rolls to the lower right of the frame and stops on its\n> belly. It turns its round face to the camera and makes a soft hum.\n>\n> Low camera, slight handheld feel, follows the cub to the lower right.\n> Shallow natural depth of field. Environmental audio only: wind, grass,\n> the soft plop of the roll. No BGM. No subtitles.\n\n## Asset bindings\n\nNumber assets by their position in each list: `[Image1]`, `[Video1]`,\n`[Audio1]`. Bind every one in the prompt. Never rely on a name written on the\nimage itself; the model confuses or duplicates the character.\n\n- **One line per subject.** \"The knight is [Image1].\" \"The archivist is\n  [Image2].\" Never \"Characters A and B are [Image1] and [Image2].\"\n- **Say what to take and what to ignore.** \"Use [Image1] for the face, hair\n  and apron; do not use the background.\" \"Use [Video1] for the spell-casting\n  action and the orbit camera move; do not use its character or scene.\"\n- **Several images for one subject.** \"Images 1 to 3 are one character: face\n  from [Image1], wardrobe from [Image2], back view from [Image3]. One person,\n  not three.\"\n- **Pair voice with face.** \"[Image1] is the host and speaks with the voice\n  in [Audio1].\"\n- **When the asset already says it, stop describing.** \"Strictly follow the\n  actions and camera in [Video1], same order.\" Do not then narrate the raise\n  of a hand and the turn; the restatement fights the clip.\n- **Reference video with no role stated** lends motion, camera and pacing.\n  It does not lend identity, wardrobe or the scene unless you say so.\n- **Unused assets.** If an attached asset has no role, say so: \"[Image4] is\n  not used for people, scene, props, action or sound.\" Better: do not attach\n  it.\n\nFour to five assets is the sweet spot on the 2.0 family: one or two\ncharacter images, one scene image, one motion video, one audio. 2.5 holds\nmore, but stability drops past 8 subject images or 5 subject videos.\n\n## Time control\n\n2.5 reads integer-second timestamps. The 2.0 family does not; it reads shot\nnumbers only, and a forced timing there can break the clip. So:\n\n- **2.5:** `0-3s ... 3-8s ... 8-12s`, or `[1s-4s]`, or a time point (\"at the\n  5-second mark, quick left wipe\"), or relative time (\"after 3 seconds,\n  everyone shakes their head\").\n- **2.0, 2-fast, Mini:** `Shot 1 / Shot 2 / Shot 3`. Let the model pace it.\n\nKeep the timeline continuous. `0-3s ... 5-6s` leaves a hole the model fills\non its own. Give each second-range one state change. Too little content and\nthe model improvises. Too much and it cuts or drops plot. Never use\ntimestamps for high-frequency motion such as \"shakes head three times a\nsecond\".\n\n## Camera\n\nPlain terms work: extreme wide, wide, medium, medium close-up, close-up;\npush in, pull out, pan, track, follow, orbit, tilt up, handheld; low angle,\noverhead, first person. Named techniques work too: one-shot long take, dolly\nzoom, FPV, bullet time, speed ramp.\n\n- **One camera move per shot.** Push, pan and track in one shot makes the\n  picture unstable.\n- **Name the subject the move centres on**, where it starts and where it\n  ends. \"The camera orbits the girl from her left to behind the airplane.\"\n- **Expand a rare term into its visible result.** \"Rack focus: the sharp\n  foreground trees blur while the woman in the background becomes sharp.\"\n- **Transitions need a time and a method.** \"At the 5-second mark, cut left\n  with a wipe and a short dissolve.\"\n- **Avoid \"drone\" and \"FPV\" in the prompt on Visual Sandbox.** The safety\n  filter refuses them. Write \"aerial flythrough\".\n\n## Action and expression\n\n- **General first, detail for the memorable beat.** \"Several sets of\n  high-knee raises and a somersault\" beats a list of every rep. Write exact\n  detail only for the one or two actions the shot is about.\n- **Body part + range + speed.** \"Slowly raises the right hand\", \"quickly\n  turns the head\", \"pushes hard off the ground\".\n- **Slow, small, continuous beats big and fast.** Sprints, big jumps and\n  violent rolls break more often than a walk, a lean or a turn.\n- **Link actions.** \"Uses the momentum of the turn to raise a hand.\"\n- **Emotion as visible behaviour,** not as a label. Not \"very sad\" but\n  \"lowers the head, shoulders tremble, eyes redden, fingers clutch the hem\".\n  Pick two or three cues, not all of them.\n- **Cause before reaction.** Show the trigger, then the face. Do not cut to\n  the reaction close-up before the audience saw what caused it.\n- **Spatial relations against fixed objects.** \"Inside the counter, facing\n  out\", not \"on the left of the screen\".\n\n## Sound and dialogue\n\nSeedance generates audio with the picture. Say what you want or you get the\nmodel's guess.\n\n- **Dialogue in double quotes,** one speaker per line: `The man stops and\n  says: \"Remember this moment.\"` Mark the language when it is not obvious:\n  `says in Japanese \"こんにちは\"`. Keep one language per clip.\n- **No dashes inside the quotes.** Speech synthesis mangles them. Comma,\n  period or `...` instead. Rule in [`vsb-video`](../vsb-video/SKILL.md).\n- **Other speakers keep their mouths closed** while one talks. Say it.\n- **Name the sources:** \"Environmental audio only: wind, footsteps.\" \"Soft\n  piano in the background.\" \"A bell rings in the distance.\"\n- **The BytePlus markers** are optional structure the model also reads:\n  `()` music, `<>` sound effect, `{}` dialogue, `【】` subtitle. If you use\n  `<>` for effects, do not also wrap names in angle brackets.\n- **Reference audio** gives timbre, accent, pace and emotion by default. If\n  the written line and the recording differ, the written line wins unless\n  you say \"use the dialogue in [Audio1]\".\n\n## Negative control\n\nNegatives work for two things only: subtitles and audio. Everything else,\nwrite the positive.\n\n- \"No subtitles.\" \"Do not add any text or subtitles.\" Portrait clips grow\n  subtitles more than landscape.\n- \"No BGM; environmental and action sounds only.\" \"No audio.\"\n- \"No watermark. No logo.\" when a reference carries one.\n- Style drifts toward the reference. A realistic photo plus an anime request\n  needs \"2D Japanese anime style\" stated, or convert the reference first.\n\n## Task recipes\n\nEach task has a template in [references/templates.md](references/templates.md).\nThe rules that matter most:\n\n- **Reference to video.** Bindings, then summary, then shots. Adaptive\n  aspect when the references should set the shape.\n- **First and last frame.** Pin them with the fields, not the prompt. Then\n  one continuous action that starts at the first frame and arrives at the\n  last.\n- **Keyframes.** Several stills as `reference_images`, first sentence \"Use\n  Images 1 to N in order as keyframes.\" The picture follows them closely.\n- **Storyboard grid.** One image with up to 15 line-art panels. Bind it as\n  \"shot order and rough composition; do not adopt the sketch style or the\n  text\". The video follows it loosely. Need strict? Use keyframes.\n- **Blockout (3D clay model video).** Coarse geometry gives camera, blocking\n  and timing. Map each blob to a subject: \"the red model in [Video1] is the\n  man from [Image1]\". Fine blockout: \"Render [Video1]\", keep structure,\n  replace materials, scene and style.\n- **Edit.** Name the one master video and the edit verb. Scope it: what\n  changes, from A to B, when. Close the scope: \"Except for the objects named\n  above, every visible person, prop and background element in [Video1]\n  remains unchanged.\" For a moving object, \"inherits the same timing, path,\n  speed and occlusion as the original\".\n- **Audio edit.** Same master rule. \"Change only the man's line to 'Do not\n  come here', American accent; keep every other sound, the lip timing and\n  all visuals.\"\n- **Extend.** \"Extend [Video1] forward\" or \"backward\". Describe the boundary\n  frame first: pose, props, camera, light, audio state. Then the new event.\n  The subject stays one continuous object; no duplicate, no swap. Backward:\n  end the new segment on the source's first frame and keep later props out.\n- **One-click reel.** Many stills, \"turn all images into a short vlog,\n  live-photo motion only, do not alter the images\".\n- **Seamless transition.** Two clips: describe the camera move that carries\n  [Video1] into [Video2] and what morphs during it.\n\n## 2.0 versus 2.5\n\n| | 2.0 family | 2.5 |\n|---|---|---|\n| Timing | Shot numbers only | Integer-second timestamps |\n| Character sheets | One headshot + one full body; multi-view reads as several people | Multi-view fine up to 5 subjects |\n| Face drift fix | Separate headshot, large face, listed first | Same, less needed |\n| Reference count | 4 to 5 assets | Up to 50, stable to about 8 images |\n| Aspect | Fixed enums | Adaptive follows the assets |\n\n## Pre-flight checklist\n\nBefore `vsb run video/seedance-*`:\n\n1. Every attached asset has one binding line with take and ignore?\n2. Summary sentence names subject, place, event, style, camera?\n3. Shots use timestamps on 2.5, shot numbers on 2.0?\n4. One camera move per shot, with a named subject?\n5. Actions are body part + range + speed, emotions are visible cues?\n6. Dialogue in double quotes, no dashes inside, one language?\n7. \"No subtitles.\" present when subtitles are unwanted? Audio mode named?\n8. Edit or extend prompt names the master video and its verb, and closes\n   the scope?\n9. No \"drone\" or \"FPV\" wording?\n10. Nothing about aspect, resolution or total duration in the prompt? Those\n    are flags.\n\nAll yes: run. Any no: not ready.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}