zerocut-cli 0.2.2 → 0.3.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/README.md +5 -2
- package/dist/commands/image.js +2 -0
- package/dist/commands/skill.js +22 -9
- package/dist/commands/video.js +109 -14
- package/dist/services/config.js +7 -2
- package/dist/skill/SKILL.md +153 -18
- package/dist/skill/edit-video/SKILL.md +111 -0
- package/dist/skill/one-click-video/SKILL.md +140 -0
- package/package.json +2 -2
- package/scripts/copy-skill-md.cjs +4 -4
- package/src/commands/image.ts +2 -0
- package/src/commands/skill.ts +26 -9
- package/src/commands/video.ts +49 -3
- package/src/services/config.ts +10 -2
- package/src/skill/SKILL.md +21 -2
- package/src/skill/edit-video/SKILL.md +111 -0
- package/src/skill/one-click-video/SKILL.md +140 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: one-click-video
|
|
3
|
+
description: Use this skill when the user wants to produce a complete short video from a topic with fast CLI-driven workflow: scene planning, storyboard creation, scene video generation, optional background music, and final ffmpeg composition.
|
|
4
|
+
homepage: "https://github.com/liubei-ai/zerocut-cli"
|
|
5
|
+
source: "https://github.com/liubei-ai/zerocut-cli"
|
|
6
|
+
requires_binaries:
|
|
7
|
+
- "zerocut-cli"
|
|
8
|
+
- "npx"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# One-Click Video
|
|
12
|
+
|
|
13
|
+
## Purpose
|
|
14
|
+
|
|
15
|
+
Create a deliverable final video by orchestrating `zerocut-cli` commands only.
|
|
16
|
+
|
|
17
|
+
## Runtime Requirements
|
|
18
|
+
|
|
19
|
+
- Use CLI commands only, never MCP tool names.
|
|
20
|
+
- Ensure `zerocut-cli` is available:
|
|
21
|
+
- `pnpm dlx zerocut-cli help`
|
|
22
|
+
- `pnpm add -g zerocut-cli && zerocut-cli help`
|
|
23
|
+
- `npx zerocut-cli help`
|
|
24
|
+
|
|
25
|
+
## Required Pre-Check
|
|
26
|
+
|
|
27
|
+
Run config check first:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx zerocut-cli config list
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If `apiKey` is missing, stop and request user OTT token:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx zerocut-cli config --ott <token> --region <cn|us>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Video Parameter Contract
|
|
40
|
+
|
|
41
|
+
When generating scene videos, only use legal `video` command parameters:
|
|
42
|
+
|
|
43
|
+
- `--prompt <prompt>` required
|
|
44
|
+
- `--duration <seconds>`
|
|
45
|
+
- `--model <model>`
|
|
46
|
+
- `--sourceVideo <video>`
|
|
47
|
+
- `--seed <seed>`
|
|
48
|
+
- `--firstFrame <image>`
|
|
49
|
+
- `--lastFrame <image>`
|
|
50
|
+
- `--storyboard <image>`
|
|
51
|
+
- `--persons <persons>` comma-separated image paths/URLs, mapped to `type=person`
|
|
52
|
+
- `--refs <assets>`
|
|
53
|
+
- `--resolution <resolution>`
|
|
54
|
+
- `--aspectRatio <ratio>`
|
|
55
|
+
- `--withAudio`
|
|
56
|
+
- `--withBGM <withBGM>` `true|false`, default `true`
|
|
57
|
+
- `--optimizeCameraMotion`
|
|
58
|
+
- `--output <file>`
|
|
59
|
+
|
|
60
|
+
## Output Naming Rules
|
|
61
|
+
|
|
62
|
+
- If user does not provide output path, generate meaningful names with 3-digit prefix:
|
|
63
|
+
- `001_storyboard_scene1.png`
|
|
64
|
+
- `002_scene1.mp4`
|
|
65
|
+
- `003_scene2.mp4`
|
|
66
|
+
- `004_bgm.mp3`
|
|
67
|
+
- `005_final.mp4`
|
|
68
|
+
|
|
69
|
+
## Workflow
|
|
70
|
+
|
|
71
|
+
1. Understand topic, goal, duration, platform orientation, and style.
|
|
72
|
+
2. Split into 1-5 scenes with clear narrative progression.
|
|
73
|
+
3. Create one storyboard image for each scene.
|
|
74
|
+
4. Generate one video clip for each scene using only legal video parameters.
|
|
75
|
+
5. Optionally generate one background music track with `music` command.
|
|
76
|
+
6. Compose final video with `ffmpeg` command.
|
|
77
|
+
|
|
78
|
+
## Scene Storyboard Step
|
|
79
|
+
|
|
80
|
+
Generate storyboard for each scene:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npx zerocut-cli image --prompt "<scene storyboard prompt>" --model banana2 --aspectRatio 16:9 --resolution 1K --output 001_storyboard_scene1.png
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Scene Video Step
|
|
87
|
+
|
|
88
|
+
Use storyboard as `--storyboard`, optional character images via `--persons`, and optional extra references via `--refs`.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npx zerocut-cli video \
|
|
92
|
+
--prompt "<scene video prompt>" \
|
|
93
|
+
--model seedance-2.0 \
|
|
94
|
+
--duration 12 \
|
|
95
|
+
--resolution 720p \
|
|
96
|
+
--aspectRatio 16:9 \
|
|
97
|
+
--storyboard 001_storyboard_scene1.png \
|
|
98
|
+
--persons actor_front.png,actor_side.png \
|
|
99
|
+
--refs prop_ref.png,env_ref.png \
|
|
100
|
+
--withAudio \
|
|
101
|
+
--withBGM true \
|
|
102
|
+
--output 002_scene1.mp4
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Background Music Step
|
|
106
|
+
|
|
107
|
+
Generate one BGM track when needed:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
npx zerocut-cli music --prompt "<bgm prompt>" --output 004_bgm.mp3
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Final Composition Step (ffmpeg only)
|
|
114
|
+
|
|
115
|
+
Create concat list:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
printf "file '002_scene1.mp4'\nfile '003_scene2.mp4'\n" > concat.txt
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Concatenate scene clips:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npx zerocut-cli ffmpeg --args -f concat -safe 0 -i concat.txt -c copy 005_concat.mp4 --resources concat.txt 002_scene1.mp4 003_scene2.mp4
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Mix BGM with original video audio:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npx zerocut-cli ffmpeg --args -i 005_concat.mp4 -i 004_bgm.mp3 -filter_complex "[1:a]volume=0.2[bgm];[0:a][bgm]amix=inputs=2:duration=first:dropout_transition=2[aout]" -map 0:v -map "[aout]" -c:v copy -c:a aac 005_final.mp4 --resources 005_concat.mp4 004_bgm.mp3
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Hard Rules
|
|
134
|
+
|
|
135
|
+
- Do not introduce non-CLI tool calls.
|
|
136
|
+
- Do not use parameters outside the legal `video` parameter contract.
|
|
137
|
+
- Keep single scene duration within model limits.
|
|
138
|
+
- Keep visual style consistent across all scenes.
|
|
139
|
+
- Keep role identity consistent when using `--persons`.
|
|
140
|
+
- Do not generate subtitles in this workflow.
|