Nodaro Docs
DocumentationNode ReferenceModelsAI Agents (MCP)DevelopersSelf-hostingResearch
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 starts a job and returns its id, and the result is saved to your library. Every audio tool needs the workflows:execute permission.

ToolWhat it does
generate_speechText to speech with a voice
generate_dialogueA conversation between several voices, as one file
list_voicesThe premade voices
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
trim_audioTrims audio, or extracts it from a video
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 v3ElevenLabsText to speech30Latest ElevenLabs TTS — supports [audio tags] for emotion / pacing. Direct API.
ElevenLabs Turbo v2.5ElevenLabsText to speech15Fast, cheap ElevenLabs TTS via the direct ElevenLabs API. Good for narration.
ElevenLabs Multilingual v2ElevenLabsText to speech30Multi-language ElevenLabs TTS via the direct ElevenLabs API.
ParameterTypeNotes
textstringRequired. What to say, up to 5,000 characters. Split a longer script into several calls.
voice_idstringA premade voice name, or the id of a voice you cloned. Default Rachel. An unknown id fails with voice_not_found.
voice_typestringpremade, custom or library.
modelstringelevenlabs-v3 (default), elevenlabs-turbo or elevenlabs-multilingual.
language_codestringThe language of the text.
stability, similarity_boost, stylenumberDelivery settings, from 0 to 1.
speednumberFrom 0.7 to 1.2.
presetIdstringA delivery preset, such as Calm Narrator, Commercial Read or Audiobook, from list_node_presets. You still pass text.

Choosing a model. ElevenLabs v3 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. 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. 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, per 1,000 characters.

ParameterTypeNotes
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].
stabilitynumber0 (most varied), 0.5 (balanced) or 1 (most stable).
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, 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.

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: 50.

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.

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: 40.

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: 40.

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) or v3, which re-speaks the line from its transcript with ElevenLabs v3. The v3 engine accepts audio tags and a stability of 0, 0.5 or 1, and it reads the transcript from the analysis; without an analysis, it uses its 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.

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 or Impact / Boom.

Returns: a job id.

transcribe

Turns speech in an audio or video file into text on the ElevenLabs STT engine. The word timings, in milliseconds, are always in output_data.json.words. It works like the Transcribe node.

Permission: workflows:execute. Credits: the price of ElevenLabs STT.

ParameterTypeNotes
audio_url or audio_asset_idstringThe source. The id can be an audio or a video job.
languagestringA language code such as en. Detected when you leave it out.
diarizebooleanLabels each speaker. Default false.
tag_audio_eventsbooleanMarks sounds such as [laughter] or [music]. Default false.
word_timestampsbooleanKept for compatibility. Word timings are returned either way.

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. The Whisper engines are available on the canvas node, the REST API, the SDK and the CLI, not through this tool.

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 unlike suno_separate_stems, it needs no Suno track. It works like the Audio Separation node.

Permission: workflows:execute. Credits: from 30 to 80, by mode and quality.

ParameterTypeNotes
audio_url or audio_asset_idstringThe source.
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: 20.

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.

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: 10.

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.

download_youtube_audio

Extracts the audio track of a YouTube video.

Permission: workflows:execute.

ParameterTypeNotes
youtube_urlstringRequired. The YouTube video URL.

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

Frequently asked questions

Last updated on

On this page