cutsdk 1.1.0 → 1.1.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 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: { cloud: true },
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,CA0BzE;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"}
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 match = value.match(/^(\d+(?:\.\d+)?)(s|ms|us)$/);
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,gDA0BC;AAED,gDAoBC;AA3DD,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,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACxD,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"}
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 && img.transition) {
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":"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"}
@@ -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
- 云渲染需要 API Token。优先让用户运行:
72
-
73
- ```bash
74
- cutcli login <apiToken>
75
- ```
76
-
77
- 也可以使用环境变量:
78
-
79
- ```env
80
- CUT_API_TOKEN=your_token
81
- ```
82
-
83
- `cutcli login` 会把 Token 保存到本机 `~/.cutcli/config.json`;`cutcli config show` 只显示 `<set>`,不会打印 Token 明文。
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
 
@@ -9,6 +9,7 @@
9
9
  1. 先读 `quickstart.md`。
10
10
  2. 再扫一遍 `api-cheatsheet.md`。
11
11
  3. 从 `examples/` 中复制最接近需求的示例改起。
12
+ 4. 需要挑选花字、特效、贴纸、转场时,直接打开 `material-browser.html`。特效/转场使用本地在线缓存,贴纸会联网刷新全量素材库。
12
13
 
13
14
  ## 安装
14
15