dots.tts 批量任务队列 · T8star-Aix
BatchQueue — point it at a folder of scripts and walk away; come back to a ZIP
- model
- speaker_map
- sampling
- 首个工程预览
- 批量 ZIP 路径
- 队列报告 JSON
If T8_DotsTTS_Project is one script rendered at a time, T8_DotsTTS_BatchQueue is the whole series. Give it a file or folder path (or several), and it recursively finds every .txt, .srt, and .vtt under it, renders each one as its own isolated project, and hands you a ZIP with all the audio, timelines and checkpoints. It's the node for "I have forty subtitle files for an episode and I don't want to click 'Queue' forty times."
The setup mirrors Project, because it basically is Project with a folder walker in front. input_paths takes one path per line (default D:/dubbing-project/subtitles) - a directory gets recursed, a file gets processed directly. All the shared knobs are there: language, seed, pronunciation, max_segment_tokens, segment_gap_ms, max_retries, subtitle_fit_mode, audio_formats, target_lufs, plus optional speaker_map and sampling. The one BatchQueue-specific option is retry_failed_only: flip it on and instead of re-rendering everything, the queue reads the previous run's manifest and re-runs just the projects that failed - but only if the config fingerprint matches, so it'll refuse (loudly) if you changed the settings in between. That guard is what keeps "retry the failures" from silently redoing everything.
Failures are isolated per project, which is the right call for batch work: one bad subtitle file doesn't take down the other thirty-nine, and you get a batch_info JSON report telling you exactly which projects succeeded, which failed, and why. The other outputs are preview_audio - the audio of the first processed project, so you can sanity-check a batch without digging through the archive - and archive_path, the absolute path to the exported ZIP.
How a batch run actually goes
- Drop your subtitle files into a folder.
- Set
input_pathsto that folder. - Run. Each project writes its own
segments/andcheckpoint.json, so a crash mid-batch only costs you the project that was running. - Grab the ZIP, or re-run with
retry_failed_onlyto mop up the failures.
Gotchas worth knowing
- Checkpoint/resume behavior is inherited from Project. With
resumeon, already-finished segments are skipped on a re-run - combined withretry_failed_only, a re-run is genuinely cheap. video_pathandffmpeg_pathhere are per-project - they apply to each project in the queue, which is usually what you want for a batch of similar files.- FFmpeg requirements match Project: WAV is fine without it; MP3/FLAC/LUFS/remux need FFmpeg on
PATHor an explicit path. The pack won't install it. - The default
input_pathsis a Windows-style path (D:/dubbing-project/subtitles) - change it or the node will fail validation on the first run. It validates up front that at least one line is non-empty, so this is a clean, early error rather than a mid-render surprise.
Installation is the standard pack install (ComfyUI Manager search dots-tts-t8, or clone + pip install -r requirements.txt) plus at least one downloaded TTS model.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| model | T8_DOTS_TTS_MODEL | — | |
| input_paths | STRING | D:/dubbing-project/subtitles | — |
| language | COMBO | inherit | 27 options: inherit, auto_detect, none, ZH, EN, YUE, +21 |
| seed | INT | 420–4294967295 | — |
| pronunciation | STRING | — | |
| max_segment_tokens | INT | 12016–512 | — |
| segment_gap_ms | INT | 2000–10000 | — |
| max_retries | INT | 20–10 | — |
| resume | BOOLEAN | true | — |
| retry_failed_only | BOOLEAN | false | — |
| subtitle_fit_mode | COMBO | shrink | 4 options: shrink, fit, none, trim |
| audio_formats | STRING | wav | 逗号分隔:wav,mp3,flac |
| target_lufs | FLOAT | 0.0-36–0 | — |
| video_path | STRING | — | |
| ffmpeg_path | STRING | — | |
| output_dir | STRING | — | |
| speaker_mapopt | T8_DOTS_TTS_SPEAKER_MAP | — | |
| samplingopt | T8_DOTS_TTS_SAMPLING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| 首个工程预览 | AUDIO | — |
| 批量 ZIP 路径 | STRING | — |
| 队列报告 JSON | STRING | — |