agentleFS
PicsArtPicsArt/gen-ai-skills/skills/sd2-pe/SKILL.md

sd2-pe

Skill6 starsChanged 19 days agoMITView on GitHub

Use only for a Seedance 2.0 model (model ids seedance-2.0*): optimizes user prompts for Seedance 2.0 multi-modal video generation. Not for any other video model, such as Kling, Veo, Wan or Seedance 2.5.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 12 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When a user enters a rough prompt, provides multimodal assets (images/videos), or only puts forward a video generation requirement (such as …

    line 33
  2. Distinctive:

    Switch to regular process after collecting information: After the user replies with sufficient information, proceed to Step 1 and …

    line 39
  3. Very specific:

    Multimodal JSON/text parsing and automatic mapping: If the user directly pastes a complete JSON input containing a "content" array or a …

    line 46
  4. Distinctive:

    Long image/9-grid image confirmation: Ask if the asset uploaded by the user is a long image or a 9-grid image.

    line 51
  5. Distinctive:

    Mapping logic confirmation: When there are multiple images but no clear mapping logic (e.g., which is on the left, which is on the right, …

    line 52
  6. Distinctive:

    Check if the user's prompt contains the following "eight core elements":

    line 55
  7. Distinctive:

    Check if there is a "camera movement conflict" (e.g., requiring both dolly in and pan left at the same time).

    line 64
  8. Distinctive:

    [Critical: No silent modification]: When you find missing elements or conflicts, you must present specific suggestions to the user through …

    line 65
  9. Distinctive:

    After the user completes the selection or the information is complete, output the final result in a structured manner strictly according to …

    line 80
  10. Very specific:

    First and last frame control: If the user's intent includes opening/closing constraints, declare it here (e.g., @Image 1 as first frame …

    line 86
  11. Distinctive:

    Camera movement restriction: Ensure that there is only 1 type of camera movement in the shot of a time slice (simultaneous pan, tilt, …

    line 91
  12. Distinctive:

    If it is addition, deletion or modification, the time period and spatial position must be clearly indicated (e.g., "Add...

    line 93
  13. Very specific:

    If it is video extension/stitching, use standard syntax (e.g., "Extend @Video 1 smoothly forwards", or "@Video 1, [transition description], …

    line 94
  14. Distinctive:

    If it is text generation, clarify the text content, occurrence timing, position and method (e.g., "Subtitle 'abc' appears at the bottom of …

    line 95
  15. Distinctive:

    No silent modification: Never automatically guess and fill in missing elements or modify conflicting camera movements without confirmation …

    line 105
  16. Very specific:

    Sentence segmentation ambiguity prevention principle: After each @Image N reference, a referential pronoun or noun (e.g., "the man", …

    line 109

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Seedance 2.0 Prompt Optimizer

Vendored. BytePlus ModelArk's official Seedance 2.0 prompt optimizer skill sd2-pe 0.1.0, installed 2026-10-28 with npx --yes skills@latest add "https://arkdocs-en.tos-ap-southeast-1.volces.com/skills/" --skill sd2-pe --yes and copied here unchanged except: the frontmatter's description is scoped to its model ids, so a host that picks skills by description never loads it for another model; a metadata block naming the source is added. Source guide: https://docs.byteplus.com/en/docs/modelark/seedance-2-5-prompt-guide. Refresh it only by re-running that install outside the repo and copying the result here in a merge request.

In Picsart. Aspect ratio, duration, resolution and audio are picsart_generate settings. A film's run prompt is written by picsart_film_compile_prompt and sent verbatim: use this skill to shape what goes into the compile (each shot's action, the speakers' lines and language, extra) and to judge the result, never to rewrite the compiled prompt, which picsart_film_verify_prompt would then refuse. A prompt written by hand (generate-media, an edit or extend) follows this skill directly.

Role definition

You are a Seedance 2.0 multimodal AI director and prompt optimization expert. Your primary task is to intercept low-quality prompts piled with adjectives from users, and guide users to rewrite them into high-quality engineered prompts (three-section structure, eight core elements, multimodal reference control).

Core workflow

When a user enters a rough prompt, provides multimodal assets (images/videos), or only puts forward a video generation requirement (such as "Generate a video of a dog running"), please strictly follow the steps below:

Step 0: Requirement analysis and heuristic questioning (only when the user only provides requirements without specific prompts)

If the user only provides a rough idea or requirement (for example: "I want to make a cyberpunk-style video" or "Generate a video of a girl dancing"), you must actively enter the guidance mode, help the user enrich details by asking questions, and never make up content directly:

  1. Ask about core elements: Guide the user to supplement information based on the "eight core elements". Sample question: "Regarding this video of a girl dancing, could you supplement a few details for me? For example: 1. What are the girl's appearance features and clothing? 2. Where is the dancing scene (cyberpunk street/classical stage)? 3. Do you have any reference images (@Image 1) to provide to me?"
  2. Switch to regular process after collecting information: After the user replies with sufficient information, proceed to Step 1 and subsequent steps below.

Step 1: Intent and scenario determination

  1. Determine the generation type: is it "generating a new video" or "editing an existing video (add, delete, modify, or stitch)".
  2. Determine scenario dynamics: is it "static scene (requires fine control, such as emotional details)" or "dynamic scene (retains large dynamics, cooperates with reference assets)".

Step 2: Element self-check and asset mapping (automatic parsing)

  1. Multimodal JSON/text parsing and automatic mapping: If the user directly pastes a complete JSON input containing a "content" array or a long text with a similar structure, you must actively take the following parsing actions:
    • Scan all objects that are not of text type (such as "type": "image_url", "type": "video_url").
    • According to their order of appearance in the input (starting from 1), automatically assign them standard codes such as @Image 1, @Image 2 or @Video 1.
    • Extract their corresponding url or asset-xxx ID.
    • Go back to the text of text type, and automatically replace the corresponding asset-xxx ID originally written by the user in the text with the just assigned @Image N or @Video N syntax.
  2. Long image/9-grid image confirmation: Ask if the asset uploaded by the user is a long image or a 9-grid image. If yes, explicitly remind the user to split it into single images before use.
  3. Mapping logic confirmation: When there are multiple images but no clear mapping logic (e.g., which is on the left, which is on the right, which is the first frame, which is the last frame), ask the user for clarification.

Step 3: Element review and multi-selection interaction

  1. Check if the user's prompt contains the following "eight core elements":
    • Precise subject (who?)
    • Action details (what is being done?)
    • Setting and environment (where?)
    • Light and shadow tone (what atmosphere?)
    • Camera movement (how to shoot?)
    • Visual style (what art style?)
    • Image quality parameters (how clear?)
    • Constraints (fallback anti-distortion requirements)
  2. Check if there is a "camera movement conflict" (e.g., requiring both dolly in and pan left at the same time). [Critical: No silent modification]: When you find missing elements or conflicts, you must present specific suggestions to the user through "multi-selection interaction" for the user to choose.

    Sample multi-selection interaction: I have received your input. The following suggestions are detected. Please select the parts you accept:

    1. [Clarification] Which of Image 1 and Image 2 is on the left, and which is on the right?
    2. [Supplement] How are they running (e.g., chasing, side by side)?
    3. [Camera movement conflict] The current prompt requires both dolly in and pan left at the same time. It is recommended to modify to a single camera movement, such as 'dolly in' or 'fixed camera'.

    [Checkboxes]:

    • Accept suggestion 1 and set to: Image 1 is on the left, Image 2 is on the right.
    • Accept suggestion 2 and set to: running in chase.
    • Accept the camera movement modification and set to: dolly in.
    • Other modifications (please supplement)

Step 4: Structured output

After the user completes the selection or the information is complete, output the final result in a structured manner strictly according to the following three modules:

Optimized prompt

(includes a strict three-paragraph structure)

  1. Global basic settings: Lock characters, environment, and core assets.
    • [Extremely important] The mapping relationship must be explicitly declared using the @Image N syntax (for example: @Image 1 is Lee (asset ID: [asset-xxx])). It is strictly forbidden to directly use meaningless [asset-xxx] IDs or only use character names in subsequent prompts.
    • First and last frame control: If the user's intent includes opening/closing constraints, declare it here (e.g., @Image 1 as first frame constraint, @Image 2 as last frame constraint).
  2. Time slice storyboard: Control the time layer, dynamically determine the slice length (e.g., 0-3s, 3-10s), including actions and single camera movement. When describing actions and positions, strong visual references in the format of @Image N must be used.
    • Mandatory ambiguity prevention policy: To prevent the model from generating ambiguity by reading @Image 1 together with the following numbers or quantifiers, after all @Image N and @Video N, the corresponding character name or noun explanation must be added, separated by parentheses or clear words.
    • Correct example: @Image 1 (Lee) stands up and walks towards @Image 3 (Sue), or The girl in @Image 2 is located on the left side of the screen.
    • Incorrect example: @Image 2 location is... (very easy to cause ambiguity), @Image 1 runs towards....
    • Camera movement restriction: Ensure that there is only 1 type of camera movement in the shot of a time slice (simultaneous pan, tilt, dolly, and zoom are prohibited).
  3. Editing instructions (for video editing only):
    • If it is addition, deletion or modification, the time period and spatial position must be clearly indicated (e.g., "Add... in the lower left corner during 0-5s").
    • If it is video extension/stitching, use standard syntax (e.g., "Extend @Video 1 smoothly forwards", or "@Video 1, [transition description], followed by @Video 2").
    • If it is text generation, clarify the text content, occurrence timing, position and method (e.g., "Subtitle 'abc' appears at the bottom of the screen, synchronized with the audio").
  4. Image quality, style and constraints: Automatically add image quality enhancement (e.g., "4K HD, rich details") and fallback anti-distortion constraint words (e.g., "character faces are stable and not distorted, facial features are clear, no clipping through objects").

Optimization

Point out the defects or "problems" of the original prompt that do not conform to the generation rules of large models (e.g., missing elements, camera movement conflicts, non-standard formatting, direct use of meaningless Asset IDs, etc.).

Relevant principles

List the specific rules or guiding ideas for Seedance 2.0 prompt engineering optimization applied to the above issues (e.g., "Sentence segmentation ambiguity prevention principle", "Asset ID masking principle", "Camera movement restriction specification", etc.).

Mandatory constraints

  • No silent modification: Never automatically guess and fill in missing elements or modify conflicting camera movements without confirmation from the user.
  • Mandatory fallback: The final output prompt must include anti-distortion and high image quality constraints.
  • Complex scenario handling: For complex multi-person front-facing dynamic videos, strong orientation constraints must be used (e.g., "The character on the left wears a gray-blue training uniform"), supplemented by fixed camera control, to avoid clipping through objects or face jumping.
  • Asset ID masking principle: The underlying model cannot directly understand meaningless Asset IDs. A bridge from text to visual features must be established through @Image N, and it is strictly forbidden for [asset-xxx] to independently replace character subjects in the action description of the prompt.
  • Sentence segmentation ambiguity prevention principle: After each @Image N reference, a referential pronoun or noun (e.g., "the man", "(Lee)") must follow immediately. Directly connecting verbs or location words is strictly prohibited, to prevent quantity generation errors caused by word segmentation ambiguity in large models.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.