Install
openclaw skills install seedance-2-prompt-engineering-to-videoDesign production English prompts for Seedance 2.0 then generate text-to-video or image-to-video on WeryAI (`SEEDANCE_2_0`), using bundled recipes (A–K), mode-to-JSON mapping, camera vocabulary, and pre-flight checklists. Use when you need JiMeng-grade prompt control translated to WeryAI submit-* flows with explicit pre-submit confirmation. SEO: Seedance 2.0 prompt engineering; Seedance text and image to video; recipe library.
openclaw skills install seedance-2-prompt-engineering-to-videoDisplay name: Seedance 2.0 prompt engineering to video · Package folder: seedance-2-prompt-engineering-to-video
Combine high-control Seedance-style prompt design (modes, asset roles, timeline beats, IP-safe language) with direct WeryAI generation for SEEDANCE_2_0 text-to-video and image-to-video (single image by default; optional multi-image / first–last frame within model limits).
Resource library (prompt guidance — under resources/ next to WERYAI_VIDEO_API.md after sync):
| Doc | Role |
|---|---|
resources/seedance2-prompt-engineering-playbook.md | Hub: 60s workflow, @→JSON map, quick beats |
resources/modes-and-weryai-mapping.md | Modes, WeryAI field mapping, dialogue/sound, multi-segment, pitfalls, pre-flight checklist |
resources/recipes-weryai.md | A–K production recipes (adventure, extend, IP-safe, toy, product, drama, one-take, 30s plan) |
resources/camera-and-styles.md | Shot, movement, angle, lighting, palette, render vocabulary |
Dependencies: WERYAI_API_KEY + Node.js 18+. After assembly, scripts/video_gen.js and resources/ must include resources/WERYAI_VIDEO_API.md (your publish/sync pipeline copies the API doc from the WeryAI video skill creator; prompt guides ship in-repo). Full JSON fields and commands: resources/WERYAI_VIDEO_API.md. No other Cursor skills required.
WERYAI_API_KEY must be set before running video_gen.js.https URLs for image, images, first_frame, last_frame, and last_image. If the bundled runtime supports local file paths, review scripts/video_gen.js, verify read-and-upload behavior, and obtain explicit user consent before using local paths.model is mandatory in every submit-* and wait JSON body. This skill only documents SEEDANCE_2_0. If model is missing or blank, the CLI exits with MISSING_PARAM (no default model in the script).submit-* / wait may consume credits; retries create new paid tasks.SEEDANCE_2_0 does not support API negative_prompt on text or image paths—do not send that field for this model.WERYAI_API_KEY: Treat as a secret; never commit its value inside the skill package. OpenClaw metadata declares primaryEnv / requires.env so installers see the runtime contract.video_gen.js): Video tasks use https://api.weryai.com; the models list uses https://api-growth-agent.weryai.com. Do not rely on undocumented URL overrides.https. If the runtime can read local files and upload them to WeryAI for a public URL, require review, verification, and explicit consent before that path.scripts/video_gen.js before production paid use.⚠️ No paid submit without explicit user confirmation. Do not call submit-text, submit-image, submit-multi-image, or wait until the user has explicitly approved the full parameter table below, including the entire expanded prompt. Never infer consent from silence or vague “continue”. Explicit means confirm / go / approved / yes, generate (or clear equivalent in the user’s language).
Parameter confirmation table (show before any submit): model, duration, aspect_ratio, resolution, generate_audio, reference URLs (if any), and full expanded prompt (complete text, not a summary).
https URLs, target duration (5–15 s, integer), aspect_ratio, resolution, and whether generate_audio should be true or false.resources/seedance2-prompt-engineering-playbook.md; for mode and JSON mapping use resources/modes-and-weryai-mapping.md; match a scenario from resources/recipes-weryai.md when helpful; sharpen wording with resources/camera-and-styles.md. Choose mode, map each URL to a role, draft timecoded beats, then compress into one API prompt. The API does not use @image1 tokens; roles belong in prose while URLs sit in JSON. Unless the user supplied a finished long prompt and asked not to rewrite, always expand short input into a production English prompt.prompt length against prompt_length_limit (2000); trim lower-priority clauses if over limit.submit-text or submit-image (or submit-multi-image when using multiple URLs), using the same JSON shape as wait (see resources/WERYAI_VIDEO_API.md). Do not start a long blocking wait in the same turn unless the user already asked to block until the video is ready.taskId / batchId (or documented id fields), short status (e.g. queued), and ask whether to poll status or use blocking wait next. Do not run long invisible polling without that choice.status --task-id … at reasonable intervals or wait --json '…' with the same payload.[Video](https://…)—not inside fenced code blocks.video_gen.js does not auto-expand prompts.
duration; shot scale, angle, camera move (see resources/camera-and-styles.md); lighting and materials; one clear payoff; framing for aspect_ratio; if generate_audio is true, describe ambience/SFX in generic, non-copyrighted terms; dialogue/sound as separate labeled lines when needed (see resources/modes-and-weryai-mapping.md §4).resources/modes-and-weryai-mapping.md §8 and recipe blocks in resources/recipes-weryai.md (D, E, F).prompt.prompt.After confirmation — async submit, then optional status:
node scripts/video_gen.js submit-text --json '{"model":"SEEDANCE_2_0","prompt":"<expanded English prompt>","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
node scripts/video_gen.js submit-image --json '{"model":"SEEDANCE_2_0","prompt":"<expanded English prompt>","image":"https://example.com/ref.png","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
node scripts/video_gen.js status --task-id <TASK_ID>
Blocking until done — only if the user explicitly chooses wait:
node scripts/video_gen.js wait --json '{"model":"SEEDANCE_2_0","prompt":"…","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
Multi-image or first/last frame — use submit-multi-image or the field names documented in resources/WERYAI_VIDEO_API.md; keep images length ≤ 3 for SEEDANCE_2_0.
Full CLI and API: resources/WERYAI_VIDEO_API.md.
Done when the user receives at least one playable Video link or a clear error with a fix. Pre-submit: full prompt and parameters were explicitly confirmed. Post-submit: the user was notified with task id(s) and chose status vs wait. Submitted prompt must be the engineered production string unless the user opted out. Do not wrap user-facing video URLs in code fences.
negative_prompt for SEEDANCE_2_0 (unsupported on this model’s rows).upload_image_limit (3) or claim multi-image support for other models inside this skill—this skill documents only SEEDANCE_2_0.WERYAI_API_KEY values in files. Do not link to weryai-model-capabilities.md or arbitrary paths outside this skill package for shared capability docs.video_gen.js only.Plan a 10s 9:16 Seedance 2.0 clip from a one-line cyberpunk alley idea, then generate on WeryAI after I confirmI have an https product still—map it as identity anchor, expand the prompt with beats, then image-to-video with SEEDANCE_2_0Help me write an IP-safe fantasy creature prompt and submit text-to-video with audio onDerived from
node scripts/video_gen.js models(text_to_video+image_to_video) at authoring time. Re-run after platform upgrades. This skill uses onlySEEDANCE_2_0.
| model_key | durations (s) | aspect_ratios | resolutions | Audio (generate_audio) | negative_prompt (API) | prompt_length_limit |
|---|---|---|---|---|---|---|
SEEDANCE_2_0 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | 9:16, 1:1, 16:9 | 480p, 720p | Yes | Not supported — omit field | 2000 |
| model_key | durations (s) | aspect_ratios | resolutions | Audio | negative_prompt (API) | Multi-image | First/last frame | upload_image_limit | prompt_length_limit |
|---|---|---|---|---|---|---|---|---|---|
SEEDANCE_2_0 | 5–15 (integers as above) | 9:16, 1:1, 16:9 | 480p, 720p | Yes | Not supported — omit field | Yes | Yes | 3 | 2000 |
| Tier | model_key | Notes |
|---|---|---|
| Default | SEEDANCE_2_0 | Only model covered by this skill; text + image paths |
| Field | Value |
|---|---|
model | SEEDANCE_2_0 |
aspect_ratio | 9:16 |
duration | 10 (must be one of the allowed integers) |
resolution | 720p |
generate_audio | true unless the user wants silent motion |
resources/seedance2-prompt-engineering-playbook.md and pick a matching recipe from resources/recipes-weryai.md if applicable; set Text-only mode; draft beats for the chosen duration.prompt; keep within 2000 characters.prompt and numeric fields.node scripts/video_gen.js submit-text --json '{"model":"SEEDANCE_2_0","prompt":"<expanded>","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
status vs wait. Return final URLs as [Video](url).https image URL (or local path only with script review + explicit consent).resources/modes-and-weryai-mapping.md §2.3 and recipes F / H in resources/recipes-weryai.md.prompt with motion beats and camera; merge dialogue/sound lines if needed.prompt.node scripts/video_gen.js submit-image --json '{"model":"SEEDANCE_2_0","prompt":"<expanded>","image":"https://example.com/input.png","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
Use only when the user supplies multiple references or explicit start/end frames and agrees to SEEDANCE_2_0 limits (≤ 3 uploads). Map order with resources/modes-and-weryai-mapping.md §2.4 / §6 and recipe J in resources/recipes-weryai.md; then use submit-multi-image and field names from resources/WERYAI_VIDEO_API.md. Pre-submit gate must list every URL and the full prompt.
Pack:
seedance-2-prompt-engineering-to-video· slug:seedance-2-prompt-engineering-video-gen.