cli-anything-transcode-api-v2 0.1.1__tar.gz → 0.1.3__tar.gz
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.
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/PKG-INFO +1 -1
- cli_anything_transcode_api_v2-0.1.3/cli_anything/transcode_api_v2/skills/SKILL.md +620 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/transcode_api_v2_cli.py +2 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything_transcode_api_v2.egg-info/PKG-INFO +1 -1
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/setup.py +1 -1
- cli_anything_transcode_api_v2-0.1.1/cli_anything/transcode_api_v2/skills/SKILL.md +0 -178
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/__init__.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/__main__.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/core/__init__.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/core/client.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/core/session.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/utils/__init__.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything/transcode_api_v2/utils/formatting.py +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything_transcode_api_v2.egg-info/SOURCES.txt +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything_transcode_api_v2.egg-info/dependency_links.txt +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything_transcode_api_v2.egg-info/entry_points.txt +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything_transcode_api_v2.egg-info/requires.txt +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/cli_anything_transcode_api_v2.egg-info/top_level.txt +0 -0
- {cli_anything_transcode_api_v2-0.1.1 → cli_anything_transcode_api_v2-0.1.3}/setup.cfg +0 -0
|
@@ -0,0 +1,620 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "cli-anything-transcode-api-v2"
|
|
3
|
+
description: "视频/音频转码与AI媒体处理命令行工具。支持提交VOD转码任务、调用30种AI媒体处理操作(视频裁剪、拼接、变速、静音、倒放、旋转、转GIF、配音、混音、调音量、音频裁剪、变速、质量评估等)、管理转码模板、查询直播任务、服务健康检查。通过 /intf.php API 与 transcode_api_v2 服务交互。"
|
|
4
|
+
triggers:
|
|
5
|
+
- "视频裁剪"
|
|
6
|
+
- "视频拼接"
|
|
7
|
+
- "视频转码"
|
|
8
|
+
- "视频处理"
|
|
9
|
+
- "音频处理"
|
|
10
|
+
- "音频提取"
|
|
11
|
+
- "视频变速"
|
|
12
|
+
- "视频静音"
|
|
13
|
+
- "视频倒放"
|
|
14
|
+
- "视频旋转"
|
|
15
|
+
- "视频转GIF"
|
|
16
|
+
- "视频配音"
|
|
17
|
+
- "视频混音"
|
|
18
|
+
- "调整音量"
|
|
19
|
+
- "音频裁剪"
|
|
20
|
+
- "音频变速"
|
|
21
|
+
- "视频质量评估"
|
|
22
|
+
- "视频转场"
|
|
23
|
+
- "transcode video"
|
|
24
|
+
- "video clip"
|
|
25
|
+
- "media processing"
|
|
26
|
+
- "transcode_api_v2"
|
|
27
|
+
- "提交转码任务"
|
|
28
|
+
- "查询任务状态"
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# cli-anything-transcode-api-v2
|
|
32
|
+
|
|
33
|
+
视频/音频转码与AI媒体处理命令行工具,封装了 `transcode_api_v2` PHP API 的所有接口。
|
|
34
|
+
|
|
35
|
+
## 安装
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pip install cli-anything-transcode-api-v2
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 环境变量配置(推荐)
|
|
42
|
+
|
|
43
|
+
使用前先设置环境变量,避免每次重复输入认证参数:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# 基础认证(所有命令必填)
|
|
47
|
+
export TRANSCODE_API_BASE_URL=http://your-server:8090 # API服务地址
|
|
48
|
+
export TRANSCODE_API_SNAME=your_sname # 服务命名空间
|
|
49
|
+
export TRANSCODE_API_AK=your_access_key # AccessKey(32位hex)
|
|
50
|
+
export TRANSCODE_API_SK=your_secret_key # SecretAccessKey
|
|
51
|
+
|
|
52
|
+
# Media模块专用(使用 media 子命令时必填)
|
|
53
|
+
export TRANSCODE_API_MEDIA_SERVICE=your_service # 媒体服务名称
|
|
54
|
+
export TRANSCODE_API_MEDIA_BUCKET=your_bucket # 输出OSS bucket名
|
|
55
|
+
export TRANSCODE_API_OSS_HOST=http://your-oss-host/ # OSS服务地址
|
|
56
|
+
export TRANSCODE_API_OSS_AK=your_oss_ak # OSS AccessKey
|
|
57
|
+
export TRANSCODE_API_OSS_SK=your_oss_sk # OSS SecretKey
|
|
58
|
+
export TRANSCODE_API_OSS_REGION=your_region # OSS区域
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
设置完环境变量后,命令中无需再写 `--base-url`、`--ak`、`--sk` 等参数。
|
|
62
|
+
|
|
63
|
+
## 全局参数
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
cli-anything-transcode-api-v2 [全局参数] <命令组> <子命令> [参数]
|
|
67
|
+
|
|
68
|
+
全局参数:
|
|
69
|
+
--base-url TEXT API地址 (环境变量 TRANSCODE_API_BASE_URL)
|
|
70
|
+
--sname TEXT 服务命名空间 (环境变量 TRANSCODE_API_SNAME)
|
|
71
|
+
--ak TEXT AccessKey (环境变量 TRANSCODE_API_AK)
|
|
72
|
+
--sk TEXT SecretAccessKey (环境变量 TRANSCODE_API_SK)
|
|
73
|
+
--json 输出JSON格式(供程序处理)
|
|
74
|
+
--repl 启动交互REPL模式
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 认证说明
|
|
78
|
+
|
|
79
|
+
CLI 自动使用 HMAC-SHA1 计算签名,无需手动处理:
|
|
80
|
+
```
|
|
81
|
+
Authorization: <AK>:<base64(HMAC-SHA1(AK+"\n"+timestamp+"\n"+rand, SK))>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 命令组一览
|
|
87
|
+
|
|
88
|
+
| 命令组 | 功能 |
|
|
89
|
+
|--------|------|
|
|
90
|
+
| `task` | VOD转码任务管理(提交/查询/停止/等待) |
|
|
91
|
+
| `media` | AI媒体处理(30种操作,视频/音频/图片) |
|
|
92
|
+
| `template` | 转码模板管理 |
|
|
93
|
+
| `template-task` | 模板任务管理 |
|
|
94
|
+
| `live` | 直播转码任务管理 |
|
|
95
|
+
| `monitor` | 服务健康检查 |
|
|
96
|
+
| `session` | 会话结果存储 |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## task — VOD转码任务
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# 提交任务
|
|
104
|
+
cli-anything-transcode-api-v2 task add \
|
|
105
|
+
--service <服务名> \
|
|
106
|
+
--args '<JSON参数>' \
|
|
107
|
+
--bucket <输出桶> \
|
|
108
|
+
--weight low|normal|high \
|
|
109
|
+
--save-as <别名>
|
|
110
|
+
|
|
111
|
+
# 查询单个任务(成功时自动输出文件链接)
|
|
112
|
+
cli-anything-transcode-api-v2 task get <TID>
|
|
113
|
+
|
|
114
|
+
# 查询多个任务
|
|
115
|
+
cli-anything-transcode-api-v2 task get-many <TID1> <TID2> ...
|
|
116
|
+
|
|
117
|
+
# 停止任务
|
|
118
|
+
cli-anything-transcode-api-v2 task stop <TID>
|
|
119
|
+
|
|
120
|
+
# 轮询等待完成(推荐用这个代替手动轮询)
|
|
121
|
+
cli-anything-transcode-api-v2 task wait <TID> --timeout 300 --interval 5
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 任务状态码
|
|
125
|
+
|
|
126
|
+
| 状态码 | 含义 |
|
|
127
|
+
|--------|------|
|
|
128
|
+
| 0 | 排队中(queued) |
|
|
129
|
+
| 1 | 完成(done) |
|
|
130
|
+
| 2 | 失败(failed) |
|
|
131
|
+
| 3 | 发送中(sending) |
|
|
132
|
+
| 6 | 处理中(processing) |
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## media — AI媒体处理
|
|
137
|
+
|
|
138
|
+
### media组公共参数
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
cli-anything-transcode-api-v2 media \
|
|
142
|
+
--service <媒体服务名> (环境变量 TRANSCODE_API_MEDIA_SERVICE)
|
|
143
|
+
--bucket <bucket名> (环境变量 TRANSCODE_API_MEDIA_BUCKET)
|
|
144
|
+
--oss-host <OSS地址> (环境变量 TRANSCODE_API_OSS_HOST)
|
|
145
|
+
--oss-ak <OSS AK> (环境变量 TRANSCODE_API_OSS_AK)
|
|
146
|
+
--oss-sk <OSS SK> (环境变量 TRANSCODE_API_OSS_SK)
|
|
147
|
+
--oss-region <区域> (环境变量 TRANSCODE_API_OSS_REGION)
|
|
148
|
+
<子命令> [参数]
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 查询媒体任务结果
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# 查询任务(完成时自动输出文件下载链接)
|
|
155
|
+
cli-anything-transcode-api-v2 media get <TID>
|
|
156
|
+
|
|
157
|
+
# JSON格式输出(output_urls字段包含文件链接列表)
|
|
158
|
+
cli-anything-transcode-api-v2 --json media get <TID>
|
|
159
|
+
|
|
160
|
+
# 停止任务
|
|
161
|
+
cli-anything-transcode-api-v2 media stop <TID>
|
|
162
|
+
|
|
163
|
+
# 列出所有支持的Action名称
|
|
164
|
+
cli-anything-transcode-api-v2 media actions
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## media 子命令详情
|
|
170
|
+
|
|
171
|
+
### 视频处理
|
|
172
|
+
|
|
173
|
+
#### video-clip — 视频裁剪(按时间段)
|
|
174
|
+
按指定起止时间截取视频片段。
|
|
175
|
+
```bash
|
|
176
|
+
cli-anything-transcode-api-v2 media video-clip \
|
|
177
|
+
--input <视频URL> \ # 必填
|
|
178
|
+
--output <输出文件名> \ # 必填
|
|
179
|
+
--format mp4 \ # 必填,输出格式
|
|
180
|
+
--filmtitle 10 \ # 开始时间(秒),默认0
|
|
181
|
+
--filmendpoint 30 \ # 结束时间(秒),默认0
|
|
182
|
+
--width 0 \ # 输出宽度,0=保持原始
|
|
183
|
+
--height 0 # 输出高度,0=保持原始
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
#### video-cut-by-ratio — 视频按比例裁切
|
|
187
|
+
将视频裁切到指定宽高比(如9:16竖屏),自动裁去多余边缘。
|
|
188
|
+
```bash
|
|
189
|
+
cli-anything-transcode-api-v2 media video-cut-by-ratio \
|
|
190
|
+
--input-video <视频URL> \ # 必填
|
|
191
|
+
--output <输出文件名> \ # 必填
|
|
192
|
+
--format mp4 \ # 必填
|
|
193
|
+
--cut-ratio-width 9 \ # 目标宽高比宽,默认16
|
|
194
|
+
--cut-ratio-height 16 # 目标宽高比高,默认9
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
#### video-mute — 视频静音
|
|
198
|
+
移除视频音轨,输出无声视频。
|
|
199
|
+
```bash
|
|
200
|
+
cli-anything-transcode-api-v2 media video-mute \
|
|
201
|
+
--video-url <视频URL> \ # 必填
|
|
202
|
+
--output <输出文件名> # 必填
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### video-reverse — 视频倒放
|
|
206
|
+
将视频帧逆序排列,实现"倒带"播放效果。
|
|
207
|
+
```bash
|
|
208
|
+
cli-anything-transcode-api-v2 media video-reverse \
|
|
209
|
+
--video-url <视频URL> \ # 必填
|
|
210
|
+
--output <输出文件名> # 必填
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
#### video-rotate — 视频旋转/翻转
|
|
214
|
+
对视频进行旋转或镜像翻转。
|
|
215
|
+
```bash
|
|
216
|
+
cli-anything-transcode-api-v2 media video-rotate \
|
|
217
|
+
--video-url <视频URL> \ # 必填
|
|
218
|
+
--output <输出文件名> \ # 必填
|
|
219
|
+
--flip cw # 必填:ccw逆时针90°/cw顺时针90°/hflip水平镜像/vflip垂直镜像
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### video-stretch — 视频变速
|
|
223
|
+
改变视频播放速度,实现慢动作或快进效果。
|
|
224
|
+
```bash
|
|
225
|
+
cli-anything-transcode-api-v2 media video-stretch \
|
|
226
|
+
--input-video <视频URL> \ # 必填
|
|
227
|
+
--output <输出文件名> \ # 必填
|
|
228
|
+
--format mp4 \ # 必填
|
|
229
|
+
--speed-level 0.5 # 速度倍数,0.5=半速慢动作,2.0=2倍快进,默认0.5
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
#### video-cut-gif — 视频转GIF
|
|
233
|
+
将视频某一段转换为动态GIF图片。
|
|
234
|
+
```bash
|
|
235
|
+
cli-anything-transcode-api-v2 media video-cut-gif \
|
|
236
|
+
--input <视频URL> \ # 必填
|
|
237
|
+
--output <输出GIF文件名> \ # 必填
|
|
238
|
+
--gif-starttime 5 \ # 开始时间(秒),默认0
|
|
239
|
+
--duration 3 \ # 截取时长(秒),0=全部,默认0
|
|
240
|
+
--fps 15 # GIF帧率,默认25
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
#### video-fade — 视频转场拼接
|
|
244
|
+
将两段视频通过转场动画连接,支持多种过渡效果。
|
|
245
|
+
```bash
|
|
246
|
+
cli-anything-transcode-api-v2 media video-fade \
|
|
247
|
+
--first-video-url <第一段视频URL> \ # 必填
|
|
248
|
+
--second-video-url <第二段视频URL> \ # 必填
|
|
249
|
+
--output <输出文件名> \ # 必填
|
|
250
|
+
--transition vertclose \ # 转场效果:vertclose/circleopen/fade等,默认vertclose
|
|
251
|
+
--fade-duration 2 # 转场时长(秒),默认2
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
#### concat-video — 多视频拼接
|
|
255
|
+
将多个视频按顺序首尾拼接为一个完整视频。
|
|
256
|
+
```bash
|
|
257
|
+
cli-anything-transcode-api-v2 media concat-video \
|
|
258
|
+
--datasets <视频URL1> \ # 必填,可重复传入多个
|
|
259
|
+
--datasets <视频URL2> \
|
|
260
|
+
--output <输出文件名> \ # 必填
|
|
261
|
+
--format mp4 \ # 必填
|
|
262
|
+
--vbitrate 2500 \ # 视频码率kbps,默认2500
|
|
263
|
+
--abitrate 64 \ # 音频码率kbps,默认64
|
|
264
|
+
--fps 25 \ # 帧率,默认25
|
|
265
|
+
--crf 27 # 质量因子,越小越清晰,默认27
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
#### video-add-dub — 视频配音
|
|
269
|
+
用指定音频替换视频原始音轨,实现配音效果。
|
|
270
|
+
```bash
|
|
271
|
+
cli-anything-transcode-api-v2 media video-add-dub \
|
|
272
|
+
--video-url <视频URL> \ # 必填
|
|
273
|
+
--audio-url <音频URL> \ # 必填,配音音频
|
|
274
|
+
--output <输出文件名> \ # 必填
|
|
275
|
+
--mix-by-audio <URL> # 可选,第二路混音音频
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
#### video-add-audio — 视频混音
|
|
279
|
+
将音频轨道混入视频(与原音轨叠加)。
|
|
280
|
+
```bash
|
|
281
|
+
cli-anything-transcode-api-v2 media video-add-audio \
|
|
282
|
+
--video-url <视频URL> \ # 必填
|
|
283
|
+
--audio-url <音频URL> \ # 必填,混入的音频
|
|
284
|
+
--output <输出文件名> \ # 必填
|
|
285
|
+
--audio-adapt # 可选flag,自动循环/裁剪音频以适配视频时长
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
#### video-add-bgm — 添加背景音乐
|
|
289
|
+
为视频添加背景音乐,支持音量控制。
|
|
290
|
+
```bash
|
|
291
|
+
cli-anything-transcode-api-v2 media video-add-bgm \
|
|
292
|
+
--input-video <视频URL> \ # 必填
|
|
293
|
+
--output <输出文件名> \ # 必填
|
|
294
|
+
--format mp4 \ # 必填
|
|
295
|
+
--audio <背景音乐URL> \ # 背景音乐地址
|
|
296
|
+
--volume 50 # 音量,默认0
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
#### video-add-mask — 叠加WebM蒙层
|
|
300
|
+
将含透明通道的WebM视频(特效/蒙层)叠加到目标视频上。
|
|
301
|
+
```bash
|
|
302
|
+
cli-anything-transcode-api-v2 media video-add-mask \
|
|
303
|
+
--video-url <底层视频URL> \ # 必填
|
|
304
|
+
--webm-url <WebM蒙层URL> \ # 必填,需含透明通道的WebM文件
|
|
305
|
+
--output <输出文件名> # 必填
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
#### video-quality-assessment — 视频质量评估
|
|
309
|
+
对比目标视频与参考视频,计算VMAF、PSNR等质量评分。
|
|
310
|
+
```bash
|
|
311
|
+
cli-anything-transcode-api-v2 media video-quality-assessment \
|
|
312
|
+
--media-url <待评估视频URL> \ # 必填
|
|
313
|
+
--bash-url <参考基准视频URL> # 必填
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
### 音频处理
|
|
319
|
+
|
|
320
|
+
#### audio-extract — 提取音频
|
|
321
|
+
从视频文件中提取音轨,支持指定编码格式、采样率等。
|
|
322
|
+
```bash
|
|
323
|
+
cli-anything-transcode-api-v2 media audio-extract \
|
|
324
|
+
--input <视频URL> \ # 必填
|
|
325
|
+
--output <输出文件名> \ # 必填
|
|
326
|
+
--format mp3 \ # 输出格式
|
|
327
|
+
--acodec mp3 \ # 编码:copy/aac/pcm/mp3,默认copy
|
|
328
|
+
--achannel 2 \ # 声道数,1=单声道,2=立体声,默认1
|
|
329
|
+
--abitrate 128 \ # 音频码率kbps,默认64
|
|
330
|
+
--filmtitle 0 \ # 开始时间(秒)
|
|
331
|
+
--filmendpoint 0 # 结束时间(秒)
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
#### audio-cut-by-time — 音频裁剪
|
|
335
|
+
按起止时间裁剪音频文件。
|
|
336
|
+
```bash
|
|
337
|
+
cli-anything-transcode-api-v2 media audio-cut-by-time \
|
|
338
|
+
--input <音频URL> \ # 必填
|
|
339
|
+
--output <输出文件名> \ # 必填
|
|
340
|
+
--filmtitle 30 \ # 开始时间(秒),默认0
|
|
341
|
+
--filmendpoint 90 # 结束时间(秒),默认0
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
#### audio-concat — 多音频拼接
|
|
345
|
+
将多个音频文件首尾拼接为一个音频文件。
|
|
346
|
+
```bash
|
|
347
|
+
cli-anything-transcode-api-v2 media audio-concat \
|
|
348
|
+
--datasets <音频URL1> \ # 必填,可重复传入多个
|
|
349
|
+
--datasets <音频URL2> \
|
|
350
|
+
--output <输出文件名> \ # 必填
|
|
351
|
+
--format mp3 \ # 必填
|
|
352
|
+
--abitrate 64 \ # 音频码率,默认64
|
|
353
|
+
--achannel 1 # 声道数,默认1
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
#### audio-stretch — 音频变速(不变调)
|
|
357
|
+
改变音频播放速度,同时保持音调不变(时间拉伸)。
|
|
358
|
+
```bash
|
|
359
|
+
cli-anything-transcode-api-v2 media audio-stretch \
|
|
360
|
+
--audio-url <音频URL> \ # 必填
|
|
361
|
+
--output <输出文件名> \ # 必填
|
|
362
|
+
--speed-level 1.5 # 必填,速度倍数:0.5=半速,1.5=1.5倍,2.0=双速
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
#### media-adjust-volume — 调整音量
|
|
366
|
+
调整音频或视频文件中的音量大小。
|
|
367
|
+
```bash
|
|
368
|
+
cli-anything-transcode-api-v2 media media-adjust-volume \
|
|
369
|
+
--media-url <媒体URL> \ # 必填(音频或视频均可)
|
|
370
|
+
--output <输出文件名> \ # 必填
|
|
371
|
+
--volume 2.0 # 音量倍数:1.0=原始,2.0=两倍,0.5=一半,默认1.0
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
#### media-separati-voice — 人声/伴奏分离
|
|
375
|
+
使用AI将音频/视频中的人声与背景音乐(伴奏)分离。
|
|
376
|
+
```bash
|
|
377
|
+
# 提取人声
|
|
378
|
+
cli-anything-transcode-api-v2 media media-separati-voice \
|
|
379
|
+
--media-url <媒体URL> \ # 必填
|
|
380
|
+
--output <输出文件名> \ # 必填
|
|
381
|
+
--is-vocals # 加此flag=输出人声,不加=输出伴奏
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
### 图片处理
|
|
387
|
+
|
|
388
|
+
#### pic-to-video — 图片序列转视频
|
|
389
|
+
将多张图片按顺序合成为视频。
|
|
390
|
+
```bash
|
|
391
|
+
cli-anything-transcode-api-v2 media pic-to-video \
|
|
392
|
+
--datasets <图片URL1> \ # 必填,可重复
|
|
393
|
+
--datasets <图片URL2> \
|
|
394
|
+
--output <输出文件名> \ # 必填
|
|
395
|
+
--format mp4 \ # 必填
|
|
396
|
+
--width 1920 \ # 必填,输出宽度
|
|
397
|
+
--height 1080 \ # 必填,输出高度
|
|
398
|
+
--duration 3 \ # 每张图片显示时长(秒),默认10
|
|
399
|
+
--audio <背景音频URL> # 可选
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
#### pic-to-special-effects-video — 图片特效视频
|
|
403
|
+
将单张图片配合特效动画生成一段特效视频。
|
|
404
|
+
```bash
|
|
405
|
+
cli-anything-transcode-api-v2 media pic-to-special-effects-video \
|
|
406
|
+
--input-pic <图片URL> \ # 必填
|
|
407
|
+
--output <输出文件名> \ # 必填
|
|
408
|
+
--format mp4 \ # 必填
|
|
409
|
+
--image-trans-type 1 \ # 特效类型索引,默认1
|
|
410
|
+
--duration 10 \ # 视频时长(秒),默认10
|
|
411
|
+
--audio <背景音频URL> # 可选
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
#### image-enlargement-to-video — 图片缩放动效视频
|
|
415
|
+
将静态图片配合Ken Burns缩放平移动画生成视频。
|
|
416
|
+
```bash
|
|
417
|
+
cli-anything-transcode-api-v2 media image-enlargement-to-video \
|
|
418
|
+
--pic-url <图片URL> \ # 必填
|
|
419
|
+
--output <输出文件名> \ # 必填
|
|
420
|
+
--duration 8 # 视频时长(秒),默认5
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
#### image-to-video — 图片+音频合成视频
|
|
424
|
+
将静态图片和音频合并为视频(图片作为静态画面)。
|
|
425
|
+
```bash
|
|
426
|
+
cli-anything-transcode-api-v2 media image-to-video \
|
|
427
|
+
--pic-url <图片URL> \ # 必填
|
|
428
|
+
--audio-url <音频URL> \ # 必填
|
|
429
|
+
--output <输出文件名> \ # 必填
|
|
430
|
+
--zoompan-view 0 # Ken Burns样式索引,默认0
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
### AI增强处理
|
|
436
|
+
|
|
437
|
+
#### watermark — 添加水印
|
|
438
|
+
为视频添加图片水印或文字水印(硬编码烧录)。
|
|
439
|
+
```bash
|
|
440
|
+
cli-anything-transcode-api-v2 media watermark \
|
|
441
|
+
--input <视频URL> \ # 必填
|
|
442
|
+
--output <输出文件名> \ # 必填
|
|
443
|
+
--format mp4 \ # 必填
|
|
444
|
+
--watermark-url <水印图片URL> # 图片水印URL
|
|
445
|
+
--drawtext "版权所有 2025" # 文字水印内容
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
#### subtitles — 添加硬字幕
|
|
449
|
+
将字幕文件(SRT/ASS)硬编码烧录进视频画面。
|
|
450
|
+
```bash
|
|
451
|
+
cli-anything-transcode-api-v2 media subtitles \
|
|
452
|
+
--input <视频URL> \ # 必填
|
|
453
|
+
--output <输出文件名> \ # 必填
|
|
454
|
+
--format mp4 \ # 必填
|
|
455
|
+
--subfile <字幕文件URL> # 字幕文件URL(SRT/ASS)
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
#### auto-subtitles — AI自动字幕
|
|
459
|
+
使用语音识别自动生成字幕并烧录到视频,无需提供字幕文件。
|
|
460
|
+
```bash
|
|
461
|
+
cli-anything-transcode-api-v2 media auto-subtitles \
|
|
462
|
+
--input <视频URL> \ # 必填
|
|
463
|
+
--output <输出文件名> \ # 必填
|
|
464
|
+
--format mp4 # 必填
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
#### ai-remove-watermark — AI去水印
|
|
468
|
+
使用AI算法自动识别并去除视频中的水印。
|
|
469
|
+
```bash
|
|
470
|
+
# 按关键词检测
|
|
471
|
+
cli-anything-transcode-api-v2 media ai-remove-watermark \
|
|
472
|
+
--video-url <视频URL> \ # 必填
|
|
473
|
+
--output <输出文件名> \ # 必填
|
|
474
|
+
--detect-type keyword \ # 检测方式:keyword或area,默认keyword
|
|
475
|
+
--keyword "某某平台" # 水印关键词
|
|
476
|
+
|
|
477
|
+
# 按区域坐标检测
|
|
478
|
+
cli-anything-transcode-api-v2 media ai-remove-watermark \
|
|
479
|
+
--video-url <视频URL> \
|
|
480
|
+
--output <输出文件名> \
|
|
481
|
+
--detect-type area \
|
|
482
|
+
--detect-area "10,10,200,60" # 格式:x,y,w,h
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
#### content-summary — AI内容摘要
|
|
486
|
+
使用AI分析视频/音频内容,生成文字摘要。
|
|
487
|
+
```bash
|
|
488
|
+
cli-anything-transcode-api-v2 media content-summary \
|
|
489
|
+
--input <媒体URL> \ # 必填
|
|
490
|
+
--output <输出文件名> # 必填
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## 其他命令组
|
|
496
|
+
|
|
497
|
+
### template — 转码模板管理
|
|
498
|
+
|
|
499
|
+
```bash
|
|
500
|
+
cli-anything-transcode-api-v2 template list --eqid <主账号ID> [--page 1] [--rows 10]
|
|
501
|
+
cli-anything-transcode-api-v2 template get --eqid <主账号ID> <模板ID>
|
|
502
|
+
cli-anything-transcode-api-v2 template add --eqid <主账号ID> --uqid <用户ID> --name <名称> --args '<JSON>'
|
|
503
|
+
cli-anything-transcode-api-v2 template delete --eqid <主账号ID> <模板ID>
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### template-task — 模板任务管理
|
|
507
|
+
|
|
508
|
+
```bash
|
|
509
|
+
cli-anything-transcode-api-v2 template-task list --eqid <主账号ID>
|
|
510
|
+
cli-anything-transcode-api-v2 template-task get --eqid <主账号ID> <任务ID>
|
|
511
|
+
cli-anything-transcode-api-v2 template-task presign <文件名> # 获取S3上传预签名URL
|
|
512
|
+
cli-anything-transcode-api-v2 template-task download-url <文件名> # 获取S3下载预签名URL
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
### live — 直播转码任务
|
|
516
|
+
|
|
517
|
+
```bash
|
|
518
|
+
cli-anything-transcode-api-v2 live list # 列出活跃直播任务
|
|
519
|
+
cli-anything-transcode-api-v2 live get <TID> # 查询直播任务(TID格式:sn|cid)
|
|
520
|
+
cli-anything-transcode-api-v2 live stop --cid <CID> --tid <TID> # 停止直播任务
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
### monitor — 服务健康检查(无需认证)
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
cli-anything-transcode-api-v2 monitor health
|
|
527
|
+
cli-anything-transcode-api-v2 --json monitor health
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
### session — 会话结果存储
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
cli-anything-transcode-api-v2 session list # 列出已保存的别名
|
|
534
|
+
cli-anything-transcode-api-v2 session get <别名> # 查看某个别名的内容
|
|
535
|
+
cli-anything-transcode-api-v2 session clear # 清空所有存储
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
|
|
540
|
+
## 输出格式
|
|
541
|
+
|
|
542
|
+
**默认(人类可读):**
|
|
543
|
+
```
|
|
544
|
+
tid: 337117566
|
|
545
|
+
output:
|
|
546
|
+
https://beijing2.xstore.qihu.com/test2025ttl30/clip.mp4
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
**JSON模式(`--json`,适合程序处理):**
|
|
550
|
+
```json
|
|
551
|
+
{
|
|
552
|
+
"tid": 337117566,
|
|
553
|
+
"status": 1,
|
|
554
|
+
"progress": 100,
|
|
555
|
+
"errno": 1,
|
|
556
|
+
"output_urls": ["https://beijing2.xstore.qihu.com/test2025ttl30/clip.mp4"]
|
|
557
|
+
}
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
> 任务完成(status=1)时,`output_urls` 字段自动包含所有输出文件的完整下载链接。
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
## 典型工作流
|
|
565
|
+
|
|
566
|
+
### 提交媒体任务并获取结果
|
|
567
|
+
|
|
568
|
+
```bash
|
|
569
|
+
# 第一步:提交任务
|
|
570
|
+
cli-anything-transcode-api-v2 media video-clip \
|
|
571
|
+
--input https://example.com/video.mp4 \
|
|
572
|
+
--output clip.mp4 \
|
|
573
|
+
--format mp4 \
|
|
574
|
+
--filmtitle 10 \
|
|
575
|
+
--filmendpoint 30
|
|
576
|
+
# 返回: tid: 337117566
|
|
577
|
+
|
|
578
|
+
# 第二步:查询结果(完成后自动显示文件链接)
|
|
579
|
+
cli-anything-transcode-api-v2 media get 337117566
|
|
580
|
+
# 输出:
|
|
581
|
+
# tid: 337117566
|
|
582
|
+
# output:
|
|
583
|
+
# https://your-oss/bucket/clip.mp4
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
### 使用 --save-as 串联多步任务
|
|
587
|
+
|
|
588
|
+
```bash
|
|
589
|
+
# 提交任务并保存tid
|
|
590
|
+
cli-anything-transcode-api-v2 media video-clip \
|
|
591
|
+
--input https://example.com/video.mp4 \
|
|
592
|
+
--output clip.mp4 --format mp4 \
|
|
593
|
+
--filmtitle 10 --filmendpoint 30 \
|
|
594
|
+
--save-as step1
|
|
595
|
+
|
|
596
|
+
# 查看保存的结果
|
|
597
|
+
cli-anything-transcode-api-v2 session get step1
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
### REPL交互模式
|
|
601
|
+
|
|
602
|
+
```bash
|
|
603
|
+
cli-anything-transcode-api-v2 --repl
|
|
604
|
+
|
|
605
|
+
transcode-api-v2> media get 337117566
|
|
606
|
+
transcode-api-v2> session list
|
|
607
|
+
transcode-api-v2> exit
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
---
|
|
611
|
+
|
|
612
|
+
## 大模型调用指南
|
|
613
|
+
|
|
614
|
+
1. 使用 `--json` 获取结构化输出,`errno` 非零表示错误,读取 `errmsg` 了解原因。
|
|
615
|
+
2. 任务状态:0=排队中,1=完成,2=失败,3=发送中,6=处理中。
|
|
616
|
+
3. 任务成功(status=1)时,`output_urls` 字段直接包含可下载的文件链接。
|
|
617
|
+
4. 多步骤任务用 `--save-as` 保存中间结果,用 `session get` 取回。
|
|
618
|
+
5. 测试时用 `TRANSCODE_API_MOCK=1` 无需真实服务器。
|
|
619
|
+
6. media子命令需要设置 `--service`、`--bucket`、OSS参数,建议通过环境变量统一配置。
|
|
620
|
+
7. 查看所有支持的Media操作:`cli-anything-transcode-api-v2 media actions`
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
1
2
|
"""cli-anything-transcode-api-v2 — Click CLI harness for transcode_api_v2.
|
|
2
3
|
|
|
3
4
|
Usage examples
|
|
@@ -91,6 +92,7 @@ def _handle_error(exc: Exception, ctx: click.Context) -> None:
|
|
|
91
92
|
# ── Root group ────────────────────────────────────────────────────────────────
|
|
92
93
|
|
|
93
94
|
@click.group(invoke_without_command=True)
|
|
95
|
+
@click.version_option(package_name="cli-anything-transcode-api-v2")
|
|
94
96
|
@click.option("--base-url", envvar="TRANSCODE_API_BASE_URL", default="http://localhost",
|
|
95
97
|
help="API base URL.")
|
|
96
98
|
@click.option("--sname", envvar="TRANSCODE_API_SNAME", default="default",
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_namespace_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="cli-anything-transcode-api-v2",
|
|
5
|
-
version="0.1.
|
|
5
|
+
version="0.1.3",
|
|
6
6
|
description="CLI harness for transcode_api_v2 — video/audio transcoding orchestration API",
|
|
7
7
|
packages=find_namespace_packages(
|
|
8
8
|
include=["cli_anything.*"],
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "cli-anything-transcode-api-v2"
|
|
3
|
-
description: "CLI for transcode_api_v2 — submit/track video transcoding tasks, call AI media ops (VideoClip, AudioExtract, WaterMark, etc.), manage templates, and monitor live-stream jobs via the /intf.php API."
|
|
4
|
-
triggers:
|
|
5
|
-
- "transcode video"
|
|
6
|
-
- "submit transcoding task"
|
|
7
|
-
- "task status"
|
|
8
|
-
- "media clip"
|
|
9
|
-
- "video processing api"
|
|
10
|
-
- "transcode_api_v2"
|
|
11
|
-
- "template transcoding"
|
|
12
|
-
- "live stream task"
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# cli-anything-transcode-api-v2
|
|
16
|
-
|
|
17
|
-
CLI harness for **transcode_api_v2** — a PHP video/audio transcoding API. Wraps
|
|
18
|
-
`POST /intf.php?method=Module.Action` for all task management, AI media processing,
|
|
19
|
-
template management, and monitoring operations.
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
cd agent-harness
|
|
25
|
-
pip install -e .
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Configuration
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
export TRANSCODE_API_BASE_URL=http://your-server
|
|
32
|
-
export TRANSCODE_API_SNAME=my_service
|
|
33
|
-
export TRANSCODE_API_SECRET=signing_secret
|
|
34
|
-
|
|
35
|
-
# Development — no live server needed
|
|
36
|
-
export TRANSCODE_API_MOCK=1
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Base Syntax
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
cli-anything-transcode-api-v2 [--base-url URL] [--sname NS] [--secret S] [--json] [--repl] \
|
|
43
|
-
<group> <subcommand> [OPTIONS]
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
- `--json` — emit machine-readable JSON on stdout
|
|
47
|
-
- `--repl` — launch interactive REPL
|
|
48
|
-
- `--save-as ALIAS` — store result for later reference
|
|
49
|
-
|
|
50
|
-
## Command Groups
|
|
51
|
-
|
|
52
|
-
### task — VOD transcoding (Main module)
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
cli-anything-transcode-api-v2 task add --service <svc> --args '<JSON>' [--bucket B] [--weight low|normal|high]
|
|
56
|
-
cli-anything-transcode-api-v2 task stop <tid>
|
|
57
|
-
cli-anything-transcode-api-v2 task get <tid>
|
|
58
|
-
cli-anything-transcode-api-v2 task get-many <tid1> <tid2> ...
|
|
59
|
-
cli-anything-transcode-api-v2 task wait <tid> [--timeout 300] [--interval 5]
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### media — AI/advanced media (Media module)
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
cli-anything-transcode-api-v2 media actions
|
|
66
|
-
cli-anything-transcode-api-v2 media call <ACTION> '<JSON_BODY>'
|
|
67
|
-
cli-anything-transcode-api-v2 media get <tid>
|
|
68
|
-
cli-anything-transcode-api-v2 media stop <tid>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Available actions: Snapshot, AudioExtract, VideoClip, ConcatVideo, PicToVideo, WaterMark,
|
|
72
|
-
Subtitles, AutoSubtitles, ContentSummary, VideoAddBgm, VideoStretch, AudioConcat,
|
|
73
|
-
VideoCutGif, VideoCutByRatio, VideoFade, VideoAddMask, ImageEnlargementToVideo,
|
|
74
|
-
MediaAdjustVolume, VideoAddDub, VideoMute, AudioCutByTime, VideoReverse, VideoRotate,
|
|
75
|
-
ImageToVideo, VideoAddAudio, MediaSeparatiVoice, VideoQualityAssessment, AudioStretch,
|
|
76
|
-
AIRemoveWaterMark, PicToSpecialEffectsVideo.
|
|
77
|
-
|
|
78
|
-
### template — Reusable templates
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
cli-anything-transcode-api-v2 template list --eqid <eqid>
|
|
82
|
-
cli-anything-transcode-api-v2 template get --eqid <eqid> <id>
|
|
83
|
-
cli-anything-transcode-api-v2 template add --eqid <eqid> --uqid <uqid> --name <n> --args '<JSON>'
|
|
84
|
-
cli-anything-transcode-api-v2 template delete --eqid <eqid> <id>
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### template-task — Template-based tasks
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
cli-anything-transcode-api-v2 template-task list --eqid <eqid>
|
|
91
|
-
cli-anything-transcode-api-v2 template-task get --eqid <eqid> <id>
|
|
92
|
-
cli-anything-transcode-api-v2 template-task presign <filename>
|
|
93
|
-
cli-anything-transcode-api-v2 template-task download-url <filename>
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### live — Live-stream tasks
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
cli-anything-transcode-api-v2 live list
|
|
100
|
-
cli-anything-transcode-api-v2 live get <tid>
|
|
101
|
-
cli-anything-transcode-api-v2 live stop --cid <cid> --tid <tid>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### monitor — Health check (no auth)
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
cli-anything-transcode-api-v2 monitor health
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### session — In-memory result store
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
cli-anything-transcode-api-v2 session list
|
|
114
|
-
cli-anything-transcode-api-v2 session get <alias>
|
|
115
|
-
cli-anything-transcode-api-v2 session clear
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## Output Format
|
|
119
|
-
|
|
120
|
-
**Human** (default):
|
|
121
|
-
```
|
|
122
|
-
tid: 12345
|
|
123
|
-
status: 1 (done)
|
|
124
|
-
progress: 100
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
**JSON** (`--json`):
|
|
128
|
-
```json
|
|
129
|
-
{"tid": 12345, "status": 1, "progress": 100, "errno": 0}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Error** (`--json`):
|
|
133
|
-
```json
|
|
134
|
-
{"errno": 120001, "errmsg": "task not found"}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Common Workflows
|
|
138
|
-
|
|
139
|
-
### Submit and poll a transcoding job
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
# Submit
|
|
143
|
-
cli-anything-transcode-api-v2 --json task add \
|
|
144
|
-
--service transcode \
|
|
145
|
-
--args '{"input":"https://cdn.example.com/source.mp4","output":"mp4"}' \
|
|
146
|
-
--save-as job1
|
|
147
|
-
|
|
148
|
-
# Poll until done (up to 10 minutes)
|
|
149
|
-
cli-anything-transcode-api-v2 task wait 12345 --timeout 600
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Call an AI media operation
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
cli-anything-transcode-api-v2 --json media call VideoClip \
|
|
156
|
-
'{"sname":"my_service","args":{"video_url":"https://...","start":5,"end":30}}'
|
|
157
|
-
# Returns: {"tid": 99001}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### REPL session
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
$ cli-anything-transcode-api-v2 --repl
|
|
164
|
-
transcode-api-v2> monitor health
|
|
165
|
-
transcode-api-v2> task get 12345 --save-as result
|
|
166
|
-
transcode-api-v2> session get result
|
|
167
|
-
transcode-api-v2> exit
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
## Agent Guidance
|
|
171
|
-
|
|
172
|
-
1. Always use `--json` for programmatic output.
|
|
173
|
-
2. `"errno": 0` means success; non-zero is an error — read `"errmsg"`.
|
|
174
|
-
3. Task status: 0=queued, 1=done, 2=failed, 3=sending, 6=processing.
|
|
175
|
-
4. Use `task wait` to block until a task completes rather than polling manually.
|
|
176
|
-
5. Use `--save-as` to chain results without parsing JSON between steps.
|
|
177
|
-
6. Use `TRANSCODE_API_MOCK=1` to test workflows without a live server.
|
|
178
|
-
7. The `media call` command accepts any `Media.*` action — run `media actions` for the full list.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|