Hydraulic press crush video generation
Built for destruction-aesthetic and satisfying creators. Lipstick smear bursts, glass marbles shattering, gadget shells tearing—one line of copy or one image → 9:16 vertical. Core hooks: material contrast, unexpected internals, tension between machine force and fragile objects.
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
- - Crush read: compression progress, material yield (bend, burst, powder), one peak squeeze; object identity clear.
- Camera: locked macro or slow push; industrial plate framing; stylized destruction only.
- Audio: metal groan, pop, hiss if
generate_audio true.
### 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
- - INLINECODE41
- INLINECODE42
- INLINECODE43
- INLINECODE44
Default parameters
| Field | Value |
|---|
| Model | KLINGV30_PRO |
| Aspect ratio |
9:16 (fixed vertical) |
| Duration | Short (
duration: 5—minimum for KLING
V30_PRO) |
| Audio | On (press + break sounds are core satisfaction) |
| Visual style | Extreme macro, cool white light, slow motion, minimal background—deformation and detail 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 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.
Text-to-video crush
User names the object and how it should fail—good for batch ideas, testing hooks, or quick look dev.
The user should provide:
- - Object (lipstick, glass marble, figure, phone case, macaron, etc.)
- Optional failure mode (slow squash / instant burst / contents jet / deform-then-crack)
- Optional visual emphasis (internals, colored splash, etc.)
Generation flow:
- 1. Collect object and failure mode; ask if missing.
- Prompt: press descent, deformation detail, material contrast, slow motion.
- After user confirmation, run (
{baseDir} is skill root):
CODEBLOCK1
Replace JSON fields with confirmed values; add resolution only if the model supports it. Parse stdout videos.
- 4. Return URLs and note what to tweak next (hook angle, material, speed).
Parameter configuration:
| Field | Value |
|---|
| model | KLINGV30PRO |
| aspectratio |
9:16 |
| duration | 5 |
| generate_audio | true |
Expanded prompt: Compose at generation time per ## Prompt expansion (mandatory) from the user's actual brief—do not reuse fixed sample paragraphs.
Expected outcome: Ram enters from top, object deforms/bursts in macro, generated mechanical + material audio, strong tension and satisfaction.
Image-to-video crush
Public HTTPS image of an object → that object crushed slowly or bursting. Reuse assets or brand-specific product shots.
The user should provide:
- - Image URL (public
https, not a local path) - Desired failure (slow flatten / burst / crack spread / contents squeeze-out)
Generation flow:
- 1. Confirm URL starts with
https:// (not local). - Infer material; tailor deformation/break language.
- After confirmation:
CODEBLOCK2
Match the confirmation table. Parse stdout for URLs.
- 4. Return URLs.
Parameter configuration:
| Field | Value |
|---|
| model | KLINGV30PRO |
| aspectratio |
9:16 |
| duration | 5 |
| generate_audio | true |
| image | User-supplied image URL |
Expanded prompt: Compose at generation time per ## Prompt expansion (mandatory) from the user's actual brief—do not reuse fixed sample paragraphs.
Expected outcome: Motion centered on the uploaded object, consistent look, readable material detail.
Prompt building tips
Pressure: descends with immense force, hydraulic ram presses down, irresistible mechanical pressure, INLINECODE67
Materials:
- - Brittle (glass/ceramic):
shatters into fragments, hairline fractures propagate, INLINECODE70 - Soft (lipstick/food):
deforms and smears, internal contents squeeze out, INLINECODE73 - Hard shells (electronics/toys):
casing buckles and splits, internal structure exposed, INLINECODE76
Slow motion: 240fps extreme slow motion, time dilation effect, INLINECODE79
Contrast hooks: unexpectedly satisfying internal structure, reveals hidden contents, INLINECODE82
Note: Image URLs must be publicly reachable over HTTPS or the API errors. Upload to an image 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(绝不能是一行摘要)。等待确认或修改。
细分领域检查清单
- - 压碎解读: 压缩过程、材料屈服(弯曲、爆裂、粉末化)、一次峰值挤压;物体身份清晰。
- 相机: 锁定微距或慢推;工业平台构图;仅限风格化破坏。
- 音频: 如果 generate_audio 为 true,则包含金属呻吟声、爆裂声、嘶嘶声。
### 示例提示词 位于此文件顶部,仅为简短触发器——始终根据用户的实际请求进行扩展。
工作流程
- 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 同级)。
示例提示词
- - 9:16竖屏液压机压碎玻璃弹珠:慢动作和爆裂特写
- 使用此图片:口红被压扁并产生色彩爆裂,竖屏
- 破坏美学短片:压碎电子外壳,强调材料撕裂和内部对比
- 生成一个竖屏液压机压碎片段,冷光照明和微距变形
默认参数
9:16(固定竖屏) |
| 时长 | 短(duration: 5——KLING
V30_PRO的最小值) |
| 音频 | 开启(按压和破裂声是核心满足感) |
| 视觉风格 | 极致微距、冷白光、慢动作、极简背景——变形和细节优先 |
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. 收集物体和破坏模式;如缺失则询问。
- 提示词:压机下降、变形细节、材质对比、慢动作。
- 用户确认后,运行({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并说明下次可调整的内容(钩子角度、材质、速度)。
参数配置:
| 字段 | 值 |
|---|
| model | KLINGV30PRO |
| aspectratio |
9:16