cutsdk 1.1.0 → 1.1.2
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 +30 -1
- package/dist/api/draft-spec/time.d.ts.map +1 -1
- package/dist/api/draft-spec/time.js +2 -1
- package/dist/api/draft-spec/time.js.map +1 -1
- package/dist/api/images/add-images.js +1 -1
- package/dist/api/images/add-images.js.map +1 -1
- package/dist/api/setup/templates/project/.agents/skills/cut-draft/SKILL.md +26 -15
- package/dist/api/setup/templates/project/cutcli-docs/README.md +1 -0
- package/dist/api/setup/templates/project/cutcli-docs/material-browser.html +418 -0
- package/dist/api/videos/add-videos.js +1 -1
- package/dist/api/videos/add-videos.js.map +1 -1
- package/dist/draft/drafts/data/online/effects.json +31933 -0
- package/dist/draft/drafts/data/online/transitions.json +14375 -0
- package/dist/shared/draft-service.d.ts.map +1 -1
- package/dist/shared/draft-service.js +15 -0
- package/dist/shared/draft-service.js.map +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -97,12 +97,41 @@ const result = await createAndRenderDraft({
|
|
|
97
97
|
],
|
|
98
98
|
},
|
|
99
99
|
output: { draftsDir: '/Users/x013/jy_draft/JianyingPro Drafts', name: '测试草稿' },
|
|
100
|
-
render: {
|
|
100
|
+
render: {
|
|
101
|
+
cloud: true,
|
|
102
|
+
apiToken: 'your_api_token_here', // 显式传入云渲染 API Token。也可以不传,SDK 会自动从环境变量中读取
|
|
103
|
+
wait: true, // 是否等待渲染完成,默认 false
|
|
104
|
+
},
|
|
101
105
|
});
|
|
102
106
|
|
|
103
107
|
console.log(result.render?.videoUrl);
|
|
104
108
|
```
|
|
105
109
|
|
|
110
|
+
### 云渲染 API Token 配置
|
|
111
|
+
|
|
112
|
+
`cutsdk` 和 `cutcli` 均支持将生成的草稿打包并提交至云端进行快速渲染。使用云渲染需要配置 API Token,有以下三种方式:
|
|
113
|
+
|
|
114
|
+
1. **环境变量(推荐)**:
|
|
115
|
+
设置环境变量 `CUT_API_TOKEN`(或 `CUT_RENDER_API_KEY`、`CUTCLI_API_KEY`)。SDK 和 CLI 会自动读取。
|
|
116
|
+
```bash
|
|
117
|
+
export CUT_API_TOKEN="your_render_api_token"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
2. **SDK 参数显式传入**:
|
|
121
|
+
在调用 `createAndRenderDraft` 或 `renderDraft` 时,在 `render` 对象中显式传入 `apiToken` 字段:
|
|
122
|
+
```typescript
|
|
123
|
+
render: {
|
|
124
|
+
cloud: true,
|
|
125
|
+
apiToken: 'your_render_api_token'
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
3. **CLI 命令行保存**:
|
|
130
|
+
在终端运行 `cutcli login <apiToken>`,Token 会被保存在本地配置文件中(`~/.cutcli/config.json`),后续 CLI 云渲染命令会自动读取。
|
|
131
|
+
```bash
|
|
132
|
+
cutcli login your_render_api_token
|
|
133
|
+
```
|
|
134
|
+
|
|
106
135
|
## AI Agent 接入
|
|
107
136
|
|
|
108
137
|
CLI 可把项目级 AI 使用说明安装到业务项目:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/api/draft-spec/time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/api/draft-spec/time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA2BzE;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EACjE,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAiBlD"}
|
|
@@ -21,7 +21,8 @@ function normalizeTimeValue(value, path) {
|
|
|
21
21
|
if (typeof value !== 'string') {
|
|
22
22
|
throw new DraftSpecError('INVALID_TIME', path, 'Time must be a number or a string ending in s, ms, or us.');
|
|
23
23
|
}
|
|
24
|
-
const
|
|
24
|
+
const normalized = value.toLowerCase().trim();
|
|
25
|
+
const match = normalized.match(/^(\d+(?:\.\d+)?)\s*(s|ms|us)$/);
|
|
25
26
|
if (!match) {
|
|
26
27
|
throw new DraftSpecError('INVALID_TIME', path, 'Time string must look like 1.5s, 500ms, or 300000us.');
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/api/draft-spec/time.ts"],"names":[],"mappings":";;;AAaA,
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/api/draft-spec/time.ts"],"names":[],"mappings":";;;AAaA,gDA2BC;AAED,gDAoBC;AA5DD,MAAa,cAAe,SAAQ,KAAK;IAIvC,YAAY,IAAY,EAAE,IAAY,EAAE,OAAe;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AATD,wCASC;AAED,SAAgB,kBAAkB,CAAC,KAAgB,EAAE,IAAY;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,8DAA8D,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,2DAA2D,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,sDAAsD,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IACtD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAiE,EACjE,IAAY;IAEZ,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;IAC9D,IAAI,GAAW,CAAC;IAEhB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACjC,GAAG,GAAG,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,cAAc,CAAC,kBAAkB,EAAE,IAAI,EAAE,2CAA2C,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -50,7 +50,7 @@ async function addImages(params) {
|
|
|
50
50
|
if (params.transformY != null)
|
|
51
51
|
segment.clip.transform.y = params.transformY;
|
|
52
52
|
segment.clip.alpha = alpha;
|
|
53
|
-
if (i < imageInfos.length - 1
|
|
53
|
+
if (img.transition && (imageInfos.length === 1 || i < imageInfos.length - 1)) {
|
|
54
54
|
const trans = draft.create_materials_transitions(img.transition);
|
|
55
55
|
if (img.transitionDuration) {
|
|
56
56
|
trans.duration = (img.transitionDuration >= 100000 && img.transitionDuration <= 2500000) ? img.transitionDuration : 500000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-images.js","sourceRoot":"","sources":["../../../src/api/images/add-images.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"add-images.js","sourceRoot":"","sources":["../../../src/api/images/add-images.ts"],"names":[],"mappings":";;AAOA,8BAoDC;AA3DD,8DAAkE;AAClE,gDAAmD;AACnD,oEAAgG;AAGhG,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE7D,KAAK,UAAU,SAAS,CAAC,MAAsB;IACpD,MAAM,UAAU,GAAgB,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACnE,CAAC,CAAC,IAAA,qBAAY,EAAc,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;QACzE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IACtB,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAS,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAElG,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,YAAY,GAAiD,EAAE,CAAC;IACtE,MAAM,WAAW,GAAG,IAAA,iCAAc,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,+BAAY,EAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAA,oCAAiB,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,sBAAsB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9G,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;QACzC,IAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,iCAAiC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjF,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,GAAG,CAAC,mBAAmB;gBAAE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU;oBAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;wBAAE,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,mBAAmB,CAAC;YACzH,IAAI,GAAG,CAAC,oBAAoB;gBAAE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU;oBAAE,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;wBAAE,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,oBAAoB,CAAC;YAC5H,IAAI,GAAG,CAAC,qBAAqB;gBAAE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU;oBAAE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;wBAAE,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,qBAAqB,CAAC;QAClI,CAAC;QAED,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5E,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAE3B,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjE,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;gBAC3B,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM,IAAI,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7H,CAAC;YACD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAC5F,CAAC"}
|
|
@@ -66,21 +66,32 @@ cutcli spec validate --file draft.json --pretty
|
|
|
66
66
|
cutcli spec create --file draft.json --pretty
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
##
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
CUT_API_TOKEN
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
|
|
69
|
+
## 云渲染与 API Token 配置
|
|
70
|
+
|
|
71
|
+
云渲染需要配置 API Token,有以下三种方式:
|
|
72
|
+
|
|
73
|
+
1. **命令行保存**:
|
|
74
|
+
```bash
|
|
75
|
+
cutcli login <apiToken>
|
|
76
|
+
```
|
|
77
|
+
这会将 Token 保存到本机 `~/.cutcli/config.json`。
|
|
78
|
+
|
|
79
|
+
2. **环境变量**:
|
|
80
|
+
设置环境变量 `CUT_API_TOKEN`:
|
|
81
|
+
```env
|
|
82
|
+
CUT_API_TOKEN=your_token
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
3. **SDK 参数显式传入**:
|
|
86
|
+
在调用一站式 SDK 时显式设置 `apiToken` 字段:
|
|
87
|
+
```typescript
|
|
88
|
+
render: {
|
|
89
|
+
cloud: true,
|
|
90
|
+
apiToken: 'your_api_token'
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`cutcli config show` 可检查配置状态,它只会显示 `<set>`,不会打印 Token 明文。
|
|
84
95
|
|
|
85
96
|
## 常见坑
|
|
86
97
|
|