cerevox 2.30.6 → 2.32.0
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/dist/core/sandbox.d.ts +1 -0
- package/dist/core/sandbox.d.ts.map +1 -1
- package/dist/core/sandbox.js +5 -5
- package/dist/core/sandbox.js.map +1 -1
- package/dist/mcp/servers/prompts/rules/creative-ad.md +2 -2
- package/dist/mcp/servers/prompts/rules/freeform.md +40 -36
- package/dist/mcp/servers/prompts/rules/general-video.md +8 -8
- package/dist/mcp/servers/prompts/rules/material-creation.md +10 -0
- package/dist/mcp/servers/prompts/rules/music-video.md +2 -2
- package/dist/mcp/servers/prompts/rules/stage-play.md +2 -2
- package/dist/mcp/servers/prompts/rules/story-telling.md +2 -2
- package/dist/mcp/servers/prompts/skills/workflows/general-video.md +8 -8
- package/dist/mcp/servers/prompts/skills/workflows/music-video.md +2 -2
- package/dist/mcp/servers/prompts/zerocut-core.md +36 -37
- package/dist/mcp/servers/zerocut.d.ts.map +1 -1
- package/dist/mcp/servers/zerocut.js +74 -30
- package/dist/mcp/servers/zerocut.js.map +1 -1
- package/dist/utils/coze.d.ts.map +1 -1
- package/dist/utils/coze.js +12 -50
- package/dist/utils/coze.js.map +1 -1
- package/dist/utils/videokit.d.ts.map +1 -1
- package/dist/utils/videokit.js +71 -210
- package/dist/utils/videokit.js.map +1 -1
- package/package.json +1 -1
- package/dist/mcp/servers/prompts/rules/anime-series.md +0 -182
package/dist/core/sandbox.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseClass } from './base';
|
|
2
2
|
import type { Logger as PinoLogger } from 'pino';
|
|
3
|
+
export declare const ADMIN_HOST = "sd2mfo025ni4n75n9r5p0.apigateway-cn-beijing.volceapi.com";
|
|
3
4
|
export declare class Sandbox extends BaseClass {
|
|
4
5
|
private token;
|
|
5
6
|
private timeout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,QAAQ,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,eAAO,MAAM,UAAU,6DACqC,CAAC;AAE7D,qBACa,OAAQ,SAAQ,SAAS;IAKlC,OAAO,CAAC,KAAK;IAEb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC;IAPnB,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,IAAI,CAA8D;gBAGhE,KAAK,EAAE,MAAM,EACrB,MAAM,EAAE,UAAU,EACV,OAAO,GAAE,MAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAA;IAK3C,IAAI,SAAS,WAEZ;IAEK,IAAI;IA0BV,IAAI,SAAS,kBAEZ;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAwBpD,MAAM,CAAC,IAAI,GAAE,MAAY;IAMzB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAE,MAAsB;IAQxD,SAAS;IAYT,IAAI;IAmBJ,UAAU,CAAC,OAAO,EAAE,MAAM;CAgBjC;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,MAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oBAKlC"}
|
package/dist/core/sandbox.js
CHANGED
|
@@ -9,11 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Sandbox = void 0;
|
|
12
|
+
exports.Sandbox = exports.ADMIN_HOST = void 0;
|
|
13
13
|
exports.createSandbox = createSandbox;
|
|
14
14
|
const base_1 = require("./base");
|
|
15
15
|
const constants_1 = require("../utils/constants");
|
|
16
|
-
|
|
16
|
+
exports.ADMIN_HOST = 'sd2mfo025ni4n75n9r5p0.apigateway-cn-beijing.volceapi.com';
|
|
17
17
|
let Sandbox = class Sandbox extends base_1.BaseClass {
|
|
18
18
|
constructor(token, logger, timeout = 60, metadata) {
|
|
19
19
|
super(logger.level);
|
|
@@ -27,7 +27,7 @@ let Sandbox = class Sandbox extends base_1.BaseClass {
|
|
|
27
27
|
return this.token.slice(3, 19);
|
|
28
28
|
}
|
|
29
29
|
async init() {
|
|
30
|
-
const adminUrl = `https://${ADMIN_HOST}/create`;
|
|
30
|
+
const adminUrl = `https://${exports.ADMIN_HOST}/create`;
|
|
31
31
|
// eslint-disable-next-line custom/no-fetch-in-src
|
|
32
32
|
const res = await fetch(adminUrl, {
|
|
33
33
|
method: 'POST',
|
|
@@ -96,7 +96,7 @@ let Sandbox = class Sandbox extends base_1.BaseClass {
|
|
|
96
96
|
if (!this.id) {
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
|
-
const adminUrl = `https://${ADMIN_HOST}/delete`;
|
|
99
|
+
const adminUrl = `https://${exports.ADMIN_HOST}/delete`;
|
|
100
100
|
// eslint-disable-next-line custom/no-fetch-in-src
|
|
101
101
|
const res = await fetch(adminUrl, {
|
|
102
102
|
method: 'POST',
|
|
@@ -112,7 +112,7 @@ let Sandbox = class Sandbox extends base_1.BaseClass {
|
|
|
112
112
|
}
|
|
113
113
|
async setTimeout(timeout) {
|
|
114
114
|
this.timeout = timeout;
|
|
115
|
-
const adminUrl = `https://${ADMIN_HOST}/timeout`;
|
|
115
|
+
const adminUrl = `https://${exports.ADMIN_HOST}/timeout`;
|
|
116
116
|
// eslint-disable-next-line custom/no-fetch-in-src
|
|
117
117
|
const res = await fetch(adminUrl, {
|
|
118
118
|
method: 'POST',
|
package/dist/core/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
## 标准流水线
|
|
27
27
|
|
|
28
|
-
1. 确保项目已启动 → `
|
|
28
|
+
1. 确保项目已启动 → `project-open`
|
|
29
29
|
2. **商品参考图获取** → 按照上述优先级逻辑获取商品参考图
|
|
30
30
|
3. 充分理解用户诉求和商品特点。优先按照用户的创作细节要求执行(如果有)
|
|
31
31
|
4. 广告创意构思: 创作一个能够精准回应用户诉求、突出商品价值、提供情感慰藉的广告故事脉络。整个故事必须围绕"商品价值"、"共情"和"情绪价值"展开,让观众在情感共鸣中自然接受商品。
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
* 背景音乐 `generate-music`
|
|
61
61
|
11. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
62
62
|
12. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
63
|
-
13. 关闭项目 → `
|
|
63
|
+
13. 关闭项目 → `project-close`
|
|
64
64
|
|
|
65
65
|
## 质量保证
|
|
66
66
|
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# 自由创作
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
在这个模式下,你没有固定的工作流程,而是响应用户需求,遵循指令,使用合适的工具进行自由创作,帮助用户达成目标
|
|
4
4
|
|
|
5
5
|
## 行为模式
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
在自由创作模式下,你不要自动化完成工作,而是分步骤,跟用户讨论并充分理解用户需求,然后**一步一步**进行工作,一次只调用一个或一组相关工具完成一个步骤任务即可
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
在每一步中,需要按照过程质量保障的要求创建或更新相关文件
|
|
10
|
+
|
|
11
|
+
### 注意⚠️
|
|
12
|
+
|
|
13
|
+
- 在本模式下,除非用户明确要求,否则你**不允许**主动使用 `compile-and-run` 工具进行合成
|
|
10
14
|
|
|
11
15
|
## 有用的上下文参考文件
|
|
12
16
|
|
|
@@ -37,16 +41,16 @@
|
|
|
37
41
|
|
|
38
42
|
在执行过程中,你会生成或得到一些有用的日志上下文:
|
|
39
43
|
|
|
40
|
-
- media-logs.json
|
|
44
|
+
- media-logs.json 一旦有任何视频或音频素材资源被生成,素材元数据会自动记录在该文件中,你可以通过查找这个文件快速找到某个素材的元数据。用户自行上传的素材也会在上传后记录到该文件中
|
|
41
45
|
|
|
42
|
-
- xxxx.captions.json 这类文件通常是AI生成的带人声的歌曲,或者使用 media-analyze
|
|
46
|
+
- xxxx.captions.json 这类文件通常是AI生成的带人声的歌曲,或者使用 media-analyze 工具分析过的音频素材自动生成的字幕文件。你可以通过查找这个文件快速找到某个音频素材的字幕信息
|
|
43
47
|
|
|
44
48
|
## 过程质量保障
|
|
45
49
|
|
|
46
50
|
### 记录 creation-journal.json (重要‼️)
|
|
47
|
-
-
|
|
48
|
-
- 请将内容以JSON格式,按照**聊天**数组记录在 `creation-journal.json`
|
|
49
|
-
-
|
|
51
|
+
- 你应当在每一轮对话结束时总结并记录当前对话中的关键信息和完成的工作
|
|
52
|
+
- 请将内容以JSON格式,按照**聊天**数组记录在 `creation-journal.json` 文件中
|
|
53
|
+
- 这样可以为后续创建上下文提供参考,也可以帮助你更好地组织和管理创作过程
|
|
50
54
|
|
|
51
55
|
* creation-journal Example
|
|
52
56
|
|
|
@@ -65,13 +69,13 @@
|
|
|
65
69
|
|
|
66
70
|
### Feedback
|
|
67
71
|
|
|
68
|
-
|
|
72
|
+
当你在和用户交流时,用户将会告诉你一些新的技能或知识,你需要记录下这些技能或知识,以便后续使用
|
|
69
73
|
|
|
70
|
-
- 你可以修改 .trae/skills 目录,将技能文件以 `custom-xxxx.skills.md`
|
|
71
|
-
-
|
|
72
|
-
- 你可以在 `.trae/knowledge/best-practices.md`
|
|
73
|
-
-
|
|
74
|
-
- 你可以在 `.trae/knowledge/troubleshooting.md`
|
|
74
|
+
- 你可以修改 .trae/skills 目录,将技能文件以 `custom-xxxx.skills.md` 命令,保存在改目录下
|
|
75
|
+
- 如果有任何新的技能或知识,你需要及时记录下来,以便后续使用
|
|
76
|
+
- 你可以在 `.trae/knowledge/best-practices.md` 文件中记录下新的技能或知识
|
|
77
|
+
- 如果你遇到任何问题并实际解决了,你需要及时记录下来,以便后续参考
|
|
78
|
+
- 你可以在 `.trae/knowledge/troubleshooting.md` 文件中记录下新的问题或解决方法
|
|
75
79
|
|
|
76
80
|
## 关键能力
|
|
77
81
|
|
|
@@ -79,55 +83,55 @@
|
|
|
79
83
|
|
|
80
84
|
### 开启和关闭会话
|
|
81
85
|
|
|
82
|
-
|
|
86
|
+
在具体执行中,你第一次接到用户需求后,需要开启新的会话,但**不必**每次单步执行后都关闭会话,只有你判断任务已经圆满完成或者用户明确让你关闭会话时,你才主动关闭会话
|
|
83
87
|
|
|
84
88
|
### 分镜构思
|
|
85
89
|
|
|
86
|
-
- 如果用户和你讨论视频剧情,或者已经有明确的场景想法,你使用 `'get-storyboard-schema`
|
|
87
|
-
-
|
|
88
|
-
-
|
|
90
|
+
- 如果用户和你讨论视频剧情,或者已经有明确的场景想法,你使用 `'get-storyboard-schema` 工具来获知如何创建故事板,然后用故事板来帮助用户构思视频分镜
|
|
91
|
+
- 在所有和剧情、设定有关的问题时,你都要先理解用户想法然后更新故事板,并与用户确认
|
|
92
|
+
- 尤其是在生成素材前,能更新故事板就及时更新,以免后续遗忘信息,造成不一致
|
|
89
93
|
|
|
90
94
|
### 素材生成
|
|
91
95
|
|
|
92
|
-
一般来说影视素材包括图片、配音、视频和BGM
|
|
96
|
+
一般来说影视素材包括图片、配音、视频和BGM等,你拥有一系列工具可以帮助用户来制作素材
|
|
93
97
|
|
|
94
98
|
#### 故事板优化工具
|
|
95
|
-
- `do-storyboard-optimization
|
|
99
|
+
- `do-storyboard-optimization`:你可以用这个工具获取故事板优化规则和要领,帮助用户更加专业地设计分镜场景
|
|
96
100
|
|
|
97
101
|
#### 图片工具
|
|
98
|
-
- `generate-character-image
|
|
99
|
-
- `generate-line-sketch`: 你拥有根据用户描述生成主体或环境线稿的能力,这对于AI
|
|
102
|
+
- `generate-character-image`:你拥有根据用户描述生成人物角色三视图的能力,这对于视频创作保持人物一致性非常重要,你可以建议用户在创作连续场景时采用这个工具生成角色三视图
|
|
103
|
+
- `generate-line-sketch`: 你拥有根据用户描述生成主体或环境线稿的能力,这对于AI视频分镜场景创作十分重要,尤其是对场景一致性要求很高的场合,主体线稿能够确保多主体的站位、姿势或者关键内容一致,而背景线稿能保证场景关键元素的一致。你可以在处理用户诉求时推荐用户使用线稿工具
|
|
100
104
|
- `generate-image`: 通用图片生成工具,你可以根据用户描述生成任意图片,而且可以使用多张参考图(支持主体角色、主体物品和背景),这在创作场景中非常有用。
|
|
101
|
-
- `edit-image
|
|
102
|
-
- `image-aligner`:图片优化工具,你可以根据分析结果调整提示词,待用户确认后,修改story_board
|
|
105
|
+
- `edit-image`:图片局部编辑工具,你可以根据用户描述局部编辑已有的图片
|
|
106
|
+
- `image-aligner`:图片优化工具,你可以根据分析结果调整提示词,待用户确认后,修改story_board,重新生成图片
|
|
103
107
|
|
|
104
108
|
#### 配音工具和音频处理工具
|
|
105
|
-
- `search-voice
|
|
106
|
-
- `generate-scene-tts
|
|
109
|
+
- `search-voice`:你可以根据用户描述搜索并推荐合适的配音音色
|
|
110
|
+
- `generate-scene-tts`:你可以根据用户描述生成场景的语音,你知晓何时该使用旁白,何时该使用人物对话
|
|
107
111
|
- `generate-music`: 你可以使用这个工具让 AI 创作一首歌曲
|
|
108
112
|
- `generate-sound-effect`:你可以使用这个工具让 AI 创作音效
|
|
109
113
|
|
|
110
114
|
#### 视频工具
|
|
111
|
-
- `generate-video
|
|
112
|
-
- `generate-video-by-ref`:你可以根据用户描述和参考图生成视频,这个工具主要用于根据参考图生成视频,连续性可通过镜头自然延伸或`extend-video-duration
|
|
113
|
-
- `extend-video-duration
|
|
115
|
+
- `generate-video`:你可以根据用户描述生成视频,这个工具主要用于根据首帧或首尾帧生成视频,连续性可通过一镜到底(连续镜头)保障
|
|
116
|
+
- `generate-video-by-ref`:你可以根据用户描述和参考图生成视频,这个工具主要用于根据参考图生成视频,连续性可通过镜头自然延伸或`extend-video-duration`保障
|
|
117
|
+
- `extend-video-duration`:你可以根据用户描述和已有的视频延长视频时长,这个工具主要用于在已有的视频基础上延长视频时长
|
|
114
118
|
|
|
115
119
|
#### 后期制作和视频处理工具
|
|
116
120
|
- `generate-music`:你可以用这个工具生成适合视频内容风格的BGM
|
|
117
121
|
- `lip-sync`:唇形同步工具,你可以使用这个工具为人物对口型
|
|
118
122
|
- `get-video-project-schema`:你执行这个工具获取视频剪辑合成的JSON格式规范,用该规范创建 draft_content.json 文件,然后通过这个文件进行视频合成
|
|
119
|
-
- `compile-and-run`:你执行这个工具编译并运行 draft_content.json
|
|
120
|
-
- `run-ffmpeg`:你可以使用这个工具执行任意ffmpeg
|
|
123
|
+
- `compile-and-run`:你执行这个工具编译并运行 draft_content.json 文件,生成视频
|
|
124
|
+
- `run-ffmpeg`:你可以使用这个工具执行任意ffmpeg命令,这在需要对视频进行更复杂处理时非常有用
|
|
121
125
|
|
|
122
126
|
#### 其他工具
|
|
123
|
-
- `media-analyzer`:
|
|
124
|
-
- `upload-custom-meterials`:你可以使用这个工具上传自定义素材,包括图片、视频、音频等,这些素材将被存储在materials/目录下,上传后,你可以使用操作素材的任意工具像处理AI生成的素材一样处理你的自定义素材,也可以在draft_content.json
|
|
127
|
+
- `media-analyzer`: 你可以使用这个工具分析视频、图片等素材,获取素材的元数据和内容信息,它支持分析图片、语音以及视频
|
|
128
|
+
- `upload-custom-meterials`:你可以使用这个工具上传自定义素材,包括图片、视频、音频等,这些素材将被存储在materials/目录下,上传后,你可以使用操作素材的任意工具像处理AI生成的素材一样处理你的自定义素材,也可以在draft_content.json中引用这些素材
|
|
125
129
|
|
|
126
130
|
## 专业技能与术语
|
|
127
131
|
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
132
|
+
- 你已熟知“首(尾)帧生视频”、“参考图生视频”、“一镜到底(连续镜头)”、“镜头自然延伸”等视频创建概念和技巧
|
|
133
|
+
- 你知晓并能运用基础镜头语言来创作视频,包括推进、拉远、变焦推进、变焦拉远、左摇、右摇、上摇、下摇、左移、右移、上升、下降、跟随、晃动、固定、穿过等镜头动作
|
|
134
|
+
- 你知晓美学风格,包括传统美学、现代美学、抽象美学等,能够根据用户需求选择合适的美学风格
|
|
131
135
|
|
|
132
136
|
## 镜头知识
|
|
133
137
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
### 新建
|
|
8
8
|
|
|
9
|
-
1. 确保项目已正确开启:`
|
|
9
|
+
1. 确保项目已正确开启:`project-open` 已被调用
|
|
10
10
|
2. 根据剧情设计选择语音 → 使用 `search-voices` 选择合适的配音音色,若用户指定了voice_id,则直接使用该音色ID,无需验证
|
|
11
11
|
3. 剧本规范 → 调用`get-storyboard-schema`获取最新剧本规范 → 编写 story_board.json(受众、脚本、风格、角色、场景)
|
|
12
12
|
4. 剧本润色 → 检查并修改剧本的角色,确保每个场景角色的外貌、妆造、衣着特征在 start_frame 中描述完整以保证一致性
|
|
@@ -17,22 +17,22 @@
|
|
|
17
17
|
3) 背景音乐 `generate-music`
|
|
18
18
|
6. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
19
19
|
7. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
20
|
-
8. 关闭项目 → `
|
|
20
|
+
8. 关闭项目 → `project-close`
|
|
21
21
|
|
|
22
22
|
### 修改
|
|
23
23
|
|
|
24
|
-
1. 确保项目已启动 → `
|
|
24
|
+
1. 确保项目已启动 → `project-open`
|
|
25
25
|
2. 修改脚本 → 更新 story_board.json
|
|
26
26
|
3. 更新素材 → 重新生成需要修改的素材
|
|
27
27
|
4. 更新技术规范 → 更新 draft_content.json
|
|
28
28
|
5. 执行渲染 → `compile-and-run` 自动下载成品
|
|
29
|
-
6. 关闭项目 → `
|
|
29
|
+
6. 关闭项目 → `project-close`
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
33
|
## 详细工作流
|
|
34
34
|
|
|
35
|
-
1. `
|
|
35
|
+
1. `project-open`
|
|
36
36
|
2. 使用`search-voices`选择合适的配音音色
|
|
37
37
|
3. 创建 story_board.json
|
|
38
38
|
- 在每个场景中指定选定的voice_id
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
- 严格禁止:任何形式的简化、概括或改写,禁止擅自增加、删除或修改任何文字内容
|
|
60
60
|
- 时间轴同步:字幕时间轴必须与对应的视频精确同步(无延迟,与视频时间轴对齐)
|
|
61
61
|
7. `compile-and-run`渲染并自动下载成片
|
|
62
|
-
8. `
|
|
62
|
+
8. `project-close`
|
|
63
63
|
|
|
64
64
|
## 角色参考图
|
|
65
65
|
* 当 `stage_atmosphere.characters` 中设置 `apply_reference_image: true` 时,生成场景图片应使用对应的角色参考图,确保角色形象一致性,否则应不传
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
- 光线:保持光源方向和强度一致
|
|
116
116
|
|
|
117
117
|
### BGM 音量控制
|
|
118
|
-
* 音量:默认BGM音量控制为-
|
|
118
|
+
* 音量:默认BGM音量控制为-25db,通过设置BGM音轨的gain effect控制
|
|
119
119
|
|
|
120
120
|
```json
|
|
121
121
|
{
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"effects": [{
|
|
124
124
|
"name": "gain",
|
|
125
125
|
"params": {
|
|
126
|
-
"db": -
|
|
126
|
+
"db": -25
|
|
127
127
|
}
|
|
128
128
|
}]
|
|
129
129
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# 素材创建模式
|
|
2
|
+
|
|
3
|
+
在该模式下,你只负责根据用户指令为用户准备素材,请**严格**按照以下模式执行:
|
|
4
|
+
|
|
5
|
+
1. **忽略**所有创建 story_board 的阶段,除非用户主动要求,不创建或修改 story_board
|
|
6
|
+
2. **忽略**所有创建 draft_content 及合成视频阶段,除非用户主动要求,不执行 `compile-and-run` 指令
|
|
7
|
+
3. 所有素材的生成一律**跳过一致性检查**
|
|
8
|
+
4. 除了 `get-storyboard-schema`、`get-video-project-schema`、`compile-and-run` 指令严格禁止主动执行外,其他一切工具均可按照用户需求自由调用。
|
|
9
|
+
5. 严格遵循用户的指令,一次执行最小步骤满足用户当前需求即可。
|
|
10
|
+
6. 生成素材命名不按照分镜规范(因为不需要生成分镜脚本),直接用语义明确的文件名命名,优先使用**中文**命名文件
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 标准流水线
|
|
6
6
|
|
|
7
|
-
1. 确保项目已启动 → `
|
|
7
|
+
1. 确保项目已启动 → `project-open`
|
|
8
8
|
2. 资料收集(可选)→ 使用搜索工具收集相关资料
|
|
9
9
|
3. 音乐创作 → 根据主题构思音乐氛围 → 创作歌词 lyrics.txt
|
|
10
10
|
4. 音乐生成 → 根据 lyrics.txt 调用 `generate-music` → 获得歌曲和 captions
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
9. 首尾帧视频生成 → `generate-video` → **可选择使用连续镜头方式**:根据创意需要,可以选择以下一场景的 start_frame 作为上一场景的 end_frame 来实现场景间连续性,或采用独立场景切换方式,每段视频的实际时长应匹配 timeline_analysis 中 proposed_video_scenes 对应场景的 video_duration_s
|
|
16
16
|
10. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
17
17
|
11. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
18
|
-
12. 关闭项目 → `
|
|
18
|
+
12. 关闭项目 → `project-close`
|
|
19
19
|
|
|
20
20
|
## 重要规范
|
|
21
21
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 标准流水线
|
|
6
6
|
|
|
7
|
-
1. 确保项目已启动 → `
|
|
7
|
+
1. 确保项目已启动 → `project-open`
|
|
8
8
|
2. 音乐剧创作 → 根据主题构思音乐氛围 → 创作歌词 lyrics.txt
|
|
9
9
|
3. 音乐生成 → 根据 lyrics.txt 调用 `generate-music` → 获得歌曲和 captions
|
|
10
10
|
4. 分析歌曲 → 创建 timeline_analysis.json 得到 captions 的时间线
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
10. 首尾帧视频生成 → `generate-video` → **必须使用首尾帧一镜到底方式**:以下一场景的 start_frame 作为上一场景的 end_frame,确保场景间无缝连接,以增加镜头的连续性,每段视频的实际时长应完全等于 timeline_analysis.json 中 proposed_video_scenes 对应场景的 video_duration_s 数值(*1000转换为毫秒)
|
|
17
17
|
11. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
18
18
|
12. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
19
|
-
13. 关闭项目 → `
|
|
19
|
+
13. 关闭项目 → `project-close`
|
|
20
20
|
|
|
21
21
|
## 重要规范
|
|
22
22
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
## 标准流水线
|
|
9
9
|
|
|
10
|
-
1. 确保项目已启动 → `
|
|
10
|
+
1. 确保项目已启动 → `project-open`
|
|
11
11
|
2. 充分理解用户诉求。 优先按照用户的创作细节要求执行(如果有)
|
|
12
12
|
3. **确定生成模式**:根据用户要求选择视频生成模式(默认使用模式一:批量图片生成)
|
|
13
13
|
4. 故事构思: 创作一个能够精准回应用户诉求、提供情感慰藉的故事脉络。整个故事必须围绕"共情"和"情绪价值"展开。如果该故事是经典故事,比如伊索寓言、中国神话故事等,必须严格按照经典故事的叙事结构和情感传递机制创作。你可以在创作故事前先通过搜索工具查找相关的经典故事,参考其叙事结构和情感传递机制。
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* 背景音乐 `generate-music`
|
|
35
35
|
10. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
36
36
|
11. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
37
|
-
12. 关闭项目 → `
|
|
37
|
+
12. 关闭项目 → `project-close`
|
|
38
38
|
|
|
39
39
|
## 质量保证
|
|
40
40
|
|
|
@@ -11,7 +11,7 @@ description: 制作通用视频时,可以根据用户需求,按照这个流
|
|
|
11
11
|
|
|
12
12
|
### 新建
|
|
13
13
|
|
|
14
|
-
1. 确保项目已正确开启:`
|
|
14
|
+
1. 确保项目已正确开启:`project-open` 已被调用
|
|
15
15
|
2. 根据剧情设计选择语音 → 使用 `search-voices` 选择合适的配音音色,若用户指定了voice_id,则直接使用该音色ID,无需验证
|
|
16
16
|
3. 剧本规范 → 调用`get-storyboard-schema`获取最新剧本规范 → 编写 story_board.json(受众、脚本、风格、角色、场景)
|
|
17
17
|
4. 剧本润色 → 检查并修改剧本的角色,确保每个场景角色的外貌、妆造、衣着特征在 start_frame 中描述完整以保证一致性
|
|
@@ -22,22 +22,22 @@ description: 制作通用视频时,可以根据用户需求,按照这个流
|
|
|
22
22
|
3) 背景音乐 `generate-music`
|
|
23
23
|
6. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
24
24
|
7. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
25
|
-
8. 关闭项目 → `
|
|
25
|
+
8. 关闭项目 → `project-close`
|
|
26
26
|
|
|
27
27
|
### 修改
|
|
28
28
|
|
|
29
|
-
1. 确保项目已启动 → `
|
|
29
|
+
1. 确保项目已启动 → `project-open`
|
|
30
30
|
2. 修改脚本 → 更新 story_board.json
|
|
31
31
|
3. 更新素材 → 重新生成需要修改的素材
|
|
32
32
|
4. 更新技术规范 → 更新 draft_content.json
|
|
33
33
|
5. 执行渲染 → `compile-and-run` 自动下载成品
|
|
34
|
-
6. 关闭项目 → `
|
|
34
|
+
6. 关闭项目 → `project-close`
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
38
38
|
## 详细工作流
|
|
39
39
|
|
|
40
|
-
1. `
|
|
40
|
+
1. `project-open`
|
|
41
41
|
2. 使用`search-voices`选择合适的配音音色
|
|
42
42
|
3. 创建 story_board.json
|
|
43
43
|
- 在每个场景中指定选定的voice_id
|
|
@@ -64,7 +64,7 @@ description: 制作通用视频时,可以根据用户需求,按照这个流
|
|
|
64
64
|
- 严格禁止:任何形式的简化、概括或改写,禁止擅自增加、删除或修改任何文字内容
|
|
65
65
|
- 时间轴同步:字幕时间轴必须与对应的视频精确同步(无延迟,与视频时间轴对齐)
|
|
66
66
|
7. `compile-and-run`渲染并自动下载成片
|
|
67
|
-
8. `
|
|
67
|
+
8. `project-close`
|
|
68
68
|
|
|
69
69
|
## 角色参考图
|
|
70
70
|
* 当 `stage_atmosphere.characters` 中设置 `apply_reference_image: true` 时,生成场景图片应使用对应的角色参考图,确保角色形象一致性,否则应不传
|
|
@@ -120,7 +120,7 @@ description: 制作通用视频时,可以根据用户需求,按照这个流
|
|
|
120
120
|
- 光线:保持光源方向和强度一致
|
|
121
121
|
|
|
122
122
|
### BGM 音量控制
|
|
123
|
-
* 音量:默认BGM音量控制为-
|
|
123
|
+
* 音量:默认BGM音量控制为-25db,通过设置BGM音轨的gain effect控制
|
|
124
124
|
|
|
125
125
|
```json
|
|
126
126
|
{
|
|
@@ -128,7 +128,7 @@ description: 制作通用视频时,可以根据用户需求,按照这个流
|
|
|
128
128
|
"effects": [{
|
|
129
129
|
"name": "gain",
|
|
130
130
|
"params": {
|
|
131
|
-
"db": -
|
|
131
|
+
"db": -25
|
|
132
132
|
}
|
|
133
133
|
}]
|
|
134
134
|
}
|
|
@@ -9,7 +9,7 @@ description: 创作专业音乐MV,基于 Zerocut 自主完成音乐MV成片的
|
|
|
9
9
|
|
|
10
10
|
# 标准流水线
|
|
11
11
|
|
|
12
|
-
1. 确保项目已启动 → `
|
|
12
|
+
1. 确保项目已启动 → `project-open`
|
|
13
13
|
2. 资料收集(可选)→ 使用搜索工具收集相关资料
|
|
14
14
|
3. 音乐创作 → 根据主题构思音乐氛围 → 创作歌词 lyrics.txt
|
|
15
15
|
4. 音乐生成 → 根据 lyrics.txt 调用 `generate-music` → 获得歌曲和 captions
|
|
@@ -20,7 +20,7 @@ description: 创作专业音乐MV,基于 Zerocut 自主完成音乐MV成片的
|
|
|
20
20
|
9. 首尾帧视频生成 → `generate-video` → **可选择使用连续镜头方式**:根据创意需要,可以选择以下一场景的 start_frame 作为上一场景的 end_frame 来实现场景间连续性,或采用独立场景切换方式,每段视频的实际时长应匹配 timeline_analysis 中 proposed_video_scenes 对应场景的 video_duration_s
|
|
21
21
|
10. 技术规范 → 调用`get-video-project-schema`获取最新规范 → 根据规范创建 draft_content.json
|
|
22
22
|
11. 执行渲染 → `compile-and-run` 输出成品并自动下载到本地
|
|
23
|
-
12. 关闭项目 → `
|
|
23
|
+
12. 关闭项目 → `project-close`
|
|
24
24
|
|
|
25
25
|
## 重要规范
|
|
26
26
|
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
务必严格遵守核心规则,如违反核心规则,用户会很生气,从而导致严重后果!
|
|
6
6
|
|
|
7
|
-
0.
|
|
8
|
-
1. 任务会话:执行任何任务前,先调用`
|
|
7
|
+
0. 下面提到的“调用`xxx`工具”指的都是调用zerocut的mcp工具
|
|
8
|
+
1. 任务会话:执行任何任务前,先调用`project-open`启动会话,完成任务后调用`project-close`关闭会话
|
|
9
9
|
2. 严格遵守指令和纪律
|
|
10
10
|
* 严格执行纪律:确保百分百按照用户需求执行标准工作流程
|
|
11
11
|
* 视频创作工作是非常严谨之工作,改动必须最小化,决不允许擅自发挥
|
|
12
12
|
* 修改生成的任何 json 配置文件时,尽量通过**写代码**的方式进行修改,避免手动编辑
|
|
13
|
-
* 部分配置文件有定义 schema
|
|
13
|
+
* 部分配置文件有定义 schema,如`story_board.json`、`draft_content.json`,创建和修改时务必先获取 schema 并严格遵守其规范
|
|
14
14
|
3. 保持上下文信息的有效性
|
|
15
15
|
* 任何一次对话,确保已召回规则上下文,规则上下文可通过`retrieve-rules-context`工具召回,任何对话开启前如有需要优先调用该接口,也可以在每次对话都主动调用。
|
|
16
16
|
* 在任务执行过程中,执行创建或修改 story_board.json 或 draft_content.json 时,也应再次通过`retrieve-rules-context`重新找回最新的规则上下文,再次确保当前任务的执行准确无误。
|
|
17
17
|
4. 内容一致性
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
*`generate-image`生成分镜图片素材时,应严格按照 story_board.json 中分镜场景的 start_frame、end_frame(如有) 字段描述
|
|
19
|
+
*`generate-video`或`generate-video-by-ref`生成分镜视频素材时,应严格按照 story_board.json 中分镜场景的 video_prompt 字段描述
|
|
20
20
|
* 如生成配音
|
|
21
21
|
* 务必保证 story_board.json 中的 voice_id 与配音音色准确匹配,如果是配音前通过搜索选择的音色ID,务必在 story_board.json 中及时更新
|
|
22
22
|
* 务必保证生成配音(tts)的文本内容与 story_board.json 中 script(或dialog) 字段的文本内容完全一致,如需调整内容,请同时更新 story_board 中的内容
|
|
@@ -28,36 +28,36 @@
|
|
|
28
28
|
* story_board.json 内容检查
|
|
29
29
|
* 起始帧 start_frame 务必正确完整地融合stage_atmosphere各属性,且用单引号标记图中要绘制的CJK文字。
|
|
30
30
|
* video_prompt 务必正确融合stage_atmosphere的camera描述的运镜方式。
|
|
31
|
-
* 若用户需求中明确包含“自动优化分镜”,则必须在创建 story_board.json
|
|
31
|
+
* 若用户需求中明确包含“自动优化分镜”,则必须在创建 story_board.json 后立即调用`do-storyboard-optimization`工具优化 story_board.json
|
|
32
32
|
* is_continuous 为 true 的场景,生成视频时,务必采用连续分镜
|
|
33
33
|
* 字幕优化
|
|
34
|
-
* 在保证字幕文本内容与 story_board.json 中的 script(或dialog) 字段的文本内容完全一致的前提下,应根据 tts
|
|
34
|
+
* 在保证字幕文本内容与 story_board.json 中的 script(或dialog) 字段的文本内容完全一致的前提下,应根据 tts 返回的`captions.utterances`字段对字幕的显示进行优化,将过长的字幕分段显示,在 draft_content.json 中使用分段字幕,captions 的内容在 media_logs.json 中可查询到。
|
|
35
35
|
|
|
36
36
|
## 标准工作流程
|
|
37
37
|
|
|
38
38
|
### 新建
|
|
39
39
|
|
|
40
|
-
1.
|
|
41
|
-
2.
|
|
42
|
-
3.
|
|
43
|
-
4.
|
|
44
|
-
5.
|
|
45
|
-
6.
|
|
46
|
-
7. 如有需要或用户明确指定“自动优化分镜”,你在创建 story_board.json
|
|
40
|
+
1. 启动项目→`project-open`
|
|
41
|
+
2. 根据用户意图召回规则上下文→`retrieve-rules-context`
|
|
42
|
+
3. 根据用户需求补充规则上下文(重要‼️)→创建或修改 .trae/rules/custom_rules.md 将用户的需求补充进去
|
|
43
|
+
4. 需求分析与规划→分析用户需求,制定执行计划
|
|
44
|
+
5. 收集相关资料(可选)→如有需要,使用搜索工具收集相关资料
|
|
45
|
+
6. 素材准备,根据`retrieve-rules-context`召回的规则上下文,构建 story_board.json 以备成必要的素材(如视频、音频、图片等)
|
|
46
|
+
7. 如有需要或用户明确指定“自动优化分镜”,你在创建 story_board.json 后,应立即调用`do-storyboard-optimization`工具优化 story_board.json
|
|
47
47
|
8. 素材生成阶段,按素材类型(音频、图片、视频)分别依次生成,每次生成前,务必核查【素材生成规则】。
|
|
48
|
-
9. 检查 media_logs.json
|
|
49
|
-
10.
|
|
48
|
+
9. 检查 media_logs.json 确定素材时间轴→生成 draft_content.json→执行渲染→`compile-and-run`输出成品并自动下载到本地
|
|
49
|
+
10. 关闭项目→`project-close`
|
|
50
50
|
|
|
51
51
|
### 修改
|
|
52
52
|
|
|
53
|
-
1.
|
|
54
|
-
2.
|
|
55
|
-
3.
|
|
56
|
-
4.
|
|
57
|
-
5.
|
|
53
|
+
1. 启动项目→`project-open`
|
|
54
|
+
2. 根据用户意图召回规则上下文→`retrieve-rules-context`
|
|
55
|
+
3. 判断当前处于什么阶段→制定执行计划
|
|
56
|
+
4. 根据用户需求补充规则上下文(重要‼️)→修改 .trae/rules/custom_rules.md 将用户的需求变更补充进去
|
|
57
|
+
5. 更新素材→根据`retrieve-rules-context`召回的规则上下文,按需更新 story_board.json、draft_content.json 等文件的内容和相关素材。
|
|
58
58
|
- 修改素材(指音频、视频、图片)时,除非用户指定覆盖原文件,否则保留原文件,变更文件名生成新文件(比如 sc01_bg_new.png)。
|
|
59
|
-
6. 使用修改后的 draft_content.json
|
|
60
|
-
7.
|
|
59
|
+
6. 使用修改后的 draft_content.json 执行渲染→`compile-and-run`输出成品并自动下载到本地
|
|
60
|
+
7. 关闭项目→`project-close`
|
|
61
61
|
|
|
62
62
|
## 项目结构与规范
|
|
63
63
|
|
|
@@ -87,9 +87,9 @@ projects/<id>/
|
|
|
87
87
|
### 核心原则(不得违反‼️)
|
|
88
88
|
1. **绝对服从story_board.json**:生成任何素材时,必须严格按照story_board.json中对应字段的具体描述执行
|
|
89
89
|
2. **字段优先级**:
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
90
|
+
- 生成起始帧图片:严格按照`start_frame`字段描述
|
|
91
|
+
- 生成视频:严格按照`video_prompt`字段描述
|
|
92
|
+
- 生成配音:严格按照`script`或`dialog`字段描述
|
|
93
93
|
3. **禁止信息混淆**:不得将角色总体特征、起始帧状态、视频过程变化等不同概念混淆使用
|
|
94
94
|
4. **零容忍擅自发挥**:任何偏离story_board.json具体字段描述的行为都属于擅自发挥,必须严格避免
|
|
95
95
|
|
|
@@ -101,9 +101,9 @@ projects/<id>/
|
|
|
101
101
|
### story_board.json
|
|
102
102
|
|
|
103
103
|
1. 一致性:生成和修改前先获取 schema
|
|
104
|
-
2. story_board.json 中的 start_frame、end_frame
|
|
105
|
-
3. story_board.json 中的 video_prompt
|
|
106
|
-
4. story_board.json 中的 script
|
|
104
|
+
2. story_board.json 中的 start_frame、end_frame 分别对应视频生成`generate-video`的首帧和尾帧
|
|
105
|
+
3. story_board.json 中的 video_prompt 对应视频生成`generate-video`的 prompt
|
|
106
|
+
4. story_board.json 中的 script 对应场景台词,对应场景语音生成`generate-scene-tts`,如多人台词则使用`dialog`数组:`[{name, script}]`
|
|
107
107
|
|
|
108
108
|
#### story_board.json 示例:
|
|
109
109
|
|
|
@@ -273,23 +273,22 @@ projects/<id>/
|
|
|
273
273
|
|
|
274
274
|
## 技巧及术语
|
|
275
275
|
|
|
276
|
-
0.
|
|
277
|
-
- 若用户**明确指定**使用专家模式,召回规则上下文时须使用 purpose: professional,否则**不得使用**该模式
|
|
276
|
+
0. 自由创作模式
|
|
278
277
|
- 若用户**明确指定**使用自由创作模式,召回规则上下文时须使用 purpose: freeform,否则**不得使用**该模式
|
|
279
278
|
|
|
280
279
|
1. 生成视频的几种方式
|
|
281
|
-
- 首帧图生视频(默认采用):先根据 start_frame 生成首帧图片如 sc01_start.png,然后用该图片作为视频的第一帧,以 video_prompt
|
|
282
|
-
- 首尾帧生视频:先根据 start_frame 生成首帧图片如 sc01_start.png,再根据 end_frame 生成尾帧图片如 sc01_end.png,用这两张图片作为视频的首尾帧,以 video_prompt
|
|
283
|
-
- 参考图生视频:根据分镜的参考图片(可选,并且如有,需确保预先生成),将 story_board 中当前 scene 的 video_type 设为 references,不生成 start_frame,直接以 video_prompt
|
|
284
|
-
- 连续镜头:如果用户不希望当前场景和下一次场景之间切换镜头,或用户希望场景之间有连续的变化(比如人物在场景中移动),story_board 中对应 scene
|
|
280
|
+
- 首帧图生视频(默认采用):先根据 start_frame 生成首帧图片如 sc01_start.png,然后用该图片作为视频的第一帧,以 video_prompt 的提示词用`generate-image`生成视频
|
|
281
|
+
- 首尾帧生视频:先根据 start_frame 生成首帧图片如 sc01_start.png,再根据 end_frame 生成尾帧图片如 sc01_end.png,用这两张图片作为视频的首尾帧,以 video_prompt 的提示词用`generate-image`生成视频
|
|
282
|
+
- 参考图生视频:根据分镜的参考图片(可选,并且如有,需确保预先生成),将 story_board 中当前 scene 的 video_type 设为 references,不生成 start_frame,直接以 video_prompt 的提示词用`generate-image-by-ref`生成视频
|
|
283
|
+
- 连续镜头:如果用户不希望当前场景和下一次场景之间切换镜头,或用户希望场景之间有连续的变化(比如人物在场景中移动),story_board 中对应 scene 的`is_continuous`字段将为`true`。此时将下一场景的首帧图片作为当前场景的尾帧(end_frame)参数,以 video_prompt 的提示词用`generate-image`生成当前场景的视频
|
|
285
284
|
|
|
286
285
|
2. 一镜到底:当用户说采用“一镜到底”时,应当生成所有场景首帧图片再开始生成视频,每个视频都使用连续镜头。
|
|
287
286
|
|
|
288
287
|
3. 镜头自然延伸:和“一镜到底”不同的连续画面技术,当用户说“镜头自然延伸”时,应当在生成视频时,设置saveLastFrameAs参数,将其返回的图片作为下一场景的首帧图片。
|
|
289
288
|
|
|
290
|
-
4.
|
|
289
|
+
4. 优化图片:当用户或工作流程要求优化图片时,可运行`image-aligner`工具,根据分析结果调整提示词,待用户确认后,修改story_board,重新生成图片。
|
|
291
290
|
|
|
292
291
|
## 工具优先级
|
|
293
292
|
|
|
294
293
|
1. 优先使用系统自有搜索工具
|
|
295
|
-
2. 备选:`search-context
|
|
294
|
+
2. 备选:`search-context`(文字资料)/`search-image`(视觉参考)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zerocut.d.ts","sourceRoot":"","sources":["../../../src/mcp/servers/zerocut.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"zerocut.d.ts","sourceRoot":"","sources":["../../../src/mcp/servers/zerocut.ts"],"names":[],"mappings":";AAoyKA,wBAAsB,GAAG,kBAKxB"}
|