Nodes/Comfyui-MOSS-Transcribe-Diarize-T8/MOSS 转写质量门 · T8star-Aix
ComfyUI Node

MOSS 转写质量门 · T8star-Aix

The 'is this garbage?' boolean — and the fail-fast switch that saves the day

By T8mars·Created 25 days ago·Updated about 21 hours ago· 5
MOSS 转写质量门 · T8star-Aix
  • transcript
  • 已评估 MOSS_TRANSCRIPT
  • 结果可用
  • 质量报告 JSON
min_end_coverage0.75
max_unknown_speaker_ratio0.50
reject_repetitiontrue
reject_truncationtrue
fail_on_unusablefalse

Some transcription runs come back perfect. Some come back as confident-sounding garbage - the model hallucinated a loop, stopped fifteen seconds early, or tagged half the segments as unknown speakers. T8_MOSS_QualityGate is the node that tells you which one you got, and it does it as a simple boolean: 结果可用 (is_usable). Wire that into a switch, and your workflow can route good transcripts to the exporter and bad ones to a retry path without you babysitting it.

It evaluates the transcript against a small set of checks that map directly to the failure modes MOSS actually has:

  • End coverage - did the last segment reach near the end of the audio, or did the model stop early? Controlled by min_end_coverage (default 0.75 - the last segment should cover the final 75% of the timeline).
  • Unknown speakers - what fraction of segments came back as S00? Capped by max_unknown_speaker_ratio (default 0.50).
  • Repetition - a looping transcript is the classic hallucination. reject_repetition (default on) catches repeated-text loops. The author's own test suite feeds a looped audio clip and the gate correctly rejects it as repeated_text.
  • Truncation - reject_truncation (default on) refuses transcripts that look cut off at the token cap.
  • Format errors - inherited from validation, so a structurally broken transcript never sneaks through as "usable."

The input that changes the game: fail_on_unusable

This is the one to know about. It's an advanced toggle, off by default. Flip it on and a failed quality check raises an error that blocks downstream execution - which in practice means the subtitle export node never writes a bad file. If you're running unattended batches and you'd rather a run die loudly than produce a wrong SRT, this is your switch. Leave it off while you're iterating so you can see what's happening.

Inputs: the MOSS_TRANSCRIPT plus the four quality knobs above. Outputs: the transcript passed through (with the quality report attached to its metadata), the is_usable boolean, and a 质量报告 JSON explaining the decision - read the report when the boolean surprises you, because it lists exactly which check failed and why.

Installing it

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-MOSS-Transcribe-Diarize-T8.git comfyui-MOSS-Transcribe-Diarize-T8
cd comfyui-MOSS-Transcribe-Diarize-T8
pip install -r requirements.txt
python scripts/check_transformers.py      # requires Transformers >= 5.5.0
python scripts/download_models.py --comfyui-root ..\..

Restart and it's in the same category as the other eight nodes.

Where people get confused

  • "It passed validation but the gate says unusable." Working as intended. Validation checks structure; the gate checks whether the result is worth exporting. A transcript can be perfectly formatted and still be a truncated, looped hallucination.
  • The defaults are opinionated. min_end_coverage 0.75 and max_unknown_speaker_ratio 0.50 are the author's sensible defaults for clean speech. If your source is noisy or music-heavy, you may need to loosen them - and that's fine, they're sliders for a reason. Just don't loosen them before you've read the quality report and understood what you're allowing through.
  • The boolean is your wiring hook. It's a real BOOLEAN output, so it plays perfectly with ComfyUI's switch/reroute nodes or the fail-on-unusable path. That's the intended integration, not a debugging nicety.
CategoryT8star-Aix/Audio/MOSS Transcribe Diarize

Inputs (6)

NameTypeDefaultDescription
transcriptT8_MOSS_TRANSCRIPT
min_end_coverageFLOAT0.750–1
max_unknown_speaker_ratioFLOAT0.500–1
reject_repetitionBOOLEANtrue
reject_truncationBOOLEANtrue
fail_on_unusableBOOLEANfalse启用后质量检查失败会抛出错误,阻止后续字幕写盘节点执行。

Outputs (3)

NameTypeDescription
已评估 MOSS_TRANSCRIPTT8_MOSS_TRANSCRIPT
结果可用BOOLEAN
质量报告 JSONSTRING