NodaroAccount
Nodaro Docs
DocumentationNode ReferenceModelsTemplatesAI Agents (MCP)DevelopersSelf-hostingResearchCompare
Tools reference

Audio

Generate speech and dialogue, design and change voices, dub, create sound effects, transcribe, and clean or trim audio with the Nodaro MCP audio tools.

The audio tools let an assistant make and change sound in Nodaro: speech and dialogue, new and changed voices, dubbing, sound effects, transcripts, and clean-up. Each tool except list_voices and the voice favorites tools starts a job and returns its id, and the result is saved to your library. Every audio tool needs the workflows:execute permission, except the voice favorites tools: list_voice_favorites needs assets:read and favorite_voice needs assets:write.

ToolWhat it does
generate_speechText to speech with a voice
generate_dialogueA conversation between several voices, as one file
list_voicesThe premade voices
list_voice_favoritesThe voices the user starred
favorite_voiceStars a voice, or removes the star
voice_designA new voice from a description
voice_remixSpeech in a voice you describe, without a voice id
voice_changerChanges the voice of a recording or a video
voice_changer_proChanges several speakers' voices at once
dubbingTranslates speech into another language, keeping the voices
text_to_audioSound effects from a description
transcribeSpeech to text, with word timings
audio_isolationIsolates the main voice or sound from a mix
separate_audioSplits audio into vocals and instrumental, or into stems
apply_audio_fxReverbs and effects that place a voice in a space
pitch_tempoShifts the pitch, or changes the tempo without changing the pitch
trim_audioTrims audio, or extracts it from a video
mix_audioLayers 2 to 20 tracks into one file, with a music bed that dips under the voice
download_youtube_audioThe audio track of a YouTube video

generate_speech

Turns text into speech with an ElevenLabs voice. It works like the Text to Speech node.

Permission: workflows:execute. Credits: the price of the model, below.

ModelMakerModesCreditsDetails
ElevenLabs v4ElevenLabsText to speechfrom 5Newest ElevenLabs TTS — [audio tags], stability and similarity control, up to 10,000 characters per request. Direct API.
ElevenLabs v4 TurboElevenLabsText to speechfrom 3Faster, cheaper ElevenLabs v4 at lower fidelity — [audio tags], stability and similarity control, at Turbo's credit price. Prefer v4 when quality matters. Direct API.
ElevenLabs v3ElevenLabsText to speechfrom 5Expressive ElevenLabs TTS — supports [audio tags] for emotion / pacing. Direct API.
ElevenLabs Turbo v2.5ElevenLabsText to speechfrom 3Fast, cheap ElevenLabs TTS via the direct ElevenLabs API. Good for narration.
ElevenLabs Multilingual v2ElevenLabsText to speechfrom 5Multi-language ElevenLabs TTS via the direct ElevenLabs API.
ParameterTypeNotes
textstringRequired. What to say, up to 10,000 characters and at most the chosen model's limit: 5,000 on ElevenLabs v3. Longer text is refused, not cut. Split a longer script into several calls.
voice_idstringA premade voice name, or the id of a voice you cloned. Default Rachel. An unknown name fails. An unknown id falls back to Rachel, so the assistant still gets audio. With voice_type custom or library, an unknown id fails instead.
voice_typestringpremade, custom or library.
modelstringelevenlabs-v4 (default), elevenlabs-v4-turbo, elevenlabs-v3, elevenlabs-turbo or elevenlabs-multilingual. elevenlabs, the old id of elevenlabs-turbo, is also accepted.
language_codestringThe language of the text.
stability, similarity_boost, stylenumberDelivery settings, from 0 to 1.
speednumberFrom 0.7 to 1.2.
previous_textstringThe line spoken just before this one, as context for a continuous delivery across clips. It is not spoken. Up to 1,000 characters. ElevenLabs v3 ignores it.
next_textstringThe line spoken just after this one, with the same rule as previous_text.
output_formatstringThe audio file: mp3_44100_128 (default), mp3_44100_192 for a higher MP3 bitrate, or wav_24000 for an uncompressed WAV. Every format costs the same credits.
presetIdstringA delivery preset, such as Calm Narrator, Commercial Read or Audiobook, from list_node_presets. You still pass text.

Choosing a model. ElevenLabs v4, the default, supports audio tags such as [laughs], [whispers] and [sighs] for emotion and pacing, and it is fully multilingual: use it for every language, including Hebrew, Arabic, Chinese, Japanese and Korean. It takes stability and similarity_boost, but not speed or style. ElevenLabs v3 is the previous model, with the same tags and stability only. ElevenLabs v4 Turbo is the faster v4, at Turbo's price. ElevenLabs Turbo is cheaper for plain narration. ElevenLabs Multilingual v2 is a legacy model; use it only for a voice known to work only on v2.

Choosing a voice. The premade voices are Rachel, Aria, Roger, Sarah, Laura, Charlie, George, Callum, River, Liam, Charlotte, Alice, Matilda, Will, Jessica, Eric, Chris, Brian, Daniel, Lily and Bill. For a warm female voice try Rachel, for a young female voice Aria or Lily, for a deep male voice Roger or Brian, for a neutral male voice George or Daniel, and for a British voice Charlie or Charlotte.

Returns: a job id. The card plays the audio when it is ready.

generate_dialogue

Voices a script of several speakers as one audio file, with natural turn-taking, on ElevenLabs Dialogue v3 or ElevenLabs Dialogue v4. Use it for conversations, interviews, podcast-style exchanges and scenes, instead of joining separate generate_speech clips. It works like the Text to Dialogue node.

Permission: workflows:execute. Credits: the price of ElevenLabs Dialogue v3 or ElevenLabs Dialogue v4, per started 100 characters of the script, with a minimum of 8 blocks.

ParameterTypeNotes
modelstringelevenlabs-dialogue (Dialogue v3, the default) or elevenlabs-dialogue-v4.
dialoguearrayRequired. The lines in speaking order, 1 to 200, each { text, voice_id }. Reuse a voice for the same character. Lines can contain audio tags such as [laughs].
stabilitynumberOn Dialogue v3: 0 (most varied), 0.5 (balanced) or 1 (most stable). On Dialogue v4: any value from 0 to 1.
similarity_boostnumberDialogue v4 only. How closely each line keeps the character of its voice, from 0 to 1.
language_codestringA language hint, such as en or he. Leave it out to detect the language.
seedintegerA fixed seed for a repeatable result.
apply_text_normalizationstringSpells out numbers, dates and abbreviations: auto (default), on or off.

The limits are 5,000 characters in total on Dialogue v3 and 10,000 on Dialogue v4, with 2,000 or fewer recommended for the best quality, and 10 different voices per call. Voices can be premade names and cloned voices in the same script.

Returns: a job id.

list_voices

Returns the premade voices, with their id, name, and any gender, accent and description details. generate_speech, voice_changer and voice_changer_pro need a voice id.

Permission: workflows:execute. Credits: free.

This tool has no parameters. It reads the catalog and starts no job.

list_voice_favorites

Returns the user's favorite voices, newest first. A favorite can be a premade voice, a Voice Library voice or one of the user's cloned voices. The user can star a voice from any client: an app, the SDK, the CLI or favorite_voice.

Permission: assets:read. Credits: free.

This tool has no parameters. It reads the list and starts no job.

Returns: JSON. Each voice carries its voiceId and voiceType, which you pass to generate_speech as voice_id and voice_type. It also carries the name and previewUrl it was starred with.

favorite_voice

Stars a voice for the user, with the name the favorites list shows it by. With favorite: false, it removes the star instead.

Permission: assets:write. Credits: free.

ParameterTypeNotes
voice_idstringRequired. The voice's id: a premade or Voice Library voice_id, or the ElevenLabs voice id of a cloned voice. From 1 to 200 characters.
voice_typestringpremade, library or custom, as generate_speech takes it for this voice. Required to star a voice, and not needed to remove a star.
namestringThe voice's name, as the favorites list shows it. Required to star a voice. From 1 to 200 characters.
preview_urlstringThe voice's preview audio, as an https URL, up to 2,048 characters. "" clears a stored preview.
favoritebooleanfalse removes the star. Default true.

Both actions are idempotent. Starring a voice that is already starred updates its name and preview. A user can star up to 500 voices. Past that limit, the star is refused with limit_reached.

voice_design

Designs a new voice from a description and returns a sample of it speaking your script. Use it to preview a voice before you save it. It works like the Voice Design node.

Permission: workflows:execute. Credits: 55.

ParameterTypeNotes
voice_descriptionstringRequired. The voice: gender, age, accent, tone and character, up to 1,000 characters. For example "warm female narrator with a soft British accent, low-pitched, calm pacing".
textstringRequired. A sample script for the voice to speak, 100 to 1,000 characters.
modelstringeleven_ttv_v3 (default, every language) or the legacy eleven_multilingual_ttv_v2.
loudness, guidance_scale, quality, seed, should_enhanceOptional design settings. loudness is from -1 to 1, guidance_scale from 0 to 100.

Returns: a job id. The result is an audio sample of the designed voice.

voice_remix

Speaks a text in a voice you describe in words, without a voice id. Use it for a one-off voice that you do not need to keep. It works like the Voice Remix node.

Permission: workflows:execute. Credits: 44.

ParameterTypeNotes
textstringRequired. What to say, up to 5,000 characters.
voice_descriptionstringRequired. The voice, up to 1,000 characters, for example "a warm, mid-40s British woman with a calm news-anchor tone".

Returns: a job id.

voice_changer

Replaces the voice in an audio track, or in a whole talking video, while keeping the delivery and the rhythm. It works like the Voice Changer node.

Permission: workflows:execute. Credits: 44.

ParameterTypeNotes
voice_idstringRequired. The new voice: a premade name or the id of a voice you cloned.
audio_url or audio_asset_idstringAn audio source.
video_url or video_asset_idstringA video source instead. The video wins when you pass both.
remove_background_noisebooleantrue returns a clean voice only. false keeps the music and sound effects under the new voice.
stability, similarity_boost, stylenumberFrom 0 to 1. style exaggerates the original delivery; above 0 it is slower and can be less stable.

Returns: a job id. For a video source, the card previews the new audio, and the new video lands in your library.

voice_changer_pro

Detects every speaker in a clip and gives each one a new voice, keeping the words and the timing. Speaker 1 gets the first voice in the list, speaker 2 the second, and so on, in the order they first speak. It works like the Voice Changer Pro node.

Permission: workflows:execute. Credits: as the Voice Changer Pro node. Nodaro Cloud only.

ParameterTypeNotes
ordered_voicesarrayRequired. 1 to 8 entries, one per speaker. An entry is a voice id, an object with its own settings, or null to keep that speaker's own voice. At least one entry must not be null.
audio_url, audio_asset_id, video_url or video_asset_idstringThe source: an audio track, or a video whose voices are changed.
analysisobjectThe output of an earlier voice_changer_pro_analyze job. The change then uses exactly the speaker list you mapped your voices to, instead of detecting the speakers again.
preserve_backgroundbooleanMixes the music and sound effects back under the new voices. Default true.
music_volume_mode, music_volumeThe level of the background: match (original), normalize or manual with a volume from 0 to 200.
voice_fxobjectA reverb or effect on the new voices, before the background returns: a preset such as room, hall, church, telephone or echo, with wetDryMix, delayMs and decay.
separation_qualitystringfast (default) or best.
remove_background_noisebooleanRemoves background noise first, for a clean voice-only result.
outputstringvideo (default), a finished video, or stems, the separate tracks for your own mix with voice_changer_pro_export.
modelstringA voice model override.

A voice entry object takes voiceId and optional engine, stability, similarityBoost, style, useSpeakerBoost, seed, volumeMode and volume. The engine is sts (the default, which changes the voice of the original performance), v3 or v4. v3 and v4 re-speak the line from its transcript with ElevenLabs v3 or ElevenLabs v4, and accept audio tags. The v3 engine accepts a stability of 0, 0.5 or 1. The v4 engine accepts any stability from 0 to 1 and applies similarityBoost. Both read the transcript from the analysis; without an analysis, they use their own transcription.

Returns: a job id.

voice_changer_pro_analyze

Detects the speakers in a clip without changing them: the first step of the interactive flow. The job output holds the separated voice and background tracks, each speaker with its time segments, first appearance, word count and a text snippet, and the language. Check it to choose a voice for each speaker, and to spot "speakers" that are not people, such as applause.

Permission: workflows:execute. Nodaro Cloud only.

ParameterTypeNotes
audio_url, audio_asset_id, video_url or video_asset_idstringThe source clip.
separation_qualitystringfast (default) or best.
suggest_titlebooleanAlso suggests a title from the transcript, as suggestedTitle.

Returns: a job id. Pass its output_data to voice_changer_pro as analysis.

voice_changer_pro_export

Renders a finished video from your own mix of tracks: the last step of the interactive flow, after voice_changer_pro with output: "stems". The video is copied without re-encoding.

Permission: workflows:execute. Nodaro Cloud only.

ParameterTypeNotes
tracksarrayRequired. 1 to 16 tracks, each with a url, a gain from 0 to 200 (100 is unchanged), muted, and a kind, voice (default) or background. At least one track must not be muted.
video_url or video_asset_idstringThe source video.
voice_fxobjectAn effect applied to the voice tracks only.

Returns: a job id.

dubbing

Translates speech into another language while keeping each speaker's voice and timing. A video source returns the dubbed video and its audio track. It works like the Dubbing node.

Permission: workflows:execute. Credits: priced per minute of the dubbed span.

ParameterTypeNotes
target_languagestringRequired. A language code, such as en, es, fr, de, ja, zh, ko or ar.
audio_url, audio_asset_id, video_url, video_asset_id or source_urlstringExactly one source. source_url is a public YouTube, TikTok or direct link that is fetched directly.
source_languagestringA hint for the source language. It is detected when you leave it out.
num_speakersintegerThe number of different voices, up to 20. 0 detects them.
disable_voice_cloningbooleanUses a similar native voice instead of each speaker's own voice.
drop_background_audiobooleanRemoves the background, for speech-only sources.
start_time, end_timenumberDubs only part of the source, in seconds.
highest_resolutionbooleanKeeps the source resolution of a video. Slower.
use_profanity_filter, target_accent, watermarkOptional. target_accent steers the voices toward an accent.

A dub covers at most 30 minutes. Use start_time and end_time for part of a longer source.

Returns: a job id.

text_to_audio

Creates a sound effect from a description: foley, ambience, interface sounds. It is not for speech or music. It works like the Text to Audio node.

Permission: workflows:execute. Credits: the price of ElevenLabs Sound Effects, per second of duration, rounded up to a whole second. A call without a duration is billed as 5 seconds.

ParameterTypeNotes
promptstringThe sound, for example "thunderstorm with heavy rain", up to 2,000 characters. Required unless a preset supplies it.
durationnumberFrom 0.5 to 30 seconds. By default the model decides.
loopbooleanMakes the sound loop seamlessly.
prompt_influencenumberHow closely the sound follows the prompt, from 0 to 1.
presetIdstringA preset such as Rain Ambience, Whoosh Transition or Impact / Boom.

Returns: a job id.

transcribe

Turns speech in an audio or video file into text. It runs on the ElevenLabs STT engine unless model names another. It works like the Transcribe node.

Permission: workflows:execute. Credits: the price of the engine, such as ElevenLabs STT. Nemotron 3.5 Transcribe is priced per started minute of the file.

ParameterTypeNotes
audio_url or audio_asset_idstringThe source. The id can be an audio or a video job.
modelstringThe engine: elevenlabs-stt (default), incredibly-fast-whisper, whisper or nemotron-3-5-transcribe.
languagestringA language code such as en. Detected when you leave it out. Nemotron always detects it.
diarizebooleanElevenLabs STT only: labels each speaker. Default false.
tag_audio_eventsbooleanElevenLabs STT only: marks sounds such as [laughter] or [music]. Default false.
word_timestampsbooleanPer-word timings. ElevenLabs STT returns them either way. Incredibly Fast Whisper and Nemotron return them only with true, and Nemotron adds a speaker to each word. Whisper never returns them.
target_languagestringnemotron-3-5-transcribe only: translates the speech into this language, to or from English, such as en, ja or he. The translation is in text, with no word timings. Refused beside word_timestamps or on another engine.

Returns: a job id. The transcript is in the job output. To caption a video with corrected text, map json.words into the captions of add_captions, one entry per word.

Nemotron 3.5 Transcribe takes a direct file link, up to 60 minutes and 200 MB.

audio_isolation

Removes background music and noise from a mix and returns the main voice, vocals or instrument as one clean track. It works like the Voice Extractor node.

Permission: workflows:execute. Credits: the price of ElevenLabs Voice Isolation, by length.

ParameterTypeNotes
audio_url or audio_asset_idstringThe source. The id can be an audio or a video job.

Returns: a job id.

separate_audio

Splits any audio into vocals and instrumental, or into full stems: drums, bass, guitar, piano and other. It runs Demucs, and it also works on commercially released recordings, which suno_separate_stems refuses. It works like the Audio Separation node.

Permission: workflows:execute. Credits: 33–88, by mode and quality.

ParameterTypeNotes
audio_url or audio_asset_idstringThe source. audio_asset_id takes an audio job or an uploaded audio file, not a video.
modestringvocal_instrumental (default) or stems.
qualitystringauto (default), fast or best.

Returns: a job id. Read each stem's URL, such as vocalUrl, instrumentalUrl or drumsUrl, with get_job.

apply_audio_fx

Applies a creative effect to a voice or a clip: a reverb that places a dry voice in a space, or a telephone, megaphone or echo effect. It works like the Audio FX node.

Permission: workflows:execute. Credits: 22.

ParameterTypeNotes
audio_url or audio_asset_idstringThe source. The id can be an audio or a video job.
presetstringroom (default), bathroom, car, hall, concert-hall, church, cave, arena, outdoor, telephone, megaphone, echo or custom.
mixnumberHow much reverb, from 0 to 100.

Returns: a job id.

pitch_tempo

Shifts the pitch of a voice or a song by semitones, or changes its tempo without changing the pitch. It works like the Pitch & Tempo node.

Permission: workflows:execute. Credits: 22 per started minute of the input, up to 30 minutes.

ParameterTypeNotes
audio_url, video_url or asset_idstringExactly one source. The id can be an audio or a video job, or an upload. A video keeps its picture.
semitonesnumberFrom -12 to 12. The default is 0. 12 is one octave up.
temponumberFrom 0.5 to 2, with the pitch kept. The default is 1. Ignored for a video.
preserve_formantsbooleanKeeps the voice's natural character. The default is true. Turn it off for a chipmunk or a giant voice.

Returns: a job id.

trim_audio

Trims audio to a time window, or extracts the audio of a video and trims it. It works like the Trim Audio node.

Permission: workflows:execute. Credits: 11.

ParameterTypeNotes
audio_url, audio_asset_id, video_url or video_asset_idstringOne source. A video source gives its audio track.
start_time, end_timenumberThe window in seconds. Leave both out to keep the whole track.
audio_formatstringmp3 (default), wav or aac.

Returns: a job id.

mix_audio

Layers 2 to 20 audio tracks into one file. With duck, a music bed dips under the voice while the voice speaks, and rises back in its pauses. It works like the Mix Audio node.

Permission: workflows:execute. Credits: 22, with or without ducking.

ParameterTypeNotes
tracksarrayRequired. 2 to 20 tracks, in mix order. Each is { audio_url } or { audio_asset_id }, with an optional volume from 0 to 200 percent. Default 100. An audio_asset_id can be a Nodaro audio or video job.
duckobjectDucks every other track under one key track. Leave it out for a plain mix.
duck.underintegerRequired in duck. The position of the key track, usually the voice, in tracks, counted from 0.
duck.amountnumberHow far the other tracks dip, from 0 to 100. Default 75.
duck.threshold_dbnumberThe level in dBFS the key track must pass to start the dip, from -60 to 0. Default -30.
duck.rationumberA compressor ratio from 1 to 20. It overrides amount.
duck.attack_ms, duck.release_msnumberHow fast the dip starts, from 1 to 2,000 ms (default 20), and how slowly the other tracks return, from 10 to 9,000 ms (default 500).
end_atstringWhere the mix ends: longest (default) with its longest track, or voice when the duck.under track ends. voice needs duck.

A ducked mix adds its tracks together instead of averaging them, so the voice keeps its level.

Returns: a job id. The mixed audio is the job's result.

download_youtube_audio

Extracts the audio track of a YouTube video.

Permission: workflows:execute.

ParameterTypeNotes
youtube_urlstringRequired. The YouTube video URL.

A deployment can turn link imports off with imports.links: false. On such a deployment, this tool and every other tool that imports from a link answer 403 link_imports_disabled before a job is created.

Returns: a job id. The result is an audio file you can pass to other tools.

Frequently asked questions

Which voice does generate_speech use by default?

Rachel, on the ElevenLabs v4 model. Pass voice_id with a premade voice name such as Aria, Roger or Charlotte, or the id of a voice you cloned. list_voices returns the premade voices.

How do I make a conversation between two voices?

Use generate_dialogue with an ordered list of lines, each with its text and voice. It returns one audio file with natural turn-taking, which sounds better than joining separate speech clips.

Does ElevenLabs v4 speak languages other than English?

Yes. It is fully multilingual, including Hebrew, Arabic, Chinese, Japanese and Korean, so use it for every language. It also understands audio tags such as [laughs] and [whispers].

How do I get word timings for captions?

Call transcribe. On the default ElevenLabs STT engine, the word timings, in milliseconds, are always in the job's output_data.json.words, which is the shape add_captions accepts as captions.

Can I change several voices in one clip?

Yes, on Nodaro Cloud, with voice_changer_pro. It detects each speaker and gives each one the voice you list for it, in the order they first speak, while keeping the words and the timing.

Last updated on

On this page