one-number-explains-video-gen
by @zoucdr
Create vertical data-stat hooks: hero number, ramping counter or graph, closing meaning line, timed English captions (WeryAI). Use for dataviz Shorts, macro...
clawhub install one-number-explains-video-gen📖 About This Skill
name: one-number-explains-video-gen version: 1.0.0 description: "Create vertical data-stat hooks: hero number, ramping counter or graph, closing meaning line, timed English captions (WeryAI). Use for dataviz Shorts, macro explainers, or ticker TikToks. Use when the user wants one metric to explain a trend. SEO: one number explains video; data hook video."
tags: [data, statistics, motion-graphics, hooks, subtitles, short-video, video-gen]
metadata: { "openclaw": { "emoji": "🔢", "primaryEnv": "WERYAI_API_KEY", "paid": true, "network_required": true, "requires": { "env": ["WERYAI_API_KEY"], "bins": ["node"], "node": ">=18" } } } user-invocable: true
One number explains everything (hero digit → ramp → meaning)
Template (assume duration 10 unless scaled): 0–3s *this number explains it all* (user names which metric conceptually—caption stays short); 3–8s number grows / graph ramps—motion must not stop (tickers, bars, globe wireframe); 8–10s one conclusion line (user-themed). English subtitles with exact windows. Default duration is 10 when unspecified.
Dependencies: WERYAI_API_KEY + Node.js 18+. scripts/video_gen.js + WERYAI_VIDEO_API.md. No other Cursor skills required.
Prerequisites
WERYAI_API_KEY must be set; Node 18+. Prefer public https image URLs; if the assembled scripts/video_gen.js supports local file paths, review/verify the script and explicitly consent before local read-and-upload to WeryAI.model.Security, secrets, and API hosts
WERYAI_API_KEY: Secret; never commit.video_gen.js.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.scripts/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)
Locked rhythm (example for duration 10):
Visuals: Giant numeral, neon graph, motion blur streaks, particles; refresh chart at least every ~1s.
Typography: Huge readable words + numeric; outline; lower third for sentences, center for hero digit moments if described.
Negatives (Kling): garbled digits, illegible captions, watermark.
Confirmation: Full prompt.
Niche checklist
Workflow
1. Text / image / multi-image (SEEDANCE_2_0, ≤3).
2. Collect which metric / metaphor.
3. Expand → validate → confirm → wait.
4. Video.
CLI reference
~~~sh node scripts/video_gen.js wait --json '{"model":"KLING_V3_0_PRO","prompt":"…","duration":10,"aspect_ratio":"9:16","generate_audio":true,"negative_prompt":"illegible text, garbled numbers, watermark"}' node scripts/video_gen.js wait --json '{"model":"SEEDANCE_2_0","prompt":"…","duration":10,"aspect_ratio":"9:16","resolution":"720p","generate_audio":true}' ~~~
Full reference: WERYAI_VIDEO_API.md.
Definition of done
Video or error; hook / ramp / meaning subtitle structure explicit in prompt with second ranges scaled to duration (or user-approved subdivision).
Boundaries (out of scope)
resources/WERYAI_VIDEO_API.md for CLI; no negative_prompt on Seedance.Example prompts
Metric: compound growth—counter ramp, meaning about timeMetric: attention minutes per day—punchy closerChart image URL → animate growth with same windowsInflation or CPI vibe—counter climbs, meaning line about purchasing powerModel and API constraints (frozen for this skill)
Text-to-video
| model_key | durations | aspect_ratios | resolutions | audio | negative_prompt | prompt limit | |-----------|-----------|---------------|-------------|-------|-----------------|--------------| | KLING_V3_0_PRO | 5, 10, 15 | 9:16, 1:1, 16:9 | *(omit)* | yes | yes | 2000 | | KLING_V3_0_STA | 5, 10, 15 | 9:16, 1:1, 16:9 | *(omit)* | yes | yes | 2000 | | SEEDANCE_2_0 | 5, 10, 15 | 9:16, 1:1, 16:9 | 480p, 720p | yes | no | 2000 |
Image-to-video
| model_key | durations | aspect_ratios | resolutions | audio | negative_prompt | image slots |
|-----------|-----------|---------------|-------------|-------|-----------------|-------------|
| KLING_V3_0_PRO | 5, 10, 15 | 9:16, 16:9, 1:1 | *(omit)* | yes | yes | single image |
| KLING_V3_0_STA | 5, 10, 15 | 9:16, 16:9, 1:1 | *(omit)* | yes | yes | single image |
| SEEDANCE_2_0 | 5, 10, 15 | 9:16, 1:1, 16:9 | 480p, 720p | yes | no | up to 3 images |
Recommended models
| Tier | model_key | Default duration |
|------|-----------|------------------|
| ⭐ Best | KLING_V3_0_PRO | 10 |
| 👍 Good | KLING_V3_0_STA | 10 |
| ⚡ Fast | SEEDANCE_2_0 | 10 (resolution: 720p) |
Default parameters
| Field | Value |
|-------|--------|
| aspect_ratio | 9:16 |
| duration | 10 |
| generate_audio | true |
| resolution | 720p (Seedance) |
| negative_prompt | Kling: illegible text, garbled numbers, watermark |
Text-to-video (primary)
User gives topic for the number → you craft three beats → confirm.
Image-to-video (optional)
Static chart → ramp animation + captions.
Tips
> Packaged as one-number-explains-video-gen.
⚙️ Configuration
WERYAI_API_KEY must be set; Node 18+. Prefer public https image URLs; if the assembled scripts/video_gen.js supports local file paths, review/verify the script and explicitly consent before local read-and-upload to WeryAI.model.📋 Tips & Best Practices
> Packaged as one-number-explains-video-gen.