@renoise/video-maker 0.1.3 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +21 -3
- package/README.md +25 -30
- package/hooks/check-api-key.sh +28 -0
- package/hooks/hooks.json +12 -0
- package/hooks/session-start.sh +30 -7
- package/openclaw.plugin.json +5 -3
- package/package.json +4 -9
- package/skills/director/SKILL.md +4 -7
- package/skills/file-upload/SKILL.md +79 -0
- package/skills/file-upload/scripts/upload.mjs +103 -0
- package/skills/gemini-gen/SKILL.md +236 -0
- package/skills/gemini-gen/scripts/gemini.mjs +220 -0
- package/skills/renoise-gen/SKILL.md +3 -1
- package/skills/renoise-gen/references/api-endpoints.md +37 -33
- package/skills/short-film-editor/SKILL.md +23 -24
- package/skills/short-film-editor/references/continuity-guide.md +2 -2
- package/skills/tiktok-content-maker/SKILL.md +78 -81
- package/skills/tiktok-content-maker/examples/dress-demo.md +42 -42
- package/skills/tiktok-content-maker/references/ecom-prompt-guide.md +157 -152
- package/skills/video-download/SKILL.md +1 -1
- package/lib/gemini.ts +0 -49
- package/skills/short-film-editor/scripts/generate-storyboard-html.ts +0 -714
- package/skills/tiktok-content-maker/scripts/analyze-images.ts +0 -122
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: short-film-editor
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Short film editor: music-first workflow, splits story into beat-synced segments (5-15s each),
|
|
5
|
+
generates HTML storyboard preview for confirmation, maintains character/style consistency,
|
|
6
|
+
batch generates and outputs assembly guide.
|
|
7
|
+
Use when user says "short film", "multi-clip", "story video", "multi-segment video",
|
|
8
|
+
"1-minute video".
|
|
7
9
|
allowed-tools: Bash, Read
|
|
8
10
|
metadata:
|
|
9
11
|
author: renoise
|
|
10
12
|
version: 0.1.0
|
|
11
13
|
category: video-production
|
|
12
|
-
tags: [short-film, multi-clip, narrative, story
|
|
14
|
+
tags: [short-film, multi-clip, narrative, story]
|
|
13
15
|
---
|
|
14
16
|
|
|
15
17
|
# Short Film Editor
|
|
@@ -86,7 +88,7 @@ You are a short film editor specializing in multi-clip AI video production. You
|
|
|
86
88
|
|
|
87
89
|
**If user has or wants music**, follow Steps 1-3 below.
|
|
88
90
|
|
|
89
|
-
**If user skips music** (e.g. "
|
|
91
|
+
**If user skips music** (e.g. "no music for now"), skip to **Step 4 — Manual Rhythm**:
|
|
90
92
|
- Define segments based on narrative pacing, not equal splits.
|
|
91
93
|
- Vary durations: establishing shots 7-10s, action bursts 5-6s, aftermath/resolution 5-7s.
|
|
92
94
|
- Aim for 4-7 segments depending on total duration.
|
|
@@ -149,7 +151,7 @@ Output JSON:
|
|
|
149
151
|
| Climax / collision | 6-8s | Intense, dense |
|
|
150
152
|
| Aftermath / resolution | 5-7s | Slow, lingering |
|
|
151
153
|
|
|
152
|
-
**In-clip cutting
|
|
154
|
+
**In-clip cutting**:
|
|
153
155
|
Real films average 2-4s per camera angle (action films: 1-2s). Seedance minimum is 5s per clip, so use **time-annotated camera changes within each clip** to simulate fast cutting:
|
|
154
156
|
|
|
155
157
|
```
|
|
@@ -247,13 +249,14 @@ Store each prompt in the shot's `prompt` field in `project.json`.
|
|
|
247
249
|
|
|
248
250
|
### Step 2 — Generate Reference Images
|
|
249
251
|
|
|
250
|
-
Three image sources (ask user preference, or default to
|
|
252
|
+
Three image sources (ask user preference, or default to Renoise):
|
|
251
253
|
|
|
252
|
-
**Option A —
|
|
254
|
+
**Option A — Renoise (default)**:
|
|
255
|
+
Use `renoise-gen` with `nano-banana-2` model to generate a reference image. Prompt should describe the shot scene + character appearance + key action + lighting (NO camera movement). Save the result to `${PROJECT_DIR}/storyboard/${shot_id}.png`.
|
|
253
256
|
```bash
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
"
|
|
257
|
+
node ${CLAUDE_PLUGIN_ROOT}/skills/renoise-gen/renoise-cli.mjs task generate \
|
|
258
|
+
--model nano-banana-2 --resolution 2k --ratio 16:9 \
|
|
259
|
+
--prompt "<shot scene + character appearance + key action + lighting>"
|
|
257
260
|
```
|
|
258
261
|
|
|
259
262
|
**Option B — Midjourney (higher quality, recommended for stylized projects)**:
|
|
@@ -271,12 +274,14 @@ Submit all shots in parallel via `/v1/tob/diffusion`, poll for completion, downl
|
|
|
271
274
|
**Option C — User-provided**:
|
|
272
275
|
User manually places reference images in `${PROJECT_DIR}/storyboard/S1.png`, `S2.png`, etc.
|
|
273
276
|
|
|
274
|
-
**Option D —
|
|
275
|
-
Generate ALL shots in a single grid image so characters and style are naturally consistent across panels, then split into individual reference images.
|
|
277
|
+
**Option D — Renoise Grid Storyboard (recommended for best consistency)**:
|
|
278
|
+
Generate ALL shots in a single grid image via `renoise-gen` `nano-banana-2` so characters and style are naturally consistent across panels, then split into individual reference images.
|
|
276
279
|
|
|
277
|
-
1. Generate a single N-panel grid
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
+
1. Generate a single N-panel grid:
|
|
281
|
+
```bash
|
|
282
|
+
node ${CLAUDE_PLUGIN_ROOT}/skills/renoise-gen/renoise-cli.mjs task generate \
|
|
283
|
+
--model nano-banana-2 --resolution 2k --ratio 16:9 \
|
|
284
|
+
--prompt "Generate a single N-panel [manga/cinematic] storyboard grid image.
|
|
280
285
|
Layout: 2 rows x 4 columns grid with thin white borders.
|
|
281
286
|
The SAME two characters must appear consistently across all panels:
|
|
282
287
|
Character A: [verbatim from Character Bible]
|
|
@@ -312,18 +317,12 @@ Reference image prompts should include:
|
|
|
312
317
|
|
|
313
318
|
### Step 3 — Generate HTML Storyboard Preview
|
|
314
319
|
|
|
315
|
-
|
|
316
|
-
npx tsx ${CLAUDE_SKILL_DIR}/scripts/generate-storyboard-html.ts \
|
|
317
|
-
--project-file "${PROJECT_DIR}/project.json" \
|
|
318
|
-
--output "${PROJECT_DIR}/storyboard.html"
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
This generates a single self-contained HTML file with:
|
|
320
|
+
Generate a single self-contained HTML file from `${PROJECT_DIR}/project.json` and save it to `${PROJECT_DIR}/storyboard.html`. The HTML should include:
|
|
322
321
|
- **Header**: Project title, total duration, clip count, BPM, character summary, style summary
|
|
323
322
|
- **Music timeline**: Visual bar showing sections and cut points
|
|
324
323
|
- **Shot cards**: One card per shot with reference image, scene/action, dialogue/beats, continuity, and collapsible Seedance prompt
|
|
325
324
|
- **Reference images**: Base64-embedded inline (single-file, shareable). Use `--skip-images` to skip Gemini generation and read existing images from `storyboard/` directory (useful when using Midjourney or user-provided images).
|
|
326
|
-
- **UI language**:
|
|
325
|
+
- **UI language**: English. White theme, bold confident design.
|
|
327
326
|
- **Responsive**: Viewable on phone
|
|
328
327
|
|
|
329
328
|
Open for preview:
|
|
@@ -129,7 +129,7 @@ AI-generated clips will achieve ~80% visual consistency when following these tec
|
|
|
129
129
|
- Subtle speed adjustments for timing
|
|
130
130
|
- Audio continuity (shared BGM) creates perceived visual continuity
|
|
131
131
|
|
|
132
|
-
## Grid Storyboard Method
|
|
132
|
+
## Grid Storyboard Method
|
|
133
133
|
|
|
134
134
|
### Why One Image > Many Images
|
|
135
135
|
|
|
@@ -147,7 +147,7 @@ When generating reference images for each shot independently (even with the same
|
|
|
147
147
|
### Workflow
|
|
148
148
|
|
|
149
149
|
1. Write a single prompt describing all panels with verbatim character descriptions
|
|
150
|
-
2. Generate one grid image via
|
|
150
|
+
2. Generate one grid image via `renoise-gen` (`nano-banana-2`)
|
|
151
151
|
3. Split into individual panels: `bash split-grid.sh grid.png storyboard/ 2 4`
|
|
152
152
|
4. Upload each panel as material for Image-to-Video generation
|
|
153
153
|
5. Each Seedance clip now has a visual anchor from the same source
|
|
@@ -3,8 +3,8 @@ name: tiktok-content-maker
|
|
|
3
3
|
description: >
|
|
4
4
|
TikTok e-commerce short video script generator. Analyzes product photos,
|
|
5
5
|
generates 15s video scripts with video prompts and English dialogue.
|
|
6
|
-
Use when user says "TikTok product video", "ecommerce video",
|
|
7
|
-
"
|
|
6
|
+
Use when user says "TikTok product video", "ecommerce video",
|
|
7
|
+
"product video", "sales video", "shoot product". Do NOT use for non-ecommerce videos or
|
|
8
8
|
general creative direction (use director instead).
|
|
9
9
|
allowed-tools: Bash, Read
|
|
10
10
|
metadata:
|
|
@@ -14,130 +14,127 @@ metadata:
|
|
|
14
14
|
tags: [product, ecommerce, tiktok]
|
|
15
15
|
---
|
|
16
16
|
|
|
17
|
-
# Content Maker —
|
|
17
|
+
# Content Maker — E-commerce Short Video Script + Generation
|
|
18
18
|
|
|
19
19
|
## Overview
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
End-to-end e-commerce short video tool: user provides product images (+ optional model images) → analyze product info → generate 15-second TikTok script (video prompt with embedded English dialogue) → submit video generation task.
|
|
22
22
|
|
|
23
23
|
## Workflow
|
|
24
24
|
|
|
25
|
-
### Phase 1:
|
|
25
|
+
### Phase 1: Material Collection & Product Analysis
|
|
26
26
|
|
|
27
|
-
1.
|
|
28
|
-
-
|
|
29
|
-
-
|
|
27
|
+
1. **Collect material paths**: Ask user for images
|
|
28
|
+
- `Product image path` (required): Product hero image. **Best: clean white-background product photo with no text/labels/decorations**. Images with marketing text overlays will interfere with the model.
|
|
29
|
+
- `Model image path` (optional, for analysis reference only): Shows how the product is worn/used. **Note: Model images are only used to understand product usage — they are NOT uploaded to Renoise** (privacy detection will block images containing realistic human faces).
|
|
30
30
|
|
|
31
|
-
2.
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
- 产品与身体的交互方式?(用手按压 vs 用体重压 vs 穿戴 vs 涂抹)
|
|
42
|
-
- 使用场景在哪?(健身房/办公室/家里/户外)
|
|
43
|
-
- 如果用户提供了商品链接,用 WebFetch 抓取产品详情页补充理解
|
|
31
|
+
2. **Analyze product info**:
|
|
32
|
+
- Use the `gemini-gen` skill to analyze product images — send the image(s) with a prompt requesting product analysis (type, color, material, selling points, brand tone, scene suggestions)
|
|
33
|
+
- Alternatively, view images directly via the Read tool and analyze manually
|
|
34
|
+
- Extract: product type, color, material, selling points, brand tone, applicable scenarios
|
|
35
|
+
- **(Critical) Understand correct product usage from lifestyle images**:
|
|
36
|
+
- What is the user's posture? (standing/sitting/lying/walking)
|
|
37
|
+
- Where is the product positioned on the body? (handheld/floor/table/under body)
|
|
38
|
+
- How does the product interact with the body? (hand pressure vs body weight vs wearing vs applying)
|
|
39
|
+
- Where is the usage scenario? (gym/office/home/outdoors)
|
|
40
|
+
- If the user provides a product link, use WebFetch to scrape product detail page for additional context
|
|
44
41
|
|
|
45
|
-
3.
|
|
46
|
-
>
|
|
42
|
+
3. **Present analysis results** for user to confirm or supplement. Results must include a clear "**Usage description**", e.g.:
|
|
43
|
+
> Usage: Place the peanut ball on the floor/yoga mat, user lies on top of the ball, using body weight to massage the muscles along both sides of the spine. The peanut-shaped groove avoids the spine while the two ball ends work the erector spinae muscles.
|
|
47
44
|
|
|
48
|
-
### Phase 2: 15
|
|
45
|
+
### Phase 2: 15-Second Script + Prompt Generation
|
|
49
46
|
|
|
50
|
-
|
|
47
|
+
Based on analysis results + reference guide, generate a complete 15-second video script.
|
|
51
48
|
|
|
52
|
-
|
|
53
|
-
- `${CLAUDE_SKILL_DIR}/references/ecom-prompt-guide.md` —
|
|
49
|
+
**Must reference the following guide** (Read before generating):
|
|
50
|
+
- `${CLAUDE_SKILL_DIR}/references/ecom-prompt-guide.md` — E-commerce video prompt guide
|
|
54
51
|
|
|
55
|
-
**Prompt
|
|
52
|
+
**Prompt structure (3 required components):**
|
|
56
53
|
|
|
57
|
-
#### Part A:
|
|
54
|
+
#### Part A: Product Anchoring (first line of prompt)
|
|
58
55
|
|
|
59
|
-
|
|
56
|
+
Product appearance is conveyed by the reference image. The prompt only needs **one sentence** stating what the product is + its use case:
|
|
60
57
|
|
|
61
58
|
```
|
|
62
59
|
The product is a [brand] [product type] for [primary use case], shown in the reference image.
|
|
63
60
|
The product must match the reference image exactly in every frame. Do not invent any packaging, box, or container unless the reference image shows one.
|
|
64
61
|
```
|
|
65
62
|
|
|
66
|
-
|
|
63
|
+
**Key**: Do not repeat color, material, shape, or logo descriptions in the prompt — that information is already in the reference image. Save prompt space for the hook and visual narrative.
|
|
67
64
|
|
|
68
|
-
#### Part B:
|
|
65
|
+
#### Part B: Dialogue Embedding (throughout)
|
|
69
66
|
|
|
70
|
-
|
|
67
|
+
Dialogue must be in English, embedded in the narrative using forced lip-sync format:
|
|
71
68
|
```
|
|
72
69
|
Spoken dialogue (say EXACTLY, word-for-word): "..."
|
|
73
70
|
Mouth clearly visible when speaking, lip-sync aligned.
|
|
74
71
|
```
|
|
75
72
|
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
73
|
+
**Dialogue style requirements**:
|
|
74
|
+
- **Best-friend casual tone**: Like recommending to a friend, not reading ad copy
|
|
75
|
+
- **High information density**: Every sentence includes specific details (numbers, comparisons, usage scenarios) — no filler
|
|
76
|
+
- **No hard sell**: Don't end with "link below" or generic CTAs. Use natural personal recommendations (e.g., "Best money I have spent this year", "Trust me just start")
|
|
80
77
|
|
|
81
|
-
|
|
78
|
+
**Dialogue pacing** (4 lines, matching 4 time segments):
|
|
82
79
|
```
|
|
83
|
-
[0-3s] Hook —
|
|
84
|
-
[3-8s]
|
|
85
|
-
[8-12s]
|
|
86
|
-
[12-15s]
|
|
80
|
+
[0-3s] Hook — One sentence to stop the scroll (pain point / suspense / result-first)
|
|
81
|
+
[3-8s] Selling point — Specific specs + personal experience
|
|
82
|
+
[8-12s] Scene — Where to use + portability / versatility
|
|
83
|
+
[12-15s] Close — Genuine personal recommendation, no hard sell
|
|
87
84
|
```
|
|
88
85
|
|
|
89
|
-
#### Part C:
|
|
86
|
+
#### Part C: Visual Narrative (one continuous narrative)
|
|
90
87
|
|
|
91
|
-
|
|
88
|
+
**Video structure (one continuous 15-second video):**
|
|
92
89
|
```
|
|
93
|
-
[0-3s] HOOK —
|
|
94
|
-
[3-8s] SHOWCASE —
|
|
95
|
-
[8-12s] SCENE —
|
|
96
|
-
[12-15s] CLOSE —
|
|
90
|
+
[0-3s] HOOK — High-impact opening. Must: fast camera movement (whip pan / snap dolly in) + dynamic action + start speaking immediately. Never start slow.
|
|
91
|
+
[3-8s] SHOWCASE — Product display + model interaction. Camera transitions to reveal material details.
|
|
92
|
+
[8-12s] SCENE — Real-life usage scenario. Pull back to medium/wide shot.
|
|
93
|
+
[12-15s] CLOSE — Model faces camera + product in frame + natural ending. Frame holds steady.
|
|
97
94
|
```
|
|
98
95
|
|
|
99
|
-
|
|
96
|
+
**Output 3 items:**
|
|
100
97
|
|
|
101
|
-
#### 1. Video Prompt
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
- Ad-6D Protocol
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
98
|
+
#### 1. Video Prompt (English, with dialogue)
|
|
99
|
+
Director-dictation style paragraph (6-10 sentences, one thing per sentence), containing:
|
|
100
|
+
- Product anchoring (one sentence, Part A) at the very beginning
|
|
101
|
+
- Dialogue embedded with `Spoken dialogue (say EXACTLY, word-for-word):` format (Part B)
|
|
102
|
+
- `Mouth clearly visible when speaking, lip-sync aligned.` after each dialogue line
|
|
103
|
+
- Ad-6D Protocol elements interspersed
|
|
104
|
+
- Model appearance consistency description (gender, hair, skin tone, body type, outfit)
|
|
105
|
+
- At least 3 camera movement changes
|
|
106
|
+
- Lighting/atmosphere description
|
|
110
107
|
|
|
111
|
-
#### 2.
|
|
112
|
-
|
|
108
|
+
#### 2. Dialogue Script (English, with timestamps)
|
|
109
|
+
List the 4 dialogue lines separately with their time segments for easy review.
|
|
113
110
|
|
|
114
|
-
#### 3. BGM
|
|
115
|
-
-
|
|
116
|
-
-
|
|
111
|
+
#### 3. BGM / Sound Design Suggestions
|
|
112
|
+
- Recommend music style matching the product tone
|
|
113
|
+
- Key moment sound effect cues
|
|
117
114
|
|
|
118
|
-
|
|
115
|
+
**Reference example**: Read `${CLAUDE_SKILL_DIR}/examples/dress-demo.md` for the latest standard output format.
|
|
119
116
|
|
|
120
|
-
### Phase 3:
|
|
117
|
+
### Phase 3: User Confirmation
|
|
121
118
|
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
119
|
+
After presenting the full script, ask the user:
|
|
120
|
+
- Whether to adjust dialogue
|
|
121
|
+
- Whether to change the scene
|
|
122
|
+
- Whether to modify prompt details
|
|
123
|
+
- Proceed to submission after confirmation
|
|
127
124
|
|
|
128
|
-
### Phase 4:
|
|
125
|
+
### Phase 4: Upload Materials + Submit Video Generation Task
|
|
129
126
|
|
|
130
|
-
|
|
127
|
+
After user confirms the script, upload the product image and submit the video generation task.
|
|
131
128
|
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
129
|
+
**Important rules**:
|
|
130
|
+
- Only upload product images — **never upload model/real person photos** (privacy detection will block images containing realistic human faces, error: `InputImageSensitiveContentDetected.PrivacyInformation`)
|
|
131
|
+
- Model appearance is controlled entirely by prompt text description
|
|
132
|
+
- Product images should ideally be clean white-background product photos, avoid images with marketing text overlays
|
|
133
|
+
- For batch generation: upload the product image once, reuse the material ID to submit multiple tasks with different scenes
|
|
137
134
|
|
|
138
135
|
## Important Notes
|
|
139
136
|
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
137
|
+
- Images support jpg/jpeg/png/webp formats
|
|
138
|
+
- Video prompts must be entirely in English
|
|
139
|
+
- Dialogue must be in English, embedded in the prompt (`Spoken dialogue (say EXACTLY, word-for-word): "..."`)
|
|
140
|
+
- **Do not output separate subtitle text** — dialogue is already in the prompt, no additional subtitle layer needed
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Full Example: Keep Resistance Loop Bands — 15s E-commerce Video
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Input
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
-
|
|
5
|
+
- Product image: Keep brand resistance loop bands, 3-pack (pink/blue/green), pastel macaron colors
|
|
6
|
+
- Model reference: Athletic female, blonde ponytail, sports bra + fitted shorts (for analysis only, NOT uploaded to Renoise)
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Product Analysis Result
|
|
9
9
|
|
|
10
10
|
```json
|
|
11
11
|
{
|
|
12
12
|
"product": {
|
|
13
|
-
"type": "
|
|
14
|
-
"color": "
|
|
15
|
-
"material": "TPE
|
|
16
|
-
"highlights": "
|
|
17
|
-
"brand_tone": "
|
|
13
|
+
"type": "Resistance loop bands",
|
|
14
|
+
"color": "Pink 10lb, Blue 15lb, Mint green 20lb",
|
|
15
|
+
"material": "TPE elastic, matte finish, soft and skin-friendly",
|
|
16
|
+
"highlights": "Three bands with progressive resistance for training, foldable and portable, pastel macaron color scheme",
|
|
17
|
+
"brand_tone": "Youthful athletic, trendy fitness"
|
|
18
18
|
},
|
|
19
19
|
"model": {
|
|
20
20
|
"gender": "female",
|
|
21
21
|
"age_range": "25-30",
|
|
22
|
-
"hair": "
|
|
23
|
-
"outfit": "
|
|
24
|
-
"vibe": "
|
|
22
|
+
"hair": "Blonde high ponytail",
|
|
23
|
+
"outfit": "Black sports bra + black fitted shorts",
|
|
24
|
+
"vibe": "Confident, energetic, professional fitness feel"
|
|
25
25
|
},
|
|
26
26
|
"scene_suggestions": [
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
27
|
+
"Bright modern living room morning workout",
|
|
28
|
+
"Hotel room travel fitness",
|
|
29
|
+
"Bedroom bedtime stretching"
|
|
30
30
|
],
|
|
31
31
|
"selling_points": [
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
32
|
+
"Three resistance levels for progressive training, suitable for beginners to advanced",
|
|
33
|
+
"Compact and portable, folds to fit in a bag for anytime/anywhere workouts",
|
|
34
|
+
"Pastel macaron color scheme, won't roll up during use"
|
|
35
35
|
]
|
|
36
36
|
}
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## Generated Script
|
|
40
40
|
|
|
41
|
-
### 1. Video Prompt
|
|
41
|
+
### 1. Video Prompt (English, with dialogue)
|
|
42
42
|
|
|
43
43
|
> The product is a set of three Keep brand elastic resistance loop bands — flat, wide, smooth matte TPE material with a soft rubbery texture, each band approximately 5cm wide and forming a closed loop. Colors: pastel pink (lightest resistance), sky blue (medium), mint green (heaviest). Each band has a small white "Keep" logo printed on the surface. The bands must match the reference image exactly in color, width, shape, material finish, and logo placement throughout every frame of the video. A fit young woman in her mid-twenties with blonde hair in a high ponytail, light tan skin, athletic build, wearing a black sports bra and black fitted shorts, holds the three pastel-colored Keep resistance bands fanned out in her hand — camera starts extreme close-up on the bands showing their flat wide shape and matte surface then whip pans up to her face as she says "Stop scrolling — I threw out all my gym equipment for these three bands." Morning sunlight from a large window catches the smooth TPE finish. Camera does a fast snap dolly in on her hands as she stretches the blue band taut, the flat wide band maintaining its shape and thickness as it stretches, she says "Ten, fifteen, twenty pounds — I started pink, now I am on green, and they never roll up on you." She has the mint green band already looped around both ankles, camera pulls back to medium shot as she performs side leg raises, the wide flat band visible around her ankles keeping its shape, she says "I do legs in my living room, arms on work trips — they fold smaller than my phone" while transitioning into a squat pulse with the pink band above her knees. Without stopping she grabs all three bands, folds them into a tiny square and tucks them into a small gym bag pocket, camera pushes in tight, then she looks straight into the camera with a knowing grin and says "Honestly the best forty bucks I have spent this year," the pastel colors pop against her black outfit, warm golden backlight creates a soft halo, frame holds steady.
|
|
44
44
|
|
|
45
|
-
### 2.
|
|
45
|
+
### 2. Dialogue Script (English)
|
|
46
46
|
|
|
47
47
|
```
|
|
48
48
|
[0-3s] "Stop scrolling — I threw out all my gym equipment for these three bands."
|
|
@@ -51,36 +51,36 @@
|
|
|
51
51
|
[12-15s] "Honestly the best forty bucks I've spent this year."
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
### 3. BGM
|
|
54
|
+
### 3. BGM / Sound Design Suggestions
|
|
55
55
|
|
|
56
|
-
- **BGM
|
|
57
|
-
-
|
|
58
|
-
- [0s]
|
|
59
|
-
- [3s]
|
|
60
|
-
- [8s]
|
|
61
|
-
- [12s]
|
|
56
|
+
- **BGM**: High-energy trap-pop beat, BPM 125-135, bass drop synced with the 0s hook
|
|
57
|
+
- **Sound effects**:
|
|
58
|
+
- [0s] Band snap/recoil sound — paired with opening impact
|
|
59
|
+
- [3s] Fast whoosh transition
|
|
60
|
+
- [8s] Workout rhythm drum accent
|
|
61
|
+
- [12s] Bass swell + freeze-frame hit
|
|
62
62
|
|
|
63
|
-
## Renoise
|
|
63
|
+
## Renoise Submission
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
# 1.
|
|
67
|
-
node renoise-cli.mjs material upload
|
|
68
|
-
# →
|
|
66
|
+
# 1. Upload product image (product image only, NOT the model image)
|
|
67
|
+
node renoise-cli.mjs material upload <product-image-path>
|
|
68
|
+
# → returns material id, e.g. 194
|
|
69
69
|
|
|
70
|
-
# 2.
|
|
70
|
+
# 2. Submit task (with product image material, all-in-one)
|
|
71
71
|
node renoise-cli.mjs task generate \
|
|
72
|
-
--prompt "
|
|
72
|
+
--prompt "<Video Prompt above>" \
|
|
73
73
|
--model renoise-2.0 --duration 15 --ratio 9:16 \
|
|
74
74
|
--tags ecom,keep,resistance-band \
|
|
75
75
|
--materials "194:image1"
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
##
|
|
78
|
+
## Multi-Scene Batch Generation
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
Reuse the same material ID for the same product, swap scenes to generate multiple videos:
|
|
81
81
|
|
|
82
|
-
|
|
|
83
|
-
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
82
|
+
| Scene | Hook Dialogue | Scene Keywords |
|
|
83
|
+
|-------|--------------|----------------|
|
|
84
|
+
| Outdoor park morning workout | "This tiny thing replaced my entire gym bag." | sunlit park lawn, golden hour, dewy grass |
|
|
85
|
+
| Hotel room travel fitness | "Business trip day three and I still have not skipped a workout." | hotel room, city skyline, suitcase |
|
|
86
|
+
| Bedroom bedtime stretching | "My nighttime routine that actually changed my body." | cozy bedroom, string lights, yoga mat |
|