cutsdk 1.0.0 → 1.1.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/README.md +27 -24
- package/dist/api/cloud/render-draft.d.ts +5 -2
- package/dist/api/cloud/render-draft.d.ts.map +1 -1
- package/dist/api/cloud/render-draft.js +117 -15
- package/dist/api/cloud/render-draft.js.map +1 -1
- package/dist/api/cloud/submit-video-render-task.js +2 -2
- package/dist/api/cloud/submit-video-render-task.js.map +1 -1
- package/dist/api/cloud/upload-draft.d.ts.map +1 -1
- package/dist/api/cloud/upload-draft.js +0 -2
- package/dist/api/cloud/upload-draft.js.map +1 -1
- package/dist/api/draft-spec/create-and-render-draft.d.ts.map +1 -1
- package/dist/api/draft-spec/create-and-render-draft.js +0 -1
- package/dist/api/draft-spec/create-and-render-draft.js.map +1 -1
- package/dist/api/query/get-text-effects.d.ts +4 -0
- package/dist/api/query/get-text-effects.d.ts.map +1 -0
- package/dist/api/query/get-text-effects.js +36 -0
- package/dist/api/query/get-text-effects.js.map +1 -0
- package/dist/api/setup/templates/project/.agents/skills/cut-draft/SKILL.md +48 -33
- package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/.env.example +0 -1
- package/dist/api/setup/templates/project/cutcli-docs/README.md +95 -0
- package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/api-cheatsheet.md +29 -5
- package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/examples/03-create-and-render.ts +1 -2
- package/dist/api/setup/templates/project/cutcli-docs/examples/04-cli-examples.md +109 -0
- package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/quickstart.md +22 -2
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -2
- package/dist/config/index.js.map +1 -1
- package/dist/draft/drafts/Effects.d.ts.map +1 -1
- package/dist/draft/drafts/Effects.js +0 -1
- package/dist/draft/drafts/Effects.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/cloud-client.d.ts +2 -7
- package/dist/shared/cloud-client.d.ts.map +1 -1
- package/dist/shared/cloud-client.js +4 -4
- package/dist/shared/cloud-client.js.map +1 -1
- package/dist/shared/media.d.ts.map +1 -1
- package/dist/shared/media.js +36 -11
- package/dist/shared/media.js.map +1 -1
- package/dist/types/index.d.ts +23 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +9 -12
- package/dist/api/setup/templates/project/cut-sdk/README.md +0 -54
- package/dist/api/setup/templates/project/cut-sdk/examples/04-cli-examples.md +0 -71
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -339
- package/dist/cli.js.map +0 -1
- /package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/examples/01-create-draft.ts +0 -0
- /package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/examples/02-draft-spec.ts +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# cutsdk 项目接入指南
|
|
2
|
+
|
|
3
|
+
这个目录是给 AI Agent 和开发者第一次在项目中使用 `cutsdk` 时看的接入资料。
|
|
4
|
+
|
|
5
|
+
`cutsdk` 可以用 Node.js 代码创建剪映/CapCut 桌面端草稿文件夹,支持字幕、图片、视频、音频、特效、贴纸、关键帧、遮罩、AI Draft Spec,以及可选的云渲染。
|
|
6
|
+
|
|
7
|
+
## 阅读顺序
|
|
8
|
+
|
|
9
|
+
1. 先读 `quickstart.md`。
|
|
10
|
+
2. 再扫一遍 `api-cheatsheet.md`。
|
|
11
|
+
3. 从 `examples/` 中复制最接近需求的示例改起。
|
|
12
|
+
|
|
13
|
+
## 安装
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install cutsdk
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
如果要使用 CLI:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install -g @cutcli/cutcli
|
|
23
|
+
cutcli agents install
|
|
24
|
+
cutcli login <apiToken>
|
|
25
|
+
cutcli spec validate --file draft.json
|
|
26
|
+
cutcli spec create --file draft.json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
不全局安装也可以直接用 `npx`:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx @cutcli/cutcli spec create --file draft.json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 环境变量
|
|
36
|
+
|
|
37
|
+
当项目需要自定义草稿目录或使用云渲染时,把 `.env.example` 复制为 `.env` 并填写:
|
|
38
|
+
|
|
39
|
+
```env
|
|
40
|
+
CUT_DRAFTS_DIR=/absolute/path/to/JianyingPro Drafts
|
|
41
|
+
CUT_API_TOKEN=your_token
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
也可以用 CLI 保存云渲染 Token:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
cutcli login <apiToken>
|
|
48
|
+
cutcli config show --pretty
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Token 会保存到本机 `~/.cutcli/config.json`,输出中只显示 `<set>`。
|
|
52
|
+
|
|
53
|
+
云渲染状态码:
|
|
54
|
+
|
|
55
|
+
| status | 含义 |
|
|
56
|
+
|--------|------|
|
|
57
|
+
| `0` | 初始创建,尚未正式入队 |
|
|
58
|
+
| `1` | 已提交/排队中,等待云渲染机器领取 |
|
|
59
|
+
| `2` | 处理中,机器已领取任务并开始渲染 |
|
|
60
|
+
| `3` | 草稿 ID 异常或草稿 ID 不存在 |
|
|
61
|
+
| `5` | 处理超时 |
|
|
62
|
+
| `6` | 处理失败 |
|
|
63
|
+
| `7` | 成功完成,此时才会写入 `video_url` |
|
|
64
|
+
|
|
65
|
+
## 核心概念
|
|
66
|
+
|
|
67
|
+
- 一个草稿就是磁盘上的剪映兼容工程文件夹。
|
|
68
|
+
- 默认草稿路径是 `~/Movies/JianyingPro Drafts/{draftId}/`。
|
|
69
|
+
- 低层 SDK API 的时间数值使用微秒。
|
|
70
|
+
- AI Draft Spec 和 `cutcli image/text/audio/video add` 支持更易读的时间字符串,例如 `3s`、`500ms`、`300000us`。
|
|
71
|
+
- 媒体 URL 和本地文件路径会被复制/下载到草稿的 `resources` 文件夹。
|
|
72
|
+
|
|
73
|
+
## 推荐优先使用
|
|
74
|
+
|
|
75
|
+
AI 生成视频草稿时,优先使用 `createDraftFromSpec`。它允许用一个 JSON 对象描述完整时间线,再由 SDK 调用底层草稿 API。
|
|
76
|
+
|
|
77
|
+
创建草稿后还需要补充高级操作时,可以使用带 `afterCreate` 的 `createAndRenderDraft`,或直接调用低层 API。
|
|
78
|
+
|
|
79
|
+
使用命令行时,优先使用:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
cutcli spec validate --file draft.json --pretty
|
|
83
|
+
cutcli spec create --file draft.json --pretty
|
|
84
|
+
cutcli spec render --file draft.json --cloud --wait --pretty
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
逐步修改草稿时,优先使用便捷命令:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cutcli text add <draftId> --text "标题" --start 0s --duration 3s --font-size 8
|
|
91
|
+
cutcli image add <draftId> --src ./素材/bg.png --start 0s --duration 5s --width 1080 --height 1920
|
|
92
|
+
cutcli audio add <draftId> --src ./素材/bgm.mp3 --start 0s --duration 20s
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
AI 调用 CLI 时,如果需要结构化错误输出,可以加 `--json-errors` 或设置 `CUTCLI_JSON_ERRORS=1`。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# cutsdk API 速查
|
|
2
2
|
|
|
3
3
|
从 `cutsdk` 导入:
|
|
4
4
|
|
|
@@ -17,6 +17,8 @@ import {
|
|
|
17
17
|
addSticker,
|
|
18
18
|
addKeyframes,
|
|
19
19
|
addMasks,
|
|
20
|
+
getTextEffects,
|
|
21
|
+
getTextEffect,
|
|
20
22
|
renderDraft,
|
|
21
23
|
isCutSdkError,
|
|
22
24
|
} from 'cutsdk';
|
|
@@ -49,7 +51,6 @@ const result = await createAndRenderDraft({
|
|
|
49
51
|
render: {
|
|
50
52
|
cloud: true,
|
|
51
53
|
apiToken: process.env.CUT_API_TOKEN,
|
|
52
|
-
apiBase: process.env.CUT_UPLOAD_API_BASE,
|
|
53
54
|
},
|
|
54
55
|
});
|
|
55
56
|
|
|
@@ -73,6 +74,8 @@ await addCaptions({
|
|
|
73
74
|
captions: [{ text: 'Hello', start: 0, end: 5000000 }],
|
|
74
75
|
fontSize: 8,
|
|
75
76
|
textColor: '#ffffff',
|
|
77
|
+
textEffect: '红黄火焰综艺花字',
|
|
78
|
+
hasShadow: true,
|
|
76
79
|
});
|
|
77
80
|
```
|
|
78
81
|
|
|
@@ -126,7 +129,28 @@ try {
|
|
|
126
129
|
## 对应 CLI 命令
|
|
127
130
|
|
|
128
131
|
```bash
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
cutcli draft create --width 1080 --height 1920
|
|
133
|
+
cutcli query text-effects --keyword 火焰 --limit 5
|
|
134
|
+
cutcli text add <draftId> --text "Hello" --start 0s --duration 3s
|
|
135
|
+
cutcli image add <draftId> --src ./素材/bg.png --start 0s --duration 5s --width 1080 --height 1920
|
|
136
|
+
cutcli cloud render <draftId> --wait
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
云渲染状态:
|
|
140
|
+
|
|
141
|
+
| status | 含义 |
|
|
142
|
+
|--------|------|
|
|
143
|
+
| `0` | 初始创建,尚未正式入队 |
|
|
144
|
+
| `1` | 已提交/排队中 |
|
|
145
|
+
| `2` | 处理中 |
|
|
146
|
+
| `3` | 草稿 ID 异常或不存在 |
|
|
147
|
+
| `5` | 处理超时 |
|
|
148
|
+
| `6` | 处理失败 |
|
|
149
|
+
| `7` | 成功完成,读取 `video_url` |
|
|
150
|
+
|
|
151
|
+
## 花字查询
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
const effects = await getTextEffects({ keyword: '火焰', limit: 5 });
|
|
155
|
+
const exact = await getTextEffect({ name: effects.effects[0].title });
|
|
132
156
|
```
|
package/dist/api/setup/templates/project/{cut-sdk → cutcli-docs}/examples/03-create-and-render.ts
RENAMED
|
@@ -27,7 +27,7 @@ async function main() {
|
|
|
27
27
|
},
|
|
28
28
|
output: {
|
|
29
29
|
draftsDir: process.env.CUT_DRAFTS_DIR,
|
|
30
|
-
name: '
|
|
30
|
+
name: 'cutcli-render-demo',
|
|
31
31
|
},
|
|
32
32
|
afterCreate: async ({ draft, clip }) => {
|
|
33
33
|
const firstImage = clip('image', 0);
|
|
@@ -52,7 +52,6 @@ async function main() {
|
|
|
52
52
|
render: {
|
|
53
53
|
cloud: true,
|
|
54
54
|
apiToken: process.env.CUT_API_TOKEN,
|
|
55
|
-
apiBase: process.env.CUT_UPLOAD_API_BASE,
|
|
56
55
|
wait: true,
|
|
57
56
|
},
|
|
58
57
|
});
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# cutcli CLI 示例
|
|
2
|
+
|
|
3
|
+
当用户希望使用命令行而不是 SDK 代码时,参考这些示例。
|
|
4
|
+
|
|
5
|
+
## 创建草稿
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
cutcli draft create --width 1080 --height 1920 --pretty
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
输出中会包含 `draftId`,后续命令都使用这个草稿 ID。
|
|
12
|
+
|
|
13
|
+
## 使用 Draft Spec 创建完整草稿
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cutcli spec validate --file draft.json --pretty
|
|
17
|
+
cutcli spec create --file draft.json --pretty
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
需要云渲染时:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
cutcli spec render --file draft.json --cloud --wait --pretty
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 便捷添加单个素材
|
|
27
|
+
|
|
28
|
+
便捷命令支持 `1.5s`、`500ms`、`300000us` 这类时间字符串。
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cutcli query text-effects --keyword 火焰 --limit 5 --pretty
|
|
32
|
+
cutcli text add <draftId> --text "主标题" --start 0s --duration 3s --font-size 10 \
|
|
33
|
+
--text-effect "红黄火焰综艺花字" --border-color "#000000" --shadow --shadow-color "#000000" --pretty
|
|
34
|
+
cutcli image add <draftId> --src ./素材/bg.png --start 0s --duration 5s --width 1080 --height 1920 \
|
|
35
|
+
--in-animation 渐显 --in-animation-duration 500ms --transition 叠化 --transition-duration 500ms --pretty
|
|
36
|
+
cutcli audio add <draftId> --src ./素材/bgm.mp3 --start 0s --duration 20s --pretty
|
|
37
|
+
cutcli video add <draftId> --src ./素材/clip.mp4 --start 5s --duration 3s --width 1080 --height 1920 \
|
|
38
|
+
--mask 圆形 --scale-x 0.9 --scale-y 0.9 --pretty
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 批量 JSON 命令
|
|
42
|
+
|
|
43
|
+
单素材命令是本地拼接主路径。下面的 `captions/images/audios` 批量 JSON 命令用于一次添加多段素材,或需要更细字段时使用。
|
|
44
|
+
|
|
45
|
+
### 添加字幕
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
cutcli captions add <draftId> --captions '[
|
|
49
|
+
{
|
|
50
|
+
"text": "CLI 字幕示例",
|
|
51
|
+
"start": 0,
|
|
52
|
+
"end": 3000000,
|
|
53
|
+
"keyword": "CLI",
|
|
54
|
+
"keywordColor": "#00ffaa",
|
|
55
|
+
"inAnimation": "渐显",
|
|
56
|
+
"outAnimation": "渐隐",
|
|
57
|
+
"inAnimationDuration": 500000,
|
|
58
|
+
"outAnimationDuration": 500000
|
|
59
|
+
}
|
|
60
|
+
]' --font-size 8 --text-color "#ffffff" --bold --text-effect "红黄火焰综艺花字" --shadow --pretty
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 添加图片
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
cutcli images add <draftId> --image-infos '[
|
|
67
|
+
{
|
|
68
|
+
"imageUrl": "/absolute/path/to/background.png",
|
|
69
|
+
"width": 1080,
|
|
70
|
+
"height": 1920,
|
|
71
|
+
"start": 0,
|
|
72
|
+
"end": 5000000
|
|
73
|
+
}
|
|
74
|
+
]' --scale-x 0.9 --scale-y 0.9 --transform-y 0.05 --pretty
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 添加音频
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
cutcli audios add <draftId> --audio-infos '[
|
|
81
|
+
{
|
|
82
|
+
"audioUrl": "/absolute/path/to/music.mp3",
|
|
83
|
+
"duration": 5000000,
|
|
84
|
+
"start": 0,
|
|
85
|
+
"end": 5000000,
|
|
86
|
+
"volume": 0.7
|
|
87
|
+
}
|
|
88
|
+
]' --pretty
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 渲染
|
|
92
|
+
|
|
93
|
+
首次使用云渲染前保存 Token:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
cutcli login <apiToken>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
cutcli cloud render <draftId> --wait --pretty
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## JSON 文件输入
|
|
104
|
+
|
|
105
|
+
大多数 JSON 参数也支持 `@file.json`:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
cutcli captions add <draftId> --captions @captions.json --pretty
|
|
109
|
+
```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# cutsdk 快速开始
|
|
2
2
|
|
|
3
3
|
## 1. 安装
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@ async function main() {
|
|
|
24
24
|
clips: [
|
|
25
25
|
{
|
|
26
26
|
type: 'caption',
|
|
27
|
-
text: '第一个
|
|
27
|
+
text: '第一个 cutsdk 草稿',
|
|
28
28
|
start: '0s',
|
|
29
29
|
duration: '3s',
|
|
30
30
|
position: 'center',
|
|
@@ -108,3 +108,23 @@ AI Draft Spec:
|
|
|
108
108
|
```ts
|
|
109
109
|
{ start: '0s', duration: '3s' }
|
|
110
110
|
```
|
|
111
|
+
|
|
112
|
+
## 6. CLI 本地路径与文字效果
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
cutcli draft easy <draftId> --audio-src ./素材/bgm.mp3 --image-src ./素材/bg.png \
|
|
116
|
+
--text "爆款标题" --font-size 10 --text-color "#ffffff"
|
|
117
|
+
|
|
118
|
+
cutcli query text-effects --keyword 火焰 --limit 5
|
|
119
|
+
cutcli text add <draftId> --text "爆款标题" --start 0s --duration 3s \
|
|
120
|
+
--text-effect "红黄火焰综艺花字" --shadow --shadow-color "#000000"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 7. 云渲染状态
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
cutcli cloud render <draftId> --wait --pretty
|
|
127
|
+
cutcli cloud result <jobId> --pretty
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
状态 `0/1/2` 表示等待或处理中;`3/5/6` 表示失败终态;只有 `7` 表示成功,此时才会有 `video_url`。
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,MAAM;;;;;;;;;CASlB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -16,11 +16,12 @@ function defaultDraftsDir() {
|
|
|
16
16
|
}
|
|
17
17
|
exports.config = {
|
|
18
18
|
draftsDir: process.env.CUT_DRAFTS_DIR || defaultDraftsDir(),
|
|
19
|
+
uploadBaseUrl: 'https://cutsdk-api.51sux.com',
|
|
19
20
|
api: {
|
|
20
|
-
baseUrl:
|
|
21
|
+
baseUrl: 'https://cutsdk-api.51sux.com',
|
|
21
22
|
},
|
|
22
23
|
uploadApi: {
|
|
23
|
-
baseUrl:
|
|
24
|
+
baseUrl: 'https://cutsdk-api.51sux.com',
|
|
24
25
|
},
|
|
25
26
|
};
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAEY,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,gBAAgB,EAAE;IAC3D,GAAG,EAAE;QACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AACpB,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAEY,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,gBAAgB,EAAE;IAC3D,aAAa,EAAE,8BAA8B;IAC7C,GAAG,EAAE;QACH,OAAO,EAAE,8BAA8B;KACxC;IACD,SAAS,EAAE;QACT,OAAO,EAAE,8BAA8B;KACxC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effects.d.ts","sourceRoot":"","sources":["../../../src/draft/drafts/Effects.js"],"names":[],"mappings":"AAIA;IAoEI,
|
|
1
|
+
{"version":3,"file":"Effects.d.ts","sourceRoot":"","sources":["../../../src/draft/drafts/Effects.js"],"names":[],"mappings":"AAIA;IAoEI,qEASC;IA1ED,2CA4DC;IA3DG;;;;QAAuB;IAiBnB,eAAiC;IACjC,UAAuB;IACvB,iBAAqC;IAqBzC,gCAAiC;IACjC,0BAA0B;IAC1B,sBAA4B;IAC5B,oBAAqB;IACrB,sBAAuB;IACvB,wBAA0B;IAC1B,4BAA8B;IAC9B,mBAAoB;IACpB,WAAkB;IAClB,aAAc;IACd,iBAAqB;IACrB,qBAAqB;IACrB,mBAAoB;IACpB,wBAAwB;IACxB,gBAAsB;IACtB,2BAA2B;IAC3B,aAA0B;IAC1B,cAAgB;IAChB,gBAAiB;CAsBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effects.js","sourceRoot":"","sources":["../../../src/draft/drafts/Effects.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Effects.js","sourceRoot":"","sources":["../../../src/draft/drafts/Effects.js"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -50,7 +50,13 @@ export declare const addTextStyle: (params: import("./types").AddTextStyleInput)
|
|
|
50
50
|
export declare const submitVideoRenderTask: (params: import("./types").SubmitVideoRenderTaskInput) => Promise<import("./types").SubmitVideoRenderTaskOutput>;
|
|
51
51
|
export declare const uploadDraft: (input: import("./types").UploadDraftInput) => Promise<import("./types").UploadDraftOutput>;
|
|
52
52
|
export declare const renderDraft: (input: import("./types").RenderDraftInput) => Promise<import("./types").RenderDraftOutput>;
|
|
53
|
+
export declare const getCloudRenderStatus: (params: {
|
|
54
|
+
taskId: string;
|
|
55
|
+
apiToken?: string;
|
|
56
|
+
}) => Promise<Record<string, unknown>>;
|
|
53
57
|
export declare const getAudioDuration: (params: import("./types").GetAudioDurationInput) => Promise<import("./types").GetAudioDurationOutput>;
|
|
54
58
|
export declare const getImageAnimations: (params?: import("./types").GetImageAnimationsInput | undefined) => Promise<import("./types").GetImageAnimationsOutput>;
|
|
59
|
+
export declare const getTextEffects: (params?: import("./types").GetTextEffectsInput | undefined) => Promise<import("./types").GetTextEffectsOutput>;
|
|
60
|
+
export declare const getTextEffect: (params: import("./types").GetTextEffectInput) => Promise<import("./types").GetTextEffectOutput>;
|
|
55
61
|
export * from './types';
|
|
56
62
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkD,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAmB5H,OAAO,EAAE,uBAAuB,EAAsD,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkD,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAmB5H,OAAO,EAAE,uBAAuB,EAAsD,MAAM,sCAAsC,CAAC;AAMnI,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnH,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE5F,eAAO,MAAM,WAAW,2GAAsD,CAAC;AAC/E,eAAO,MAAM,YAAY;;0CAAwD,CAAC;AAClF,eAAO,MAAM,UAAU,kDAAoD,CAAC;AAC5E,eAAO,MAAM,kBAAkB,4GAAoE,CAAC;AACpG,eAAO,MAAM,mBAAmB,6FAAsE,CAAC;AACvG,eAAO,MAAM,oBAAoB,+GAAwE,CAAC;AAC1G,eAAO,MAAM,WAAW,8FAAsD,CAAC;AAC/E,eAAO,MAAM,WAAW;;8CAAsD,CAAC;AAC/E,eAAO,MAAM,SAAS,0FAAkD,CAAC;AACzE,eAAO,MAAM,SAAS;;4CAAkD,CAAC;AACzE,eAAO,MAAM,SAAS,0FAAkD,CAAC;AACzE,eAAO,MAAM,SAAS;;4CAAkD,CAAC;AACzE,eAAO,MAAM,SAAS,0FAAkD,CAAC;AACzE,eAAO,MAAM,SAAS;;4CAAkD,CAAC;AACzE,eAAO,MAAM,UAAU,4FAAoD,CAAC;AAC5E,eAAO,MAAM,UAAU;;6CAAoD,CAAC;AAC5E,eAAO,MAAM,UAAU,4FAAoD,CAAC;AAC5E,eAAO,MAAM,WAAW;;8CAAsD,CAAC;AAC/E,eAAO,MAAM,YAAY,gGAAwD,CAAC;AAClF,eAAO,MAAM,YAAY;;;+CAAwD,CAAC;AAClF,eAAO,MAAM,QAAQ,wFAAgD,CAAC;AACtE,eAAO,MAAM,QAAQ;;;2CAAgD,CAAC;AACtE,eAAO,MAAM,YAAY,gGAAwD,CAAC;AAClF,eAAO,MAAM,qBAAqB,kHAA0E,CAAC;AAC7G,eAAO,MAAM,WAAW,6FAAsD,CAAC;AAC/E,eAAO,MAAM,WAAW,6FAAsD,CAAC;AAC/E,eAAO,MAAM,oBAAoB;;;sCAAwE,CAAC;AAC1G,eAAO,MAAM,gBAAgB,wGAAgE,CAAC;AAC9F,eAAO,MAAM,kBAAkB,yHAAoE,CAAC;AACpG,eAAO,MAAM,cAAc,iHAA4D,CAAC;AACxF,eAAO,MAAM,aAAa,kGAA0D,CAAC;AAErF,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getImageAnimations = exports.getAudioDuration = exports.renderDraft = exports.uploadDraft = exports.submitVideoRenderTask = exports.addTextStyle = exports.getMasks = exports.addMasks = exports.getKeyframes = exports.addKeyframes = exports.getStickers = exports.addSticker = exports.getEffects = exports.addEffects = exports.getAudios = exports.addAudios = exports.getVideos = exports.addVideos = exports.getImages = exports.addImages = exports.getCaptions = exports.addCaptions = exports.createAndRenderDraft = exports.createDraftFromSpec = exports.easyCreateMaterial = exports.listDrafts = exports.getDraftInfo = exports.createDraft = exports.withSdkErrorContext = exports.parseSdkJson = exports.normalizeSdkError = exports.isCutSdkError = exports.CutSdkError = exports.registerDraftUrl = exports.normalizeDraftRenderUrl = exports.validateDraftSpec = void 0;
|
|
17
|
+
exports.getTextEffect = exports.getTextEffects = exports.getImageAnimations = exports.getAudioDuration = exports.getCloudRenderStatus = exports.renderDraft = exports.uploadDraft = exports.submitVideoRenderTask = exports.addTextStyle = exports.getMasks = exports.addMasks = exports.getKeyframes = exports.addKeyframes = exports.getStickers = exports.addSticker = exports.getEffects = exports.addEffects = exports.getAudios = exports.addAudios = exports.getVideos = exports.addVideos = exports.getImages = exports.addImages = exports.getCaptions = exports.addCaptions = exports.createAndRenderDraft = exports.createDraftFromSpec = exports.easyCreateMaterial = exports.listDrafts = exports.getDraftInfo = exports.createDraft = exports.withSdkErrorContext = exports.parseSdkJson = exports.normalizeSdkError = exports.isCutSdkError = exports.CutSdkError = exports.registerDraftUrl = exports.normalizeDraftRenderUrl = exports.validateDraftSpec = void 0;
|
|
18
18
|
const errors_1 = require("./shared/errors");
|
|
19
19
|
const create_draft_1 = require("./api/draft/create-draft");
|
|
20
20
|
const get_draft_info_1 = require("./api/draft/get-draft-info");
|
|
@@ -46,6 +46,7 @@ const upload_draft_1 = require("./api/cloud/upload-draft");
|
|
|
46
46
|
const render_draft_1 = require("./api/cloud/render-draft");
|
|
47
47
|
const get_audio_duration_1 = require("./api/query/get-audio-duration");
|
|
48
48
|
const get_image_animations_1 = require("./api/query/get-image-animations");
|
|
49
|
+
const get_text_effects_1 = require("./api/query/get-text-effects");
|
|
49
50
|
const draft_service_1 = require("./shared/draft-service");
|
|
50
51
|
Object.defineProperty(exports, "registerDraftUrl", { enumerable: true, get: function () { return draft_service_1.registerDraftUrl; } });
|
|
51
52
|
var errors_2 = require("./shared/errors");
|
|
@@ -80,7 +81,10 @@ exports.addTextStyle = (0, errors_1.withSdkErrorContext)('addTextStyle', add_tex
|
|
|
80
81
|
exports.submitVideoRenderTask = (0, errors_1.withSdkErrorContext)('submitVideoRenderTask', submit_video_render_task_1.submitVideoRenderTask);
|
|
81
82
|
exports.uploadDraft = (0, errors_1.withSdkErrorContext)('uploadDraft', upload_draft_1.uploadDraft);
|
|
82
83
|
exports.renderDraft = (0, errors_1.withSdkErrorContext)('renderDraft', render_draft_1.renderDraft);
|
|
84
|
+
exports.getCloudRenderStatus = (0, errors_1.withSdkErrorContext)('getCloudRenderStatus', render_draft_1.getCloudRenderStatus);
|
|
83
85
|
exports.getAudioDuration = (0, errors_1.withSdkErrorContext)('getAudioDuration', get_audio_duration_1.getAudioDurationApi);
|
|
84
86
|
exports.getImageAnimations = (0, errors_1.withSdkErrorContext)('getImageAnimations', get_image_animations_1.getImageAnimations);
|
|
87
|
+
exports.getTextEffects = (0, errors_1.withSdkErrorContext)('getTextEffects', get_text_effects_1.getTextEffects);
|
|
88
|
+
exports.getTextEffect = (0, errors_1.withSdkErrorContext)('getTextEffect', get_text_effects_1.getTextEffect);
|
|
85
89
|
__exportStar(require("./types"), exports);
|
|
86
90
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAsD;AAEtD,2DAA0E;AAC1E,+DAA8E;AAC9E,yDAAuE;AACvE,2EAAgG;AAChG,oFAA4H;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,11 +33,10 @@ export interface RenderJobDetail {
|
|
|
33
33
|
renderJob: RenderJob;
|
|
34
34
|
events?: Array<Record<string, unknown>>;
|
|
35
35
|
}
|
|
36
|
-
export declare const DEFAULT_CLOUD_API_BASE = "https://api.
|
|
36
|
+
export declare const DEFAULT_CLOUD_API_BASE = "https://cutsdk-api.51sux.com";
|
|
37
37
|
export declare function getCloudApiToken(explicitToken?: string): string;
|
|
38
|
-
export declare function normalizeCloudApiBase(
|
|
38
|
+
export declare function normalizeCloudApiBase(): string;
|
|
39
39
|
export declare function cloudRequest<T>(path: string, init?: fetch.RequestInit, options?: {
|
|
40
|
-
apiBase?: string;
|
|
41
40
|
apiToken?: string;
|
|
42
41
|
}): Promise<T>;
|
|
43
42
|
export declare function createDraftUpload(params: {
|
|
@@ -45,20 +44,16 @@ export declare function createDraftUpload(params: {
|
|
|
45
44
|
filename: string;
|
|
46
45
|
metadata?: unknown;
|
|
47
46
|
}, options?: {
|
|
48
|
-
apiBase?: string;
|
|
49
47
|
apiToken?: string;
|
|
50
48
|
}): Promise<DraftPresignResponse>;
|
|
51
49
|
export declare function uploadDraftZip(uploadUrl: string, buffer: Buffer, contentType?: string): Promise<void>;
|
|
52
50
|
export declare function confirmDraftUpload(draftUploadId: string, size: number, options?: {
|
|
53
|
-
apiBase?: string;
|
|
54
51
|
apiToken?: string;
|
|
55
52
|
}): Promise<DraftConfirmResponse>;
|
|
56
53
|
export declare function createRenderJob(draftUploadId: string, options?: {
|
|
57
|
-
apiBase?: string;
|
|
58
54
|
apiToken?: string;
|
|
59
55
|
}): Promise<RenderJob>;
|
|
60
56
|
export declare function getRenderJob(id: string, options?: {
|
|
61
|
-
apiBase?: string;
|
|
62
57
|
apiToken?: string;
|
|
63
58
|
}): Promise<RenderJobDetail>;
|
|
64
59
|
//# sourceMappingURL=cloud-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-client.d.ts","sourceRoot":"","sources":["../../src/shared/cloud-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"cloud-client.d.ts","sourceRoot":"","sources":["../../src/shared/cloud-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,sBAAsB,iCAAiC,CAAC;AAErE,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB/D;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,KAAK,CAAC,WAAgB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACjE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAM/B;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,SAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAU/B;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,OAAO,CAAC,eAAe,CAAC,CAM1B"}
|
|
@@ -14,7 +14,7 @@ exports.createRenderJob = createRenderJob;
|
|
|
14
14
|
exports.getRenderJob = getRenderJob;
|
|
15
15
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
16
16
|
const errors_1 = require("./errors");
|
|
17
|
-
exports.DEFAULT_CLOUD_API_BASE = 'https://api.
|
|
17
|
+
exports.DEFAULT_CLOUD_API_BASE = 'https://cutsdk-api.51sux.com';
|
|
18
18
|
function getCloudApiToken(explicitToken) {
|
|
19
19
|
const tokenSource = explicitToken
|
|
20
20
|
? 'apiToken'
|
|
@@ -35,14 +35,14 @@ function getCloudApiToken(explicitToken) {
|
|
|
35
35
|
}
|
|
36
36
|
return token;
|
|
37
37
|
}
|
|
38
|
-
function normalizeCloudApiBase(
|
|
39
|
-
const raw =
|
|
38
|
+
function normalizeCloudApiBase() {
|
|
39
|
+
const raw = exports.DEFAULT_CLOUD_API_BASE.trim().replace(/\/+$/, '');
|
|
40
40
|
if (!raw)
|
|
41
41
|
return exports.DEFAULT_CLOUD_API_BASE;
|
|
42
42
|
return raw.replace(/\/api\/cutcli$/i, '').replace(/\/api$/i, '');
|
|
43
43
|
}
|
|
44
44
|
async function cloudRequest(path, init = {}, options = {}) {
|
|
45
|
-
const url = `${normalizeCloudApiBase(
|
|
45
|
+
const url = `${normalizeCloudApiBase()}${path}`;
|
|
46
46
|
const headers = new node_fetch_1.default.Headers(init.headers);
|
|
47
47
|
if (!headers.has('Authorization')) {
|
|
48
48
|
headers.set('Authorization', `Bearer ${getCloudApiToken(options.apiToken)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-client.js","sourceRoot":"","sources":["../../src/shared/cloud-client.ts"],"names":[],"mappings":";;;;;;AA2CA,4CAmBC;AAED,sDAIC;AAED,oCA4BC;AAED,8CASC;AAED,wCA8BC;AAED,gDAcC;AAED,0CAUC;AAED,oCASC;AApLD,4DAA+B;AAC/B,qCAAuC;AAwC1B,QAAA,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"cloud-client.js","sourceRoot":"","sources":["../../src/shared/cloud-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/shared/media.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/shared/media.ts"],"names":[],"mappings":"AAmCA,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBnE;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBhG"}
|
package/dist/shared/media.js
CHANGED
|
@@ -39,16 +39,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.getAudioDuration = getAudioDuration;
|
|
40
40
|
exports.getImageDimensions = getImageDimensions;
|
|
41
41
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
42
|
+
const fs_1 = __importDefault(require("fs"));
|
|
43
|
+
const path_1 = __importDefault(require("path"));
|
|
42
44
|
const errors_1 = require("./errors");
|
|
45
|
+
function isUrl(input) {
|
|
46
|
+
return /^https?:\/\//i.test(input);
|
|
47
|
+
}
|
|
48
|
+
async function readSourceBuffer(source, mediaType) {
|
|
49
|
+
if (!isUrl(source)) {
|
|
50
|
+
const resolved = path_1.default.resolve(source);
|
|
51
|
+
if (!fs_1.default.existsSync(resolved)) {
|
|
52
|
+
throw new Error(`Local ${mediaType} file not found: ${resolved}`);
|
|
53
|
+
}
|
|
54
|
+
return fs_1.default.readFileSync(resolved);
|
|
55
|
+
}
|
|
56
|
+
const response = await (0, node_fetch_1.default)(source);
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
throw new Error(`Failed to download ${mediaType} from: ${source}`);
|
|
59
|
+
}
|
|
60
|
+
return response.buffer();
|
|
61
|
+
}
|
|
62
|
+
function audioMimeFromPath(source) {
|
|
63
|
+
const ext = path_1.default.extname(source).toLowerCase();
|
|
64
|
+
if (ext === '.wav')
|
|
65
|
+
return 'audio/wav';
|
|
66
|
+
if (ext === '.m4a')
|
|
67
|
+
return 'audio/mp4';
|
|
68
|
+
if (ext === '.aac')
|
|
69
|
+
return 'audio/aac';
|
|
70
|
+
if (ext === '.flac')
|
|
71
|
+
return 'audio/flac';
|
|
72
|
+
if (ext === '.ogg')
|
|
73
|
+
return 'audio/ogg';
|
|
74
|
+
return 'audio/mpeg';
|
|
75
|
+
}
|
|
43
76
|
async function getAudioDuration(url) {
|
|
44
77
|
try {
|
|
45
78
|
const { parseBuffer } = await Promise.resolve().then(() => __importStar(require('music-metadata')));
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
throw new Error(`Failed to download audio from: ${url}`);
|
|
49
|
-
}
|
|
50
|
-
const buffer = await response.buffer();
|
|
51
|
-
const metadata = await parseBuffer(buffer, 'audio/mpeg', { duration: true });
|
|
79
|
+
const buffer = await readSourceBuffer(url, 'audio');
|
|
80
|
+
const metadata = await parseBuffer(buffer, audioMimeFromPath(url), { duration: true });
|
|
52
81
|
const duration = metadata.format.duration;
|
|
53
82
|
if (duration === undefined) {
|
|
54
83
|
throw new Error('Unable to determine audio duration');
|
|
@@ -68,11 +97,7 @@ async function getAudioDuration(url) {
|
|
|
68
97
|
async function getImageDimensions(url) {
|
|
69
98
|
try {
|
|
70
99
|
const { imageSize } = await Promise.resolve().then(() => __importStar(require('image-size')));
|
|
71
|
-
const
|
|
72
|
-
if (!response.ok) {
|
|
73
|
-
throw new Error(`Failed to download image from: ${url}`);
|
|
74
|
-
}
|
|
75
|
-
const buffer = await response.buffer();
|
|
100
|
+
const buffer = await readSourceBuffer(url, 'image');
|
|
76
101
|
const dimensions = imageSize(buffer);
|
|
77
102
|
if (!dimensions.width || !dimensions.height) {
|
|
78
103
|
throw new Error('Unable to parse image dimensions');
|