Install
openclaw skills install life-hack-videoGenerate vertical life-hack / gadget demo shorts (WeryAI): problem—tool—one-move payoff; stains, prep, storage, quick fixes. Use when you need a life hack demo reel, gadget seeding clip, or the user asks for a cat demoing a lint roller or 3-second grease removal. SEO: life hack video; life hack gadget demo video generation.
openclaw skills install life-hack-videoA 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.
WERYAI_API_KEY must be set in the environment before running video_gen.js.https URLs (no local file paths).wait run consumes WeryAI credits; re-running creates new paid tasks.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).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.scripts/video_gen.js (HTTPS submit + poll loop) before production use.video_gen.js 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.
### Example prompts at the top of this file are short triggers only—always expand from the user's actual request.
model key.prompt using ## Prompt expansion (mandatory) below. Do not call the API with only the user's minimal words.prompt against the selected model's prompt_length_limit in the frozen tables in this document (when present); shorten if needed.duration, aspect_ratio, resolution, generate_audio, negative_prompt, and other fields against the frozen tables and API notes in this SKILL.md.prompt; wait for confirm or edits.node {baseDir}/scripts/video_gen.js wait --json '...' with the expanded prompt.errorCode / errorMessage and suggest parameter fixes.node {baseDir}/scripts/video_gen.js wait --json '{"model":"…","prompt":"…","duration":5,"aspect_ratio":"9:16"}'
node {baseDir}/scripts/video_gen.js wait --json '…' --dry-run
node {baseDir}/scripts/video_gen.js status --task-id <id>
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.
{baseDir} means the skill package root (same level as SKILL.md).Carpet covered in cat hair; lint roller one pass clean; cat as hero; full story in 5s verticalUse this greasy stove image: spray, wipe, shine motionMandoline demo: before/after should feel exaggerated but believableLife hack gadget demo 9:16, problem then one-move solution| Field | Value |
|---|---|
| Model | KLING_V3_0_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-videodurationonly 5 / 10 / 15;aspect_ratioonly 9:16, 1:1, 16:9. Image-to-videoaspect_ratioonly 9:16, 16:9, 1:1. Noresolutionfield—do not send it. For fast tier with VEO: text-to-videoVEO_3_1_FAST, image-to-videoCHATBOT_VEO_3_1_FAST, withdurationfixed at 8,aspect_ratioonly 9:16 or 16:9. When switchingmodel_key, follow the allowed sets in this section’s model/API constraints and the API validity note above; do not sendresolutionto models that do not support it.
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:
Generation flow:
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 modelKLING_V3_0_PROBest default; fast: text VEO_3_1_FAST, imageCHATBOT_VEO_3_1_FAST(duration8); good →KLING_V3_0_STA; or name a modelaspect_ratio9:16Default KLING: 9:16, 1:1, 16:9 duration5sKLING: 5 / 10 / 15; VEO fast: 8 only generate_audiofalseWhether to auto-generate audio promptFull expanded English prompt (entire text for this run) Revise before confirm Loop seamNo Reply “loop” for seamless loop Reply “confirm” to start, or list what to change.
After confirmation ({baseDir} is skill root):
node {baseDir}/scripts/video_gen.js wait --json '{"model":"(model from confirmation table)","prompt":"(full English prompt)","aspect_ratio":"9:16","duration":5,"generate_audio":true}'
Match table to JSON; add resolution only if supported. Parse stdout videos.
Parameter configuration:
| Field | Value |
|---|---|
| model | KLING_V3_0_PRO |
| aspect_ratio | 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.
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.
Problem (first ~3s): mess is visible and clearly defined, the problem is immediately legible, close-up emphasizes the scale of the issue
Tool entrance: the tool enters frame from above, hero product presented front and center, satisfying unboxing or pick-up moment
Fix beat: single action produces immediate visible result, one stroke cleans the entire surface, problem disappears in real time, satisfying transformation in one motion
Result frame: after is dramatically cleaner than before, same angle before-and-after comparison, solution is obvious without words
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 shotreads more narrative than describing two isolated states.