Life hack & gadget demo video generation
A cat clears carpet hair in three seconds—before/after in one frame. That “pain → fix” beat is the core of hack content. Anthropomorphic stars (cat / bunny / bear) show real-looking tool use; the shorter the arc from problem to solved, the better. One line can be enough.
Dependencies: scripts/video_gen.js in this directory + WERYAI_API_KEY + Node.js 18+. No dependency on other Cursor skills.
Prerequisites
- -
WERYAI_API_KEY must be set in the environment before running video_gen.js. - Node.js 18+ is required. Image inputs must be public
https URLs (no local file paths). - Each successful
wait run consumes WeryAI credits; re-running creates new paid tasks.
Security, secrets, and API hosts
- -
WERYAI_API_KEY: Treat as a secret. Only configure it if you trust this skill's source; it is listed in OpenClaw metadata as requires.env / primaryEnv so installers know it is mandatory at runtime (never commit it inside the skill package). - API hosts (fixed in
video_gen.js): Video tasks use https://api.weryai.com; the models list uses https://api-growth-agent.weryai.com. Only WERYAI_API_KEY is read from the environment—do not rely on URL-related environment variables. - Higher assurance: Run generation in a short-lived or isolated environment (separate account or container), and review
scripts/video_gen.js (HTTPS submit + poll loop) before production use.
Prompt expansion (mandatory)
INLINECODE14 does not expand prompts. Before every wait --json, turn the user's short or vague brief into a full English production prompt.
When: The user gives only keywords, one line, or loose intent—or asks for richer video language. Exception: They paste a finished long prompt within the model's prompt_length_limit and ask you not to rewrite; still show the full text in the confirmation table.
Always add (video language): shot scale and angle; camera move or lock-off; light quality and motivation; subject action paced to duration; one clear payoff for this niche; state 9:16 vertical when this skill defaults to vertical.
Length: Obey prompt_length_limit for the chosen model_key when this doc lists it; trim filler adjectives before removing core action, lens, or light clauses.
Confirmation: The pre-submit table must include the full expanded prompt (never a one-line summary). Wait for confirm or edits.
Niche checklist
- - Demo clarity: hands + product + step order in one vertical read; bright practical light; quick legible motion.
- Hook: problem → hack motion → result in frame; platform-native pacing for short vertical.
- Background: clean desk, kitchen counter, or neutral—avoid clutter that fights the hack.
### Example prompts at the top of this file are short triggers only—always expand from the user's actual request.
Workflow
- 1. Confirm the user request matches this skill's scenario (text-to-video and/or image-to-video as documented).
- Collect the user's brief, optional image URL(s), tier (best / good / fast) or an explicit
model key. - Expand prompt (mandatory): Unless the user supplied a finished long prompt and explicitly asked not to rewrite it, expand the brief into a full English production
prompt using ## Prompt expansion (mandatory) below. Do not call the API with only the user's minimal words. - Check the expanded
prompt against the selected model's prompt_length_limit in the frozen tables in this document (when present); shorten if needed. - Verify
duration, aspect_ratio, resolution, generate_audio, negative_prompt, and other fields against the frozen tables and API notes in this SKILL.md. - Show the pre-submit parameter table including the full expanded
prompt; wait for confirm or edits. - After confirmation, run
node {baseDir}/scripts/video_gen.js wait --json '...' with the expanded prompt. - Parse stdout JSON and return video URLs; on failure, surface
errorCode / errorMessage and suggest parameter fixes.
CLI reference
CODEBLOCK0
Definition of done
Done when the user receives at least one playable video URL from the API response, or a clear failure explanation with next steps. All parameters used must fall within the selected model's allowed sets in this document. The submitted prompt must be the expanded production prompt unless the user explicitly supplied a finished long prompt and asked not to rewrite it.
Boundaries (out of scope)
- - Does not review platform compliance, copyright, or portrait rights; does not guarantee commercial usability of outputs.
- Does not provide non-WeryAI offline rendering, traditional edit timelines, or API field combinations not documented here.
- Does not hard-code absolute paths in the skill doc;
{baseDir} means the skill package root (same level as SKILL.md).
Example prompts
- - INLINECODE40
- INLINECODE41
- INLINECODE42
- INLINECODE43
Default parameters
| Field | Value |
|---|
| Model | KLINGV30_PRO |
| Aspect ratio |
9:16 (fixed vertical) |
| Duration | 5 seconds (
duration: 5—problem → fix inside five seconds) |
| Audio | Off |
| Visual style | Close or medium; natural home light; tool + problem object in frame; clear before/after; crisp motion |
API validity (default KLING_V3_0_PRO): Text-to-video duration only 5 / 10 / 15; aspect_ratio only 9:16, 1:1, 16:9. Image-to-video aspect_ratio only 9:16, 16:9, 1:1. No resolution field—do not send it. For fast tier with VEO: text-to-video VEO_3_1_FAST, image-to-video CHATBOT_VEO_3_1_FAST, with duration fixed at 8, aspect_ratio only 9:16 or 16:9. When switching model_key, follow the allowed sets in this section’s model/API constraints and the API validity note above; do not send resolution to models that do not support it.
Gadget fixes everyday pain
High-share formula: pain shot first → tool hero insert → clean decisive use → pristine after. One sentence on pain + tool; the prompt fills the arc.
The user should provide:
- - Character (cat / bunny / bear / custom)
- Pain scene (carpet fur / cable mess / hard-to-cut food / rusty screw / specific home pain)
- Tool (e.g. lint roller, mandoline, cable clips—be specific)
Generation flow:
- 1. Collect character, pain, tool; ask for look and motion if vague.
- Three-beat prompt: messy / hard → tool entrance (hero moment) → clean / easy result.
- Show defaults and wait:
You must show all parameters in a table and wait for explicit user confirmation before submitting:
> 📋 Ready to generate—please confirm:
>
> | Parameter | This run | Notes |
> |-----------|----------|-------|
> | model | KLING_V3_0_PRO | Best default; fast: text VEO_3_1_FAST, image CHATBOT_VEO_3_1_FAST (duration 8); good → KLING_V3_0_STA; or name a model |
> | aspect_ratio | 9:16 | Default KLING: 9:16, 1:1, 16:9 |
> | duration | 5s | KLING: 5 / 10 / 15; VEO fast: 8 only |
> | generate_audio | false | Whether to auto-generate audio |
> | prompt | Full expanded English prompt (entire text for this run) | Revise before confirm |
> | Loop seam | No | Reply “loop” for seamless loop |
>
> Reply “confirm” to start, or list what to change.
- 4. After confirmation (
{baseDir} is skill root):
CODEBLOCK1
Match table to JSON; add resolution only if supported. Parse stdout videos.
Parameter configuration:
| Field | Value |
|---|
| model | KLINGV30PRO |
| aspectratio |
9:16 |
| duration | 5 |
| generate_audio | false |
Expanded prompt: Compose at generation time per ## Prompt expansion (mandatory) from the user's actual brief—do not reuse fixed sample paragraphs.
Expected outcome: Problem → fix inside 5s; utility reads without captions; after visibly cleaner than before—strong seeding feel.
Twist: unexpected uses
Not the “normal” use—the “wait, it can do that?” angle. Often outperforms straight demos.
Name tool + surprise use; generate:
Parameters are shown before generation; wait for confirmation before submit.
Expanded prompt: Compose at generation time per ## Prompt expansion (mandatory) from the user's actual brief—do not reuse fixed sample paragraphs.
Prompt story structure
Problem (first ~3s): mess is visible and clearly defined, the problem is immediately legible, INLINECODE77
Tool entrance: the tool enters frame from above, hero product presented front and center, INLINECODE80
Fix beat: single action produces immediate visible result, one stroke cleans the entire surface, problem disappears in real time, INLINECODE84
Result frame: after is dramatically cleaner than before, same angle before-and-after comparison, INLINECODE87
Tip: The worst failure is not knowing what got fixed. Lead with 1–2 sentences on the problem state, then the tool—order matters. before-after in continuous shot reads more narrative than describing two isolated states.
生活技巧与工具演示视频生成
一只猫在三秒内清理地毯毛发——同一画面中展示前后对比。这种痛点→解决的节奏是技巧类内容的核心。拟人化角色(猫/兔子/熊)展示逼真的工具使用;从问题到解决的弧线越短越好。一句话就足够了。
依赖项:此目录中的 scripts/videogen.js + WERYAIAPI_KEY + Node.js 18+。不依赖其他 Cursor 技能。
前置条件
- - 运行 videogen.js 前,必须在环境中设置 WERYAIAPI_KEY。
- 需要 Node.js 18+。图片输入必须是公开的 https URL(不支持本地文件路径)。
- 每次成功的 wait 运行都会消耗 WeryAI 积分;重新运行会创建新的付费任务。
安全、密钥与 API 主机
- - WERYAIAPIKEY:视为机密信息。仅当您信任此技能来源时才进行配置;它在 OpenClaw 元数据中被列为 requires.env / primaryEnv,以便安装程序知道它在运行时是必需的(切勿将其提交到技能包内)。
- API 主机(在 videogen.js 中固定):视频任务使用 https://api.weryai.com;模型列表使用 https://api-growth-agent.weryai.com。仅从环境读取 WERYAIAPIKEY——不要依赖与 URL 相关的环境变量。
- 更高保障:在短期或隔离环境(独立账户或容器)中运行生成,并在生产使用前审查 scripts/videogen.js(HTTPS 提交 + 轮询循环)。
提示词扩展(必需)
video_gen.js 不会扩展提示词。在每次 wait --json 之前,将用户的简短或模糊需求转换为完整的英文制作 prompt。
何时需要: 用户仅提供关键词、一句话或模糊意图——或要求更丰富的视频语言。例外情况: 用户粘贴了模型 promptlengthlimit 范围内的完整长提示词,并要求您不要重写;但仍需在确认表中展示完整文本。
始终添加(视频语言): 镜头景别和角度;摄像机运动或固定;光线质量和动机;主体动作与 duration 同步;一个明确的亮点针对此细分领域;当此技能默认为竖屏时,注明 9:16 竖屏。
长度: 当本文档列出 promptlengthlimit 时,遵守所选 model_key 的限制;在删除核心动作、镜头或光线从句之前,先修剪填充性形容词。
确认: 提交前表格必须包含完整的扩展 prompt(绝不能是一行摘要)。等待确认或修改。
细分领域检查清单
- - 演示清晰度: 手部 + 产品 + 步骤顺序在竖屏中一目了然;明亮实用的光线;快速清晰的运动。
- 钩子: 问题 → 技巧动作 → 结果在同一画面中;符合短竖屏平台原生节奏。
- 背景: 干净的桌面、厨房台面或中性背景——避免杂乱干扰技巧展示。
### 示例提示词 位于本文档顶部,仅为简短触发词——始终从用户的实际需求进行扩展。
工作流程
- 1. 确认用户请求与此技能场景匹配(文本转视频和/或图片转视频,如文档所述)。
- 收集用户的需求、可选的图片 URL、等级(最佳 / 良好 / 快速)或明确的 model 键。
- 扩展提示词(必需): 除非用户提供了完整的提示词并明确要求不要重写,否则使用下方的 ## 提示词扩展(必需) 将需求扩展为完整的英文制作 prompt。不要仅用用户的最小化词语调用 API。
- 对照本文档中冻结表格中选定模型的 promptlengthlimit(如有)检查扩展后的 prompt;必要时缩短。
- 对照 SKILL.md 中的冻结表格和 API 说明验证 duration、aspectratio、resolution、generateaudio、negativeprompt 及其他字段。
- 显示包含完整扩展 prompt 的提交前参数表格;等待确认或修改。
- 确认后,使用扩展后的提示词运行 node {baseDir}/scripts/videogen.js wait --json ...。
- 解析 stdout JSON 并返回视频 URL;失败时显示 errorCode / errorMessage 并建议参数修复。
CLI 参考
sh
node {baseDir}/scripts/videogen.js wait --json {model:…,prompt:…,duration:5,aspectratio:9:16}
node {baseDir}/scripts/video_gen.js wait --json … --dry-run
node {baseDir}/scripts/video_gen.js status --task-id
完成定义
当用户从 API 响应中收到至少一个可播放的视频 URL,或收到明确的失败说明及后续步骤时,即视为完成。使用的所有参数必须在本文档中选定模型的允许范围内。提交的 prompt 必须是扩展后的制作提示词,除非用户明确提供了完整的提示词并要求不要重写。
边界(不涉及范围)
- - 不审查平台合规性、版权或肖像权;不保证输出的商业可用性。
- 不提供非 WeryAI 的离线渲染、传统编辑时间线或本文档未记录的 API 字段组合。
- 不在技能文档中硬编码绝对路径;{baseDir} 表示技能包根目录(与 SKILL.md 同级)。
示例提示词
- - 地毯上满是猫毛;粘毛滚筒一次清理干净;猫作为主角;5秒竖屏完整故事
- 使用这张油腻的炉灶图片:喷洒、擦拭、光亮动作
- 切菜器演示:前后对比应感觉夸张但可信
- 生活技巧工具演示 9:16,问题然后一步解决
默认参数
9:16(固定竖屏) |
| 时长 | 5 秒(duration: 5——问题→五秒内解决) |
| 音频 | 关闭 |
| 视觉风格 | 近景或中景;自然家居光线;工具+问题物体在画面中;清晰的前后对比;干脆利落的动作 |
API 有效性(默认 KLINGV30PRO): 文本转视频 duration 仅 5 / 10 / 15;aspectratio 仅 9:16, 1:1, 16:9。图片转视频 aspectratio 仅 9:16, 16:9, 1:1。无 resolution 字段——请勿发送。 对于使用 VEO 的 快速 等级:文本转视频 VEO31FAST,图片转视频 CHATBOTVEO31FAST,duration 固定为 8,aspectratio 仅 9:16 或 16:9。切换 modelkey 时,遵循本节模型/API 约束及上述 API 有效性说明中的允许集合;不要向不支持 resolution 的模型发送该字段。
工具解决日常痛点
高分享率公式:先展示痛点 → 工具主角登场 → 干净果断的使用 → 完美效果。一句话描述痛点+工具;提示词填充整个弧线。
用户应提供:
- - 角色(猫/兔子/熊/自定义)
- 痛点场景(地毯绒毛/线缆杂乱/难切食物/生锈螺丝/特定家居痛点)
- 工具(例如粘毛滚筒、切菜器、线缆夹——要具体)
生成流程:
- 1. 收集角色、痛点、工具;如果模糊则询问外观和动作。
- 三拍提示词:杂乱/困难 → 工具登场(主角时刻)→ 干净/轻松的结果。
- 显示默认值并等待:
您必须以表格形式展示所有参数,并在提交前等待用户明确确认:
> 📋 准备生成——请确认:
>
> | 参数 | 本次运行 | 备注 |
> |-----------|----------|-------|
> | model | KLINGV30PRO | 最佳默认值;快速:文本 VEO31FAST,图片 CHATBOTVEO31FAST(duration 8);良好 → KLING_V3