Whisper 1 语音转写
The boring, reliable node that turns any ComfyUI audio into text or SRT
- audio
- api_config
- text
- response
Not everything in T8mars/ComfyUI_Seedance is a shiny video model. Whisper_Transcription is the utility node in the corner, and it does exactly one thing: take a ComfyUI AUDIO input, send it to a whisper-1 transcription endpoint, and hand back text. It's the kind of node that's easy to overlook and quietly useful - you're transcribing a voiceover, turning a generated music track's vocals into searchable text, or producing an SRT subtitle file to burn into a video.
Because it's in this pack, the transcription runs through the same reseller API as everything else (default api.seedance.nz). Whisper is an open model, which is worth saying out loud: you could run Whisper locally for free and never send audio anywhere. The honest pitch for this node is convenience, not capability - if you already have the pack installed and a key configured, this is a zero-setup way to caption things, and for one-off SRT work that beats installing a local Whisper runtime into your ComfyUI. If you transcribe constantly, or the content is sensitive, run the local model instead.
How it works
It's a synchronous call, which makes it different from every other generation node in the pack: no task ID, no polling. Connect audio (the node converts it to WAV and uploads it as a multipart file), pick a response_format, run, get text. json (the default) returns the plain transcript on the text output plus a formatted response; verbose_json adds timing detail; srt and vtt return ready-to-use subtitle text; text is the bare transcript. The model dropdown has exactly one entry, whisper-1 - don't expect a model zoo here.
Inputs and outputs that matter
audio- the required input; converted to WAV before upload.model-whisper-1, the only option.response_format-json,verbose_json,srt,text, orvtt.
Outputs: text (the transcript; for srt/vtt/text it's that format's text directly) and response (the raw response, JSON-formatted for the json/verbose_json modes).
Install
Same pack, same three options:
# ComfyUI Manager: search "ComfyUI Seedance", or:
comfy node install seedance
Or git clone https://github.com/T8mars/ComfyUI_Seedance.git into ComfyUI/custom_nodes, pip install -r requirements.txt, restart ComfyUI. Then configure an API key from api.seedance.nz/console - via the Seedance API Config node's api_config output, the SEEDANCE_API_KEY env var, or a config/.env file. With skip_error on, a failed job returns an empty transcript plus an error JSON instead of stopping the whole workflow, which is what you want inside a batch.
The practical gotchas
Watch your source audio: whatever you feed in gets converted to WAV and uploaded, so a 30-minute podcast is a 30-minute upload and a nontrivial bill on a per-minute meter - keep clips short, or go local. And because the pack routes through a reseller, transcription happens on their server; nothing about your audio is private there. For the common case - grab the audio output of some other node in this same pack, transcribe it, feed the text into a caption or workflow step - it's the right tool, boring and dependable, and that's the compliment.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | Input audio to transcribe; converted to wav before upload. | 需要转写的音频,会先转换为 wav 再上传。 | |
| model | COMBO | whisper-1 | Whisper transcription model. | Whisper 语音转写模型。 |
| response_format | COMBO | json | API response format: json, verbose_json, srt, text, or vtt. | API 返回格式。 |
| api_configopt | SEEDANCE_CONFIG | Connect Seedance API Config; otherwise SEEDANCE_API_KEY is used. | |
| skip_erroropt | BOOLEAN | false | On failure return an empty transcript and JSON error instead of stopping the workflow. | 失败时返回空文本和错误 JSON。 |
| seedopt | INT | 00–18446744073709550000 | ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| response | STRING | — |