(由于原始内容过长,以下仅提供简略版,完整内容请参考原始文档)
# Seedance 2.0 提示工程到视频 · 包文件夹:seedance-2-prompt-engineering-to-video
结合 高控制 Seedance 样式提示设计 和 直接 WeryAI 生成 为 SEEDANCE_2_0 提供 文本到视频 和 图像到视频(默认单图像,支持多图像/首末帧,模型限制内)。
...(中略)...
安全、秘密和 API 主机
WERYAI_API_KEY:视为秘密;永远不要将其值提交到技能包中。
- API 主机(在
video_gen.js 中固定):视频任务使用 https://api.weryai.com;模型列表使用 https://api-growth-agent.weryai.com。不要依赖未记录的 URL 覆盖。
...(末略)...
Display 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.Prerequisites
WERYAI_API_KEY must be set before running video_gen.js.
- Node.js 18+. Prefer public
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).
- Each successful
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.
Security, secrets, and API hosts
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.
- API hosts (fixed in
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.
- Local image disclosure: Prefer
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.
- Higher assurance: Use an isolated or short-lived environment; review
scripts/video_gen.js before production paid use.
Pre-submit gate (mandatory)
⚠️ 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).
Workflow
- Confirm the user wants Seedance 2.0 on WeryAI and whether the path is text-only or uses reference image(s).
- Collect the brief, optional
https URLs, target duration (5–15 s, integer), aspect_ratio, resolution, and whether generate_audio should be true or false.
- Prompt engineering (mandatory): Use the resource library above. Start from
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.
- Validate
prompt length against prompt_length_limit (2000); trim lower-priority clauses if over limit.
- Pre-submit gate: Show the confirmation table; stop until the user explicitly confirms or edits.
- Submit (async, default): After confirmation, run
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.
- Immediate notify: On success, report
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.
- Continue (user-driven): Only after the user agrees, use
status --task-id … at reasonable intervals or wait --json '…' with the same payload.
- On completion, return playable URLs as Markdown inline links only—e.g.
Video—not inside fenced code blocks.
Prompt expansion (mandatory)
video_gen.js does not auto-expand prompts.
- When: The user gives a short or vague brief. Exception: They provide a final long prompt within 2000 characters and explicitly opt out of rewriting—still show the full text in the pre-submit table.
- What to add: Mode; asset mapping (for each URL); timecoded beats for the chosen
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).
- IP / moderation:
resources/modes-and-weryai-mapping.md §8 and recipe blocks in resources/recipes-weryai.md (D, E, F).
- Length: Stay within 2000 characters for
prompt.
- Confirmation: The pre-submit table must include the full expanded
prompt.
CLI reference
After confirmation — async submit, then optional status:
~~~sh
node scripts/video_gen.js submit-text --json '{"model":"SEEDANCE_2_0","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":"","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
~~~
Blocking until done — only if the user explicitly chooses wait:
~~~sh
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.
Definition of done
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.
Boundaries (out of scope)
- Do not send
negative_prompt for SEEDANCE_2_0 (unsupported on this model’s rows).
- Do not exceed
upload_image_limit (3) or claim multi-image support for other models inside this skill—this skill documents only SEEDANCE_2_0.
- Do not embed
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.
- Do not use local image paths as the default; if supported by the bundled script, disclose upload behavior and require explicit consent.
- This skill does not run JiMeng-native UIs; it targets WeryAI JSON +
video_gen.js only.
Example prompts
Plan a 10s 9:16 Seedance 2.0 clip from a one-line cyberpunk alley idea, then generate on WeryAI after I confirm
I have an https product still—map it as identity anchor, expand the prompt with beats, then image-to-video with SEEDANCE_2_0
Help me write an IP-safe fantasy creature prompt and submit text-to-video with audio on
Model and API constraints (frozen for this skill)
Derived from node scripts/video_gen.js models (text_to_video + image_to_video) at authoring time. Re-run after platform upgrades. This skill uses only SEEDANCE_2_0.
Text-to-video
| 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 |
Image-to-video
| 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 |
Recommended models
| Tier | model_key | Notes |
|---|
| Default | SEEDANCE_2_0 | Only model covered by this skill; text + image paths |
Default parameters (when the user is silent)
| 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 |
Scenario: Text-to-video with prompt engineering
~~~sh
node scripts/video_gen.js submit-text --json '{"model":"SEEDANCE_2_0","prompt":"","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
~~~
- Notify task id; offer
status vs wait. Return final URLs as Video.
Scenario: Image-to-video (single reference)
- Obtain one
https image URL (or local path only with script review + explicit consent).
- Plan single-image mode and asset mapping (identity, composition, palette to preserve); see
resources/modes-and-weryai-mapping.md §2.3 and recipes F / H in resources/recipes-weryai.md.
- Expand
prompt with motion beats and camera; merge dialogue/sound lines if needed.
- Pre-submit gate including the image URL and full
prompt.
- After explicit confirmation:
~~~sh
node scripts/video_gen.js submit-image --json '{"model":"SEEDANCE_2_0","prompt":"","image":"https://example.com/input.png","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}'
~~~
- Same notify / poll / link rules as above.
Scenario (advanced): Multi-image or first/last frame
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.