Skip to content

Commit 21ef267

Browse files
committed
feat: add CLI batch manifest mode
1 parent fec2721 commit 21ef267

5 files changed

Lines changed: 849 additions & 13 deletions

File tree

README-en.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,29 @@ run:
354354
uv run python cli.py --help
355355
```
356356

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

359382
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**, 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**、および音声なしモードにも対応しています。

README.md

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

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

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

0 commit comments

Comments
 (0)