Transcribe
Turn speech in audio or video into text with ElevenLabs STT, Whisper or Nemotron 3.5 Transcribe. Get word timings for captions, speaker labels or a translation.
The Transcribe node turns speech into text. Wire in audio or a video, and the node returns the transcript twice: as plain text, and as a structured transcript with the timing of every word. You can choose between four engines, and they differ in one thing that matters for captions: whether they return word timings. Nemotron 3.5 Transcribe can also translate the speech instead of transcribing it.
When to use it
- Transcribe an interview or a podcast for written content.
- Make captions and subtitles from the sound of a video, with Add Captions.
- Turn voice memos and meeting recordings into text.
- Make an audio library searchable as text.
- Feed a transcript into a text node to summarize or analyze it.
- Give Edit Plan the timed transcript it needs to plan an edit.
Quick start
Add the node
Press Tab on the canvas and choose Audio › Transcribe › Transcribe.
Wire the recording
Wire an audio node or a video node into the Audio input.
Choose the engine and the language
Open the settings panel. Keep Provider on ElevenLabs STT unless you need another engine. Keep Language on Auto Detect, or choose the language.
Run it
Click Run on the node. The plain transcript appears on the Text output and the timed transcript on the Transcript output.
Input and outputs
| Input | Accepts | What it does |
|---|---|---|
| Audio | Audio and video nodes | The speech to transcribe. For a video, the node uses its sound track. |
To transcribe a video from a link to where it is, connect a Video URL node. The Video URL node asks for the content rights declaration and fetches the sound, and Transcribe transcribes that track. A link to a video's page given to Transcribe in another way stops a run in the editor, and the message says so.
| Output | What it carries |
|---|---|
| Text | The whole transcript as plain text. It connects to any node that takes text. |
| Transcript | The structured transcript, with word and segment timings in milliseconds. It feeds Add Captions and the editing nodes. |
In a prompt, a reference to the node's label, such as {Transcribe}, gives the plain text.
Settings
| Setting | What it does |
|---|---|
| Provider | The engine: ElevenLabs STT (the default), Whisper — no word timings, Incredibly Fast Whisper or Nemotron 3.5 Transcribe. |
| Language | Auto Detect (the default), or one of 20 languages, such as English, Spanish, Hebrew, Japanese and Arabic. Not shown for Nemotron 3.5 Transcribe, which detects the spoken language itself, among 40 languages. |
| Translate to | Shown only when Provider is Nemotron 3.5 Transcribe. Don't translate (the default) returns a transcript. A language returns a translation into that language instead, see Translate the speech. Switching Provider to another engine clears it. |
| Speaker Diarization | Labels who said what. Off by default. Shown only when Provider is ElevenLabs STT. |
| Tag Audio Events | Marks non-speech sounds in the transcript, such as [music] or [laughter]. Off by default. Shown only when Provider is ElevenLabs STT. |
Speaker Diarization and Tag Audio Events are independent: turn on one, both or neither.


Models
| Model | Maker | Modes | Credits | Details |
|---|---|---|---|---|
| ElevenLabs STT | ElevenLabs | Speech to text | 25 | Speech-to-text with WORD-level timestamps (always on), speaker diarization and audio-event tags. The engine to use when the transcript feeds captions. |
| Incredibly Fast Whisper | OpenAI | Speech to text | 44 | Fast Whisper speech-to-text. Returns WORD-level timestamps when asked, so its transcript can feed captions. |
| Whisper | OpenAI | Speech to text | 44 | Whisper speech-to-text — PHRASE-level segments only, NO word timestamps. Fine for a transcript or a static subtitle; not for word-timed (kinetic) captions. |
| Nemotron 3.5 Transcribe | NVIDIA | Speech to text | 4 | NVIDIA speech-to-text in 40 languages, detected automatically, with a low word error rate. On request it returns WORD-level timestamps with a speaker label per word, so its transcript can feed captions; or it translates the speech instead (to or from English: other speech into English, or English speech into one of 31 languages), with no word timings. Files up to 60 minutes and 200 MB. Priced per started minute of the file, whatever the options; the listed price is four minutes. |
Word timings: which engine returns them
| Engine | Word timings | Notes |
|---|---|---|
| ElevenLabs STT (default) | Always | Word-level by design. The engine for captions, speaker labels and audio events. |
| Incredibly Fast Whisper | When needed | The node asks for word timings automatically when the Transcript output is connected. |
| Whisper | Never | Phrase segments only. Fine for a plain transcript or a static subtitle. |
| Nemotron 3.5 Transcribe | When needed | The node asks for word timings automatically when the Transcript output is connected. Each word then carries its speaker. A translation never has word timings. |
If ElevenLabs STT, Incredibly Fast Whisper or Nemotron 3.5 Transcribe returns no word timings for audio that clearly has speech, the run fails and the credits are refunded. Audio with no speech at all still succeeds, with no words, for example a clip that transcribes as [music].
Translate the speech
With Translate to set, Nemotron 3.5 Transcribe translates the speech instead of transcribing it. Translation goes to or from English:
- Into English. Speech in another language becomes English text.
- From English. English speech becomes Chinese, Japanese, Korean, French, German, Spanish, Portuguese, Italian, Russian, Dutch, Polish, Czech, Slovak, Hindi, Bulgarian, Croatian, Danish, Estonian, Finnish, Hungarian, Latvian, Lithuanian, Romanian, Slovenian, Swedish, Thai, Ukrainian, Arabic, Greek, Hebrew or Maltese text.
A translation between two other languages may work, but it is not guaranteed. For the best result, translate into English.
- The Text output carries the translation, and the transcript's
languageis the target language. - A translation has no word timings, so the
wordslist of the Transcript output is empty. A translating node that feeds Add Captions is refused before the run. - Only Nemotron 3.5 Transcribe translates. A translation costs the same as a transcript.
The file Nemotron 3.5 Transcribe takes
Nemotron 3.5 Transcribe takes a file of up to 60 minutes and 200 MB. The file is MP3, WAV, M4A or AAC, FLAC, OGG or Opus, or WEBM audio, or an MP4 or MOV video with a sound track. It must be a direct HTTPS link to a file on a public host.
- Measured first. The node measures the file before it holds any credits, because the price depends on the length.
- Refused with nothing charged: a link that is not HTTPS to a public host, a file over 60 minutes or 200 MB, and a link to a video's page on a social platform. For such a video, bring its sound in through a Video URL node first, or choose another engine.
- A length that cannot be read up front is not refused. A browser recording saved as a stream or a fragmented MP4 holds the 60-minute price, and the run is charged for the length the model decoded.
- Speakers. With word timings, voices that sound very different separate well. Similar voices may be merged into one speaker.
- Repeated text. When the answer reaches the model's length limit for the audio, the job's output carries
truncated: true. This usually means that the model repeats itself, so review or discard the result.
The structured transcript
The Transcript output looks like this:
{
"version": 1,
"language": "en",
"words": [
{ "text": "Welcome", "startMs": 0, "endMs": 420 },
{ "text": "back", "startMs": 460, "endMs": 700 }
],
"segments": [
{ "startMs": 0, "endMs": 700, "text": "Welcome back" }
]
}- All times are whole milliseconds.
wordsholds every word with its start and end. It is filled whenever the engine returns word timings.segmentsholds the coarser sentences or phrases, when the engine provides them.- On a run with Speaker Diarization, each word and segment also has a
speaker. A word can also carry aconfidence.
On the Text output, Speaker Diarization adds labels such as Speaker 1: before each segment, and Tag Audio Events adds tags such as [music] and [laughter] in place.
Make captions from a transcript
Wire the Transcript output into the transcript input of Add Captions. Add Captions then draws captions timed to each word. Use ElevenLabs STT, Incredibly Fast Whisper or Nemotron 3.5 Transcribe for this.
A Whisper transcript cannot drive captions. When a Transcribe node on Whisper feeds Add Captions, the run is refused before anything runs or is charged, with this message:
Captions need word timings, but the "whisper" engine does not return word timings — pick incredibly-fast-whisper or elevenlabs-stt.- A Nemotron 3.5 Transcribe node set to translate is refused the same way, because a translation has no word timings. Set Translate to to Don't translate to run it.
- The check also covers a chain through Apply EDL, and chains inside a sub-workflow at any depth.
- The settings panel shows the same warning next to Provider as soon as the connection exists, so you can fix it before you run.
- Running the Transcribe node on its own is never blocked. A Whisper transcript that goes anywhere else is fine.
- One case cannot be checked in advance: a chain where Transcribe and Add Captions sit on different sides of a sub-workflow boundary. That run fails at Add Captions, after the transcription has run and been charged.
Credits
Three engines cost a flat price per run, whatever the length of the audio:
| Engine | Credits per run |
|---|---|
| ElevenLabs STT | 25 |
| Incredibly Fast Whisper | 44 |
| Whisper | 44 |
Nemotron 3.5 Transcribe is priced by the length of the file. It charges per started minute of the audio, up to 60 minutes, and the price is the same with word timings or a translation. The minutes are added up, and the run is rounded up to a whole credit once.
- Before a run, the Run button shows the price of the length the workflow knows, such as the length of an upload. When no length is known yet, it shows the 60-minute price.
- The hold. The file is measured before the run, and the price of that length is held. A file whose length cannot be read holds the 60-minute price.
- The charge. After the run, the run is charged for the length the model actually decoded. This can differ from the length in the file's header, because some MP3 files state a wrong length. A shorter length releases the rest of the hold, and a longer one takes the difference from your balance.
A request that is refused before it starts, such as a Whisper transcript wired into Add Captions, is not charged.
On a self-hosted install
Each engine runs on your own provider key. When the chosen engine has no key and the install has a Nodaro Cloud connection, the transcription runs through the connection. With neither, the node fails with a message that names the key to add. See Provider keys.
Tips
- Leave the language on Auto Detect. Choose a language only when you know it, for example when two languages sound similar.
- Label speakers for conversations. Turn on Speaker Diarization for interviews, meetings and podcasts.
- Tag events when they matter. Turn on Tag Audio Events when background sounds help to understand the recording.
- Clean noisy audio first. Wire the recording through Voice Extractor before Transcribe.
- Split very long audio. Shorter segments transcribe more reliably. Split into Chunks cuts a long file into parts between a minimum and a maximum length, and Transcribe runs once for every part.
- Align your own script instead. When you already have the exact script, Forced Alignment times each of its words against the audio.
From the API
POST /v1/transcribe takes audioUrl and the optional provider (elevenlabs-stt, incredibly-fast-whisper, whisper or nemotron-3-5-transcribe), language, diarize, tagAudioEvents, wordTimestamps and targetLanguage.
-
A link to a video's page. An
audioUrlthat links to a video's page on a social platform is an import of that link: its sound is fetched first. Send theconfirmationIdfromPOST /v1/content-rights/confirmfor that link. Without one, a deployment that requires a confirmation refuses the request with403before the job is created. A key or an agent whose account holds a standing authorization needs none, and a direct file link needs none. See Content rights. -
Name the engine. A request without
providerruns Whisper, so existing callers keep the engine they had. Setproviderwhenever you need word timings,diarizeortagAudioEvents. -
Word timings.
incredibly-fast-whisperandnemotron-3-5-transcribereturn words only withwordTimestamps: true.wordTimestamps: trueonwhisperis refused with a400 validation_errorbefore the job is created, so nothing is charged. The engine is never swapped silently. -
Translation.
targetLanguageworks only onnemotron-3-5-transcribe. On another engine, in a language it does not translate into, or together withwordTimestamps: true, it is refused with a400 validation_errorontargetLanguage, and nothing is charged. -
Captions. The finished job's
output_data.wordsalready has the caption shape (text,startMs,endMs). Pass it toPOST /v1/add-captionsascaptions, and Add Captions does not transcribe again. -
Price.
GET /v1/credits/model-cost?model=<engine>returns the exact price for your account. For Nemotron 3.5 Transcribe, ask fornemotron-3-5-transcribe:<minutes>m.
The SDK method is client.audio.transcribe, and the CLI command is nodaro audio transcribe --provider <engine>, with --target-language for a translation. The MCP tool transcribe takes the engine in model and a translation in target_language. Without model it runs ElevenLabs STT, so its result has word timings. See Voice and media.
Frequently asked questions
Which transcription engine should I choose?
Keep ElevenLabs STT, the default. It always returns word timings, can label speakers and tag audio events, and it is the cheapest. Incredibly Fast Whisper and Nemotron 3.5 Transcribe also return word timings when a node needs them. Nemotron 3.5 Transcribe is priced by the length of the file and can translate the speech. Whisper returns phrases only.
Why was my Transcribe and Add Captions workflow refused?
The Transcribe node uses Whisper, which returns no word timings, and captions need them. Switch Provider to ElevenLabs STT, Incredibly Fast Whisper or Nemotron 3.5 Transcribe and run again. A node set to translate is refused too, because a translation has no word timings. Nothing is charged.
How many credits does Transcribe cost?
ElevenLabs STT costs 25 credits per run, Incredibly Fast Whisper 44 and Whisper 44, whatever the length of the audio. Nemotron 3.5 Transcribe is priced per started minute of the file, up to 60 minutes.
Can Transcribe tell the speakers apart?
Yes, with ElevenLabs STT. Turn on Speaker Diarization, and the text labels each segment with its speaker, such as "Speaker 1:". Each word in the structured transcript also carries its speaker. Nemotron 3.5 Transcribe also gives every word a speaker when it returns word timings.
Can Transcribe translate speech?
Yes, with Nemotron 3.5 Transcribe. Set Translate to, and the node returns a translation instead of a transcript. It translates other speech into English, or English speech into one of 31 languages. A translation has no word timings.
Can I transcribe a video?
Yes. Wire the video into the Audio input, and the node transcribes its sound track.
Related
Add Captions
Forced Alignment
Edit Plan
Voice Extractor
ElevenLabs STT
Last updated on
Pitch & Tempo
Shift a voice or a song up or down in semitones, or speed it up and slow it down without changing its pitch. Works on audio and on a video's sound.
Forced Alignment
Time every word of a known transcript against its audio and get each word's start and end as data, for karaoke highlights, timed graphics and captions.