Nodes/dots.tts · T8star-Aix/dots.tts 批量任务队列 · T8star-Aix
ComfyUI Node

dots.tts 批量任务队列 · T8star-Aix

BatchQueue — point it at a folder of scripts and walk away; come back to a ZIP

By T8mars·Created 23 days ago·Updated 14 days ago· 5
dots.tts 批量任务队列 · T8star-Aix
  • model
  • speaker_map
  • sampling
  • 首个工程预览
  • 批量 ZIP 路径
  • 队列报告 JSON
input_pathsD:/dubbing-project/subtitles
languageinherit
seed42
pronunciation
max_segment_tokens120
segment_gap_ms200
max_retries2
resumetrue
retry_failed_onlyfalse
subtitle_fit_modeshrink
audio_formatswav
target_lufs0.0
video_path
ffmpeg_path
output_dir

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

  1. Drop your subtitle files into a folder.
  2. Set input_paths to that folder.
  3. Run. Each project writes its own segments/ and checkpoint.json, so a crash mid-batch only costs you the project that was running.
  4. Grab the ZIP, or re-run with retry_failed_only to mop up the failures.

Gotchas worth knowing

  • Checkpoint/resume behavior is inherited from Project. With resume on, already-finished segments are skipped on a re-run - combined with retry_failed_only, a re-run is genuinely cheap.
  • video_path and ffmpeg_path here 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 PATH or an explicit path. The pack won't install it.
  • The default input_paths is 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.

CategoryT8star-Aix/Audio/dots.tts

Inputs (18)

NameTypeDefaultDescription
modelT8_DOTS_TTS_MODEL
input_pathsSTRINGD:/dubbing-project/subtitles
languageCOMBOinherit27 options: inherit, auto_detect, none, ZH, EN, YUE, +21
seedINT420–4294967295
pronunciationSTRING
max_segment_tokensINT12016–512
segment_gap_msINT2000–10000
max_retriesINT20–10
resumeBOOLEANtrue
retry_failed_onlyBOOLEANfalse
subtitle_fit_modeCOMBOshrink4 options: shrink, fit, none, trim
audio_formatsSTRINGwav逗号分隔:wav,mp3,flac
target_lufsFLOAT0.0-36–0
video_pathSTRING
ffmpeg_pathSTRING
output_dirSTRING
speaker_mapoptT8_DOTS_TTS_SPEAKER_MAP
samplingoptT8_DOTS_TTS_SAMPLING

Outputs (3)

NameTypeDescription
首个工程预览AUDIO
批量 ZIP 路径STRING
队列报告 JSONSTRING