Nation resilience hook (map + flashes + risk twist)
Template (timings assume duration 10; rescale proportionally for 5 or 15): 0–2s contrarian hook (“almost can’t collapse”); 2–8s three ultra-short on-screen beats (e.g. resources / geography / defense) synced to fast B-roll; 8–10s twist line that reframes the biggest risk (open-ended ellipsis allowed). English subtitles are burned in with explicit second windows—derived from the user’s country or theme unless they supply a final script. Default duration is 10 when unspecified.
Dependencies: WERYAI_API_KEY + Node.js 18+. scripts/video_gen.js + WERYAI_VIDEO_API.md under resources/ (assembly before run). No other Cursor skills required.
Prerequisites
- -
WERYAI_API_KEY must be set before running video_gen.js. - Node.js 18+; prefer public
https image URLs. If the assembled scripts/video_gen.js accepts local paths, review/verify the script and explicitly consent before local read-and-upload to WeryAI. - INLINECODE10 requires a non-empty
model—pick a tier from Recommended models or an explicit model_key from the frozen tables. - Each
wait run consumes credits.
Security, secrets, and API hosts
- -
WERYAI_API_KEY: Secret; listed as requires.env / primaryEnv—never commit the value inside the package. - API hosts (fixed in
video_gen.js): Video https://api.weryai.com; models registry https://api-growth-agent.weryai.com. No URL overrides documented—only the key is read from the environment. - Local image handling disclosure: Prefer public
https image URLs. If the assembled scripts/video_gen.js supports local file paths, it may read a local image and upload it to WeryAI to obtain a public URL; require review / verification and explicit consent before using that path. - Higher assurance: Use a short-lived or isolated environment; review
video_gen.js before production use. Verify whether the runtime can read local image files and upload them to WeryAI, and obtain explicit consent before using that path.
Prompt expansion (mandatory)
INLINECODE23 does not expand prompts. Build a full English production prompt that locks this template’s timeline.
When: Short user input (country name, region, or metaphorical “nation” topic). Exception: Finished long prompt within prompt_length_limit + user asks not to rewrite—still show full text in the confirmation table.
Always add:
- - Duration: Default 10 when unspecified; 5 or 15 when the user asks and the model allows.
- Timeline scaling: If
duration is 5 or 15, proportionally rescale every subtitle window; keep the same beat order (hook → three staccato labels → twist). - Locked caption windows (must follow this rhythm at duration 10):
-
0.0–2.0s — Hook: e.g.
THIS NATION ALMOST CAN’T COLLAPSE (adapt to user topic).
-
2.0–4.0s,
4.0–6.0s,
6.0–8.0s —
Three single-focus lines (user-themed): e.g.
RESOURCES /
GEOGRAPHY /
DEFENSE (swap labels to match brief).
-
8.0–10.0s — Twist: e.g.
BUT THE REAL RISK IS… (user fills the implied threat: debt, trust, demographics, etc.—keep
≤6 words on screen if possible).
- - Visuals: Animated map, hard cuts, data glitch overlays, military silhouettes / strategic geography without depicting real identifiable leaders as targets of hate; sub-bass tension if
generate_audio is true. - Typography: Bold sans, white + black outline, lower third, short fades, no overlapping windows; English only on screen unless user requests otherwise.
- Motion: Continuous—no static map shots longer than ~1s.
- Negatives (Kling only): illegible text, watermark, garbled captions.
Confirmation: Pre-submit table includes the full expanded prompt.
Niche checklist
- - Hook must feel too bold to skip—not a textbook opener.
- Middle three lines are labels, not paragraphs—match one visual beat each.
- Twist is provocative but not a call to violence or hate.
### Example prompts are richness targets only.
Workflow
- 1. Confirm text-to-video and/or image-to-video (optional multi-image only with
SEEDANCE_2_0, ≤3 URLs). - Collect brief (which country / abstract “nation” idea), optional
image/images, tier or model_key. - Expand prompt per above—author English lines from the brief unless user supplied a script.
- Validate JSON fields against frozen tables.
- Show confirmation table + full expanded
prompt; wait for confirm. - INLINECODE35 .
- Return
[Video](url) links or errors—never wrap playable URLs in code fences.
CLI reference
~~~sh
node scripts/videogen.js wait --json '{"model":"KLINGV30PRO","prompt":"…","duration":10,"aspectratio":"9:16","generateaudio":true,"negative_prompt":"illegible text, garbled captions, watermark"}'
node scripts/videogen.js wait --json '{"model":"SEEDANCE20","prompt":"…","duration":10,"aspectratio":"9:16","resolution":"720p","generate_audio":true}'
~~~
Full reference: WERYAI_VIDEO_API.md.
Definition of done
Playable Video or clear failure. Submitted prompt includes explicit second-by-second caption windows for the full duration, matching this template’s beat order (scaled when duration is not 10), unless the user opted out with a finished prompt.
Boundaries (out of scope)
- - No guarantee of geopolitical accuracy—entertainment / opinion tone only; avoid incitement.
- No separate SRT workflow; captions live inside the model
prompt. - Do not use local image paths unless you have reviewed
scripts/video_gen.js and explicitly consent to local read-and-upload to WeryAI; otherwise prefer public https URLs. Do not put secret key values in files. - Do not link shared
../references/ capability docs; use resources/WERYAI_VIDEO_API.md. - Do not send unsupported API fields; no
negative_prompt on Seedance 2.0. - Multi-image only
SEEDANCE_2_0, max 3 URLs.
Example prompts
- - INLINECODE48
- INLINECODE49
- INLINECODE50
- INLINECODE51
Model and API constraints (frozen for this skill)
From node scripts/video_gen.js models --mode text_to_video and --mode image_to_video at authoring; re-run after upgrades.
Text-to-video
| modelkey | durations | aspectratios | resolutions | audio | negativeprompt | prompt limit |
|---|
| KLINGV30PRO | 5, 10, 15 | 9:16, 1:1, 16:9 | (omit resolution) | yes | yes | 2000 |
| KLINGV30_STA |
5, 10, 15 | 9:16, 1:1, 16:9 |
(omit resolution) | yes | yes | 2000 |
| SEEDANCE
20 | 5, 10, 15 | 9:16, 1:1, 16:9 | 480p, 720p | yes | no | 2000 |
Image-to-video
| modelkey | durations | aspectratios | resolutions | audio | negativeprompt | image slots |
|---|
| KLINGV30PRO | 5, 10, 15 | 9:16, 16:9, 1:1 | (omit) | yes | yes | single INLINECODE56 |
| KLINGV30_STA |
5, 10, 15 | 9:16, 16:9, 1:1 |
(omit) | yes | yes | single
image |
| SEEDANCE
20 | 5, 10, 15 | 9:16, 1:1, 16:9 | 480p, 720p | yes | no | up to
3 images |
Recommended models
| Tier | modelkey | Default duration |
|---|
| ⭐ Best | KLINGV30PRO | 10 |
| 👍 Good |
KLING
V30_STA | 10 |
| ⚡ Fast | SEEDANCE
20 | 10 (
resolution:
720p) |
Tier: unspecified → Best; “draft/quick” → Fast; “balanced” → Good.
Default parameters
| Field | Value |
|---|
| aspect_ratio | 9:16 |
| duration |
10 |
| generate_audio | true |
| resolution |
720p for Seedance only |
| negative_prompt | Kling:
illegible text, garbled captions, watermark, crowded subtitles |
Text-to-video (primary)
User gives country / theme + optional tone. Expand with locked windows → confirm table → wait.
Image-to-video (optional)
Same subtitle schedule; motion activates map or still.
Tips
- - If the user names a real country, keep visuals symbolic (maps, icons)—avoid hostile targeting of groups.
- Twist line works best as ellipsis to drive comments.
Packaged as nation-resilience-hook-video-gen.
技能名称: nation-resilience-hook-video-gen
详细描述:
国家韧性钩子(地图 + 闪切 + 风险反转)
模板(时间假设 duration 为 10;若为 5 或 15 则按比例缩放): 0–2秒 反直觉钩子(“几乎不可能崩溃”);2–8秒 三个 超短屏幕节拍(例如资源/地理/防御)与 快速B-roll 同步;8–10秒 反转 台词,重新定义最大风险(允许开放式省略号)。英文字幕硬嵌入,带有明确的第二时间窗口——除非用户提供最终脚本,否则根据用户的 国家或主题 生成。当未指定时,默认 duration 为 10。
依赖项: WERYAIAPIKEY + Node.js 18+。scripts/videogen.js + resources/ 下的 WERYAIVIDEOAPI.md(运行前组装)。无需其他Cursor技能。
前提条件
- - 运行 videogen.js 之前必须设置 WERYAIAPIKEY。
- Node.js 18+;优先使用公共 https 图片URL。如果组装的 scripts/videogen.js 接受本地路径,请审查/验证脚本并在本地读取并上传到WeryAI之前明确同意。
- videogen.js 需要 非空的 model——从 推荐模型 中选择一个层级,或从冻结表中指定明确的 modelkey。
- 每次 wait 运行消耗积分。
安全、密钥和API主机
- - WERYAIAPIKEY:机密;列为 requires.env / primaryEnv——切勿在包内提交该值。
- API主机(在 videogen.js 中固定):视频 https://api.weryai.com;模型注册表 https://api-growth-agent.weryai.com。未记录URL覆盖——仅从环境读取密钥。
- 本地图片处理披露:优先使用公共 https 图片URL。如果组装的 scripts/videogen.js 支持本地文件路径,它可能读取本地图片并上传到WeryAI以获取公共URL;在使用该路径前需要审查/验证并明确同意。
- 更高保障:使用短期或隔离环境;在生产使用前审查 video_gen.js。验证运行时是否能读取本地图片文件并上传到WeryAI,并在使用该路径前获得明确同意。
提示词扩展(强制)
video_gen.js 不 扩展提示词。构建一个 完整的英文生产 prompt,锁定 此模板的时间线。
何时: 用户输入简短(国家名称、地区或隐喻性的“国家”主题)。例外: 用户提供完整的长提示词且在 promptlengthlimit 内,并要求不重写——仍需在确认表中显示 完整 文本。
始终添加:
- - 时长: 未指定时默认 10;当用户要求且模型允许时为 5 或 15。
- 时间线缩放: 如果 duration 为 5 或 15,按比例缩放 每个字幕窗口;保持 相同的节拍顺序(钩子 → 三个断奏标签 → 反转)。
- 锁定字幕窗口(时长10时必须遵循此节奏):
-
0.0–2.0秒 — 钩子:例如
这个国家几乎不可能崩溃(根据用户主题调整)。
-
2.0–4.0秒、
4.0–6.0秒、
6.0–8.0秒 —
三个 单一焦点台词(用户主题相关):例如
资源 /
地理 /
防御(根据简报替换标签)。
-
8.0–10.0秒 — 反转:例如
但真正的风险是……(用户填充隐含威胁:债务、信任、人口等——屏幕上尽量保持
≤6个词)。
- - 视觉: 动画 地图、硬切、数据故障 叠加、军事剪影 / 战略地理 不 描绘真实可识别的领导人作为仇恨目标;如果 generate_audio 为真,则使用 次低音 紧张感。
- 排版: 粗体无衬线字体,白色加黑色轮廓,下三分之一位置,短淡入淡出,无重叠 窗口;除非用户另有要求,屏幕上 仅英文。
- 运动: 连续——无 超过约1秒的静态地图镜头。
- 负面提示(仅Kling): 难以辨认的文字、水印、混乱的字幕。
确认: 提交前表格包含 完整扩展的 prompt。
细分检查清单
- - 钩子必须感觉 过于大胆以至于无法跳过——不是教科书式的开场白。
- 中间三行是 标签,而非段落——每个匹配 一个视觉节拍。
- 反转是 挑衅性的但非 暴力或仇恨的号召。
### 示例提示词 仅为丰富性目标。
工作流程
- 1. 确认 文本转视频 和/或 图片转视频(仅 SEEDANCE20 支持可选的 多图片,最多3个URL)。
- 收集 简报(哪个国家/抽象的“国家”概念),可选的 image/images、层级或 modelkey。
- 根据上述规则 扩展提示词——除非用户提供脚本,否则根据简报 创作英文台词。
- 根据冻结表验证JSON字段。
- 显示确认表 + 完整 扩展的 prompt;等待 确认。
- node scripts/videogen.js wait --json …。
- 返回 Video 链接或错误——切勿 将可播放URL包裹在代码块中。
CLI参考
~~~sh
node scripts/videogen.js wait --json {model:KLINGV30PRO,prompt:…,duration:10,aspectratio:9:16,generateaudio:true,negative_prompt:illegible text, garbled captions, watermark}
node scripts/videogen.js wait --json {model:SEEDANCE20,prompt:…,duration:10,aspectratio:9:16,resolution:720p,generate_audio:true}
~~~
完整参考: WERYAIVIDEO_API.md。
完成定义
可播放的 Video 或明确的失败。提交的 prompt 包含 明确的逐秒字幕窗口,覆盖整个 duration,匹配此模板的 节拍顺序(当 duration 不为10时缩放),除非用户使用完整提示词选择退出。
边界(范围外)
- - 不保证地缘政治准确性——仅限 娱乐/观点 基调;避免煽动。
- 无单独的SRT工作流程;字幕位于模型 prompt 内部。
- 除非您已审查 scripts/videogen.js 并明确同意本地读取并上传到WeryAI,否则不要使用本地图片路径;否则优先使用公共 https URL。不要将密钥值放入文件中。
- 不要链接共享的 ../references/ 能力文档;使用 resources/WERYAIVIDEOAPI.md。
- 不要发送不支持的API字段;Seedance 2.0 上无 negativeprompt。
- 多图片 仅 SEEDANCE20,最多 3 个URL。
示例提示词
- - 日本岛屿供应链——钩子:崩溃不可能,三个节拍,反转:人口老龄化
- 抽象的“数字国家”隐喻,相同节拍地图,反转:注意力碎片化
- 图片:风格化地图海报URL → 使用相同字幕时间表动画化
- 岛国能源进口——三个节拍,然后反转电网脆弱性
模型和API约束(此技能已冻结)
编写时来自 node scripts/videogen.js models --mode texttovideo 和 --mode imageto_video;升级后重新运行。
文本转视频
| modelkey | 时长 | 宽高比 | 分辨率 | 音频 | 负面提示 | 提示词限制 |
|---|
| KLINGV30PRO | 5, 10, 15 | 9:16, 1:1, 16:9 |