Skip to content

Commit fcc23dc

Browse files
authored
Merge pull request #1243 from lihuiyang1024/feat/cli-batch-manifest
feat(cli): add batch manifest mode
2 parents 68ce652 + 0bfb0bc commit fcc23dc

5 files changed

Lines changed: 1128 additions & 24 deletions

File tree

README-en.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,29 @@ run:
360360
uv run python cli.py --help
361361
```
362362

363+
To run several tasks sequentially, pass a UTF-8 JSON array or JSONL manifest. CLI
364+
options act as defaults, and each object overrides fields from `VideoParams`:
365+
366+
```json
367+
[
368+
{"video_subject": "How solar panels work"},
369+
{"video_subject": "How wind turbines work", "video_aspect": "16:9"}
370+
]
371+
```
372+
373+
```shell
374+
uv run python cli.py --batch-file ./tasks.json --stop-at video
375+
```
376+
377+
The manifest is resolved from the current working directory. Relative
378+
`custom_audio_file` and local `video_materials[].url` values inside it are resolved
379+
from the manifest's directory; file paths supplied as CLI defaults keep their normal
380+
current-working-directory semantics. A manifest is limited to 100 tasks and 1 MiB.
381+
All entries are validated before the first task starts, tasks continue after an
382+
individual runtime failure, and the command prints one JSON summary when finished.
383+
The summary contains `total`, `succeeded`, `failed`, and `tasks`; each task entry has
384+
`index`, `task_id`, `status`, `result`, `failed_stage`, and `error`.
385+
363386
## Voice Synthesis 🗣
364387

365388
The default provider is the free **Edge TTS**, shown as **Azure TTS V1** in the WebUI. MoneyPrinterTurbo also supports **Azure TTS V2**, **SiliconFlow TTS**, **Google Gemini TTS**, **Xiaomi MiMo TTS**, **ElevenLabs TTS**, self-hosted **Chatterbox TTS**, **Fish Audio TTS**, and a no-voice mode.

README-ja.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,19 @@ uv run python cli.py --video-subject "How AI is changing everyday life"
350350
uv run python cli.py --help
351351
```
352352

353+
複数のタスクを順番に実行するには、`--batch-file` で UTF-8 の JSON 配列または
354+
JSONL マニフェストを指定します。CLI オプションが共通の既定値となり、各オブジェクトで
355+
`VideoParams` フィールドを上書きできます。
356+
357+
```shell
358+
uv run python cli.py --batch-file ./tasks.json --stop-at video
359+
```
360+
361+
マニフェストは最大 100 タスク、1 MiB までです。最初のタスクを開始する前に全項目と
362+
ローカルファイルを検証し、個別タスクが失敗しても後続タスクを続行して最後に JSON
363+
サマリーを出力します。マニフェスト内の相対音声・ローカル素材パスはマニフェストの
364+
ディレクトリを基準に解決されます。
365+
353366
## 音声合成 🗣
354367

355368
既定のプロバイダーは無料の **Edge TTS** で、WebUI 上では **Azure TTS V1** と表示されます。MoneyPrinterTurbo は **Azure TTS V2****SiliconFlow TTS****Google Gemini TTS****Xiaomi MiMo TTS****ElevenLabs TTS**、セルフホストの **Chatterbox TTS****Fish Audio TTS**、および音声なしモードにも対応しています。

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,17 @@ uv run python cli.py --video-subject "人工智能如何改变日常生活"
369369
uv run python cli.py --help
370370
```
371371

372+
如需顺序执行多个任务,可通过 `--batch-file` 提供 UTF-8 JSON 数组或 JSONL
373+
清单。CLI 参数作为全局默认值,每个对象可覆盖 `VideoParams` 字段:
374+
375+
```shell
376+
uv run python cli.py --batch-file ./tasks.json --stop-at video
377+
```
378+
379+
清单最多包含 100 个任务且不超过 1 MiB。所有条目会在第一个任务启动前完成
380+
参数与本地文件预检;单个任务运行失败不会阻止后续条目,结束后会输出统一的
381+
JSON 汇总。清单中的相对自定义音频与本地素材路径以清单目录为基准。
382+
372383
## 语音合成 🗣
373384

374385
默认使用免费的 **Edge TTS**,在 WebUI 中显示为 **Azure TTS V1**。项目同时支持 **Azure TTS V2****SiliconFlow TTS****Google Gemini TTS****小米 MiMo TTS****ElevenLabs TTS**、自托管 **Chatterbox TTS****Fish Audio TTS**,以及无配音模式。

0 commit comments

Comments
 (0)