Glass cutting & shatter videos
Built for satisfying-content creators. Whether it’s the perfection of a straight cut, the rush of tempered glass exploding, or stained glass glowing in the light—you can go from one line of text or one image to a ready-to-post 9:16 clip.
Dependencies: scripts/video_gen.js in this folder + WERYAI_API_KEY in the environment + Node.js 18+. No other Cursor skills required.
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
- - Glass grammar: score line, crack propagation, snap, shards, tempered burst, or stained-glass glow—pick one clear beat.
- Macro & light: caustics, speculars, transmitted color; ASMR glass tone if audio on.
- Safety tone: stylized satisfying break, not real injury context.
### Example prompts at the top of this file are short triggers only—always expand from the user's actual request.
Workflow
- 1. Confirm the request matches this skill (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)
- - We do not review platform compliance, copyright, or likeness; we do not warrant commercial usability of outputs.
- We do not provide offline rendering, traditional NLE projects, or API field combinations not documented here.
- Do not hard-code absolute paths in this doc;
{baseDir} is this skill root (next to SKILL.md).
Example prompts
- - INLINECODE40
- INLINECODE41
- INLINECODE42
- INLINECODE43
Default parameters
| Field | Value |
|---|
| Model | KLINGV30_PRO |
| Aspect |
9:16 (fixed, vertical short video) |
| Duration | 5 s |
| Resolution | — (
KLING_V3_0_PRO has no
resolution field—do not send) |
| Audio | On (auto glass cut / shatter sounds) |
| Look | Extreme macro, cold white light, slow motion, minimal background, translucency first |
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. Fast VEO tier: text VEO_3_1_FAST, image CHATBOT_VEO_3_1_FAST, duration fixed 8, aspect_ratio only 9:16 or 16:9. For other model_key values, follow the allowed sets in this document; do not send unsupported fields.
Text-to-video: cutting glass
The user describes glass type and how it breaks; you generate the clip. Good for batch ideation and hook testing.
User should provide:
- - Glass type (clear / stained / tempered / frosted / laminated)
- Cut or break style (straight score-and-snap / irregular cut / slow shatter / full burst / crack spread)
- Optional: angle or detail (“shards fly”, “side light on refraction”)
Flow:
- 1. Collect glass type and break style; ask if missing.
- Build an English prompt emphasizing cut marks, refraction, and break motion.
- After confirmation, run (
{baseDir} = this skill root):
CODEBLOCK1
Match JSON to the confirmed table; add resolution only if the model supports it. Parse videos from stdout.
- 4. Return URLs and what to tweak next.
Parameters:
| Field | Value |
|---|
| model | KLINGV30PRO |
| aspectratio |
9:16 |
| duration | 5 |
| generate_audio | true |
Sample prompt (stained glass straight cut):
Extreme close-up macro shot of vibrant stained glass being scored and snapped cleanly along a straight line, cold white backlighting makes colors saturate brilliantly, the crack propagates with satisfying precision, glass edge perfectly smooth, slow motion 240fps, dust motes caught in light beam, ASMR cutting sound, minimal white background, shallow depth of field
Sample prompt (tempered shatter):
Ultra close-up of tempered glass shattering into thousands of tiny cubed fragments in extreme slow motion, cold studio lighting catches every spinning shard, crystalline transparency, satisfying explosive burst contained in frame, glass pebbles cascade like water, cinematic depth of field, ASMR crunch and tinkle
Expected result: 5 s vertical clip with coherent cut/shatter motion, readable glass texture and light, synced break sounds, high completion rate.
Image-to-video: glass motion
User supplies a glass image URL; you add crack spread or cut motion on top of that look.
User should provide:
- - Image URL (public
https only) - Desired motion (crack from center / blade scratch clean line / slow full break / edge chip)
Flow:
- 1. Validate
https:// URL (not a local path). - Build motion prompt anchored to the image’s glass material.
- After confirmation:
CODEBLOCK2
- 4. Return URLs.
Parameters:
| Field | Value |
|---|
| model | KLINGV30PRO |
| aspectratio |
9:16 |
| duration | 5 |
| generate_audio | true |
| image | User’s image URL |
Sample prompt (crack spread):
The glass surface in the image begins to crack, a single hairline fracture propagates outward in extreme slow motion, branching into a web of perfect cracks, cold white light refracts through each fracture line creating rainbow caustics, satisfying tension-release moment, ASMR glass stress sound
Expected result: Motion matches the uploaded glass; strong refraction; consistent with the source image.
Prompt building blocks
Brittle snap: satisfying snap, perfect clean break, zero resistance, INLINECODE64
Clean edge: laser-precise cut line, mirror-smooth edge, factory perfect, INLINECODE68
Clarity: crystal clear transparency, light refracts into spectrum, backlit caustics, INLINECODE72
Safe tension: controlled shatter, contained explosion, safe distance macro, INLINECODE76
Slow-mo: 240fps extreme slow motion, time dilation effect, INLINECODE79
Note: Image URLs must be publicly reachable over HTTPS or the API will fail. Upload to a host first if needed.
玻璃切割与碎裂视频
专为满足感内容创作者打造。无论是完美直线切割、钢化玻璃爆裂的冲击感,还是彩色玻璃在光线中的闪耀——你都可以从一行文字或一张图片出发,生成一段可直接发布的 9:16 竖版视频。
依赖项: 本文件夹中的 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 竖屏。
长度: 当本文档列出时,遵守所选 modelkey 的 promptlength_limit;在删除核心动作、镜头或光线条款之前,先修剪填充性形容词。
确认: 提交前的表格必须包含完整的扩展 prompt(绝不能是一行摘要)。等待用户确认或修改。
细分领域检查清单
- - 玻璃语法: 刻线、裂纹扩展、断裂、碎片、钢化爆裂或彩色玻璃发光——选择一个清晰的节奏点。
- 微距与光线: 焦散、镜面反射、透射色彩;如果开启音频,则需 ASMR 玻璃音效。
- 安全基调: 风格化的满足感破裂,而非真实的伤害场景。
### 示例提示词 位于本文件顶部,仅为简短触发词——始终从用户的实际请求进行扩展。
工作流程
- 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 必须是扩展后的制作提示词,除非用户明确提供了完整的提示词并要求不重写。
边界(不在范围内)
- - 我们不审查平台合规性、版权或肖像权;我们不保证输出的商业可用性。
- 我们不提供离线渲染、传统 NLE 项目或本文档未记录的 API 字段组合。
- 请勿在本文档中硬编码绝对路径;{baseDir} 为此技能根目录(与 SKILL.md 同级)。
示例提示词
- - 竖版视频:切割厚玻璃,满足感音效,裂纹从一点扩散
- 此图片为窗玻璃——动画显示刀片划痕和反射中生长的裂纹
- 满足感玻璃 ASMR 9:16,干净切割,半透明外观,不血腥
- 玻璃切割 ASMR 9:16,缓慢裂纹扩展,干净切割展示
默认参数
9:16(固定,竖版短视频) |
| 时长 | 5 秒 |
| 分辨率 | —(KLING
V30_PRO 无 resolution 字段——请勿发送) |
| 音频 | 开启(自动玻璃切割/碎裂音效) |
| 视觉效果 | 极致微距、冷白光、慢动作、极简背景、优先半透明 |
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 值,请遵循本文档中的允许集合;请勿发送不支持的字段。
文本转视频:切割玻璃
用户描述玻璃类型及其破裂方式;你生成视频片段。适合批量创意和钩子测试。
用户应提供:
- - 玻璃类型(透明 / 彩色 / 钢化 / 磨砂 / 夹层)
- 切割或破裂风格(直线刻划折断 / 不规则切割 / 缓慢碎裂 / 完全爆裂 / 裂纹扩展)
- 可选:角度或细节(碎片飞溅、侧光折射)
流程:
- 1. 收集玻璃类型和破裂风格;如缺失则询问。
- 构建强调切割痕迹、折射和破裂动作的英文提示词。
- 确认后运行({baseDir} = 此技能根目录):
sh
node {baseDir}/scripts/videogen.js wait --json {model:KLINGV30PRO,prompt:(完整英文提示词),aspectratio:9:16,duration:5,generateaudio:true}
使 JSON 与确认表匹配;仅当模型支持时添加 resolution。从 stdout 解析 videos。
- 4. 返回 URL 及下一步调整建议。
参数:
KLING
V30