Overview
Add ElevenLabs to any ModuleX agent or workflow. AI voice integration via the synchronous elevenlabs SDK. 15 actions across TTS, STT, sound effects, voice library / cloning / isolation, subscription, and Conversational-AI agents.
Categories : AI & Machine Learning · Audio · Voice · Auth : API Key, ModuleX Managed Key · Actions : 15
Authentication
API Key
ModuleX Managed Key
API Key Authentication Authenticate using your ElevenLabs API key Required Credentials Field Description Required Format ElevenLabs API Key Your ElevenLabs API key Yes sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ModuleX Managed Key Use ModuleX’s managed API keys with usage tracked against your weekly credit limit
Available Actions
text_to_speech — Convert text to AI-generated speech audio (base64-encoded)
Parameters Voice name (alternative to voice_id)
TTS model ID (Default: eleven_multilingual_v2)
Voice stability (0-1) (Default: 0.5)
Voice similarity to original (0-1) (Default: 0.75)
Style exaggeration (0-1) (Default: 0)
Speech speed (0.7-1.2) (Default: 1)
ISO 639-1 language code (Default: en)
Audio output format (Default: mp3_44100_128)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"audio_base64" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Audio Base64"
},
"voice" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Voice"
},
"model_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Model Id"
},
"format" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Format"
},
"text_length" : {
"default" : 0 ,
"title" : "Text Length" ,
"type" : "integer"
},
"audio_size_bytes" : {
"default" : 0 ,
"title" : "Audio Size Bytes" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "TextToSpeechOutput" ,
"type" : "object"
}
speech_to_text — Transcribe audio to text with optional speaker diarization
Parameters Base64-encoded audio (XOR with audio_url)
Identify speakers (Default: false)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"transcript" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Transcript"
},
"diarized" : {
"default" : false ,
"title" : "Diarized" ,
"type" : "boolean"
},
"language_detected" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Language Detected"
}
},
"required" : [
"success"
],
"title" : "SpeechToTextOutput" ,
"type" : "object"
}
text_to_sound_effects — Generate a custom sound effect from a text description
Parameters Sound description (e.g. ‘thunder rumbling’)
Duration (0.5-5 seconds) (Default: 2)
Audio output format (Default: mp3_44100_128)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"audio_base64" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Audio Base64"
},
"description" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Description"
},
"duration_seconds" : {
"anyOf" : [
{
"type" : "number"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Duration Seconds"
},
"format" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Format"
},
"audio_size_bytes" : {
"default" : 0 ,
"title" : "Audio Size Bytes" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "TextToSoundEffectsOutput" ,
"type" : "object"
}
search_voices — Search the ElevenLabs voice library
Parameters Search term to filter voices
created_at_unix or name (Default: name)
asc or desc (Default: desc)
Response {
"$defs" : {
"VoiceEntry" : {
"additionalProperties" : false ,
"properties" : {
"id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"category" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Category"
},
"description" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Description"
},
"labels" : {
"additionalProperties" : true ,
"title" : "Labels" ,
"type" : "object"
}
},
"title" : "VoiceEntry" ,
"type" : "object"
}
},
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"voices" : {
"items" : {
"$ref" : "#/$defs/VoiceEntry"
},
"title" : "Voices" ,
"type" : "array"
},
"count" : {
"default" : 0 ,
"title" : "Count" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "SearchVoicesOutput" ,
"type" : "object"
}
list_models — List all available TTS models
Response {
"$defs" : {
"ModelEntry" : {
"additionalProperties" : false ,
"properties" : {
"id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"description" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Description"
},
"languages" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Languages" ,
"type" : "array"
}
},
"title" : "ModelEntry" ,
"type" : "object"
}
},
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"models" : {
"items" : {
"$ref" : "#/$defs/ModelEntry"
},
"title" : "Models" ,
"type" : "array"
},
"count" : {
"default" : 0 ,
"title" : "Count" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "ListModelsOutput" ,
"type" : "object"
}
get_voice — Get details for a specific voice
Parameters Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"category" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Category"
},
"description" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Description"
},
"labels" : {
"additionalProperties" : true ,
"title" : "Labels" ,
"type" : "object"
},
"fine_tuning_status" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Fine Tuning Status"
},
"settings" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Settings"
}
},
"required" : [
"success"
],
"title" : "GetVoiceOutput" ,
"type" : "object"
}
voice_clone — Create an instant voice clone from audio samples
Parameters Base64-encoded audio samples
Optional voice description
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"category" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Category"
},
"description" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Description"
}
},
"required" : [
"success"
],
"title" : "VoiceCloneOutput" ,
"type" : "object"
}
isolate_audio — Isolate voice from background noise / music
Parameters Audio URL (alternative to base64)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"audio_base64" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Audio Base64"
},
"original_size_bytes" : {
"default" : 0 ,
"title" : "Original Size Bytes" ,
"type" : "integer"
},
"isolated_size_bytes" : {
"default" : 0 ,
"title" : "Isolated Size Bytes" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "IsolateAudioOutput" ,
"type" : "object"
}
check_subscription — Check current subscription tier + usage
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"tier" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Tier"
},
"character_count" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Character Count"
},
"character_limit" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Character Limit"
},
"can_extend_character_limit" : {
"anyOf" : [
{
"type" : "boolean"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Can Extend Character Limit"
},
"allowed_to_extend_character_limit" : {
"anyOf" : [
{
"type" : "boolean"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Allowed To Extend Character Limit"
},
"next_character_count_reset_unix" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Next Character Count Reset Unix"
},
"voice_limit" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Voice Limit"
},
"professional_voice_limit" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Professional Voice Limit"
}
},
"required" : [
"success"
],
"title" : "CheckSubscriptionOutput" ,
"type" : "object"
}
create_agent — Create a conversational AI agent
Parameters Voice ID (Default: cgSgspJ2msm6clMCkdW9)
LLM to power the agent (Default: gemini-2.0-flash-001)
LLM temperature (Default: 0.5)
Voice stability (Default: 0.5)
Voice similarity (Default: 0.8)
Max conversation duration (Default: 300)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"agent_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Agent Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"voice_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Voice Id"
},
"language" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Language"
},
"llm" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Llm"
}
},
"required" : [
"success"
],
"title" : "CreateAgentOutput" ,
"type" : "object"
}
list_agents — List all conversational AI agents
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"agents" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Agents" ,
"type" : "array"
},
"count" : {
"default" : 0 ,
"title" : "Count" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "ListAgentsOutput" ,
"type" : "object"
}
get_agent — Get a specific agent's configuration
Parameters Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"agent_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Agent Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"voice_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Voice Id"
},
"created_at" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Created At"
}
},
"required" : [
"success"
],
"title" : "GetAgentOutput" ,
"type" : "object"
}
add_knowledge_base_to_agent — Attach a knowledge base document (from URL, text, or file) to an agent
Parameters Display name for the KB document
Source URL (XOR text / file)
Base64 file (epub / pdf / docx / txt / html)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"knowledge_base_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Knowledge Base Id"
},
"name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Name"
},
"agent_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Agent Id"
},
"source_type" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Source Type"
}
},
"required" : [
"success"
],
"title" : "AddKnowledgeBaseOutput" ,
"type" : "object"
}
list_conversations — List recorded conversations (optionally filtered by agent)
Parameters Results per page (1-100) (Default: 30)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"conversations" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Conversations" ,
"type" : "array"
},
"count" : {
"default" : 0 ,
"title" : "Count" ,
"type" : "integer"
}
},
"required" : [
"success"
],
"title" : "ListConversationsOutput" ,
"type" : "object"
}
get_conversation — Get a conversation's full transcript
Parameters Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"conversation_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Conversation Id"
},
"agent_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Agent Id"
},
"status" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Status"
},
"transcript" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Transcript"
},
"message_count" : {
"default" : 0 ,
"title" : "Message Count" ,
"type" : "integer"
},
"duration_seconds" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Duration Seconds"
},
"analysis_summary" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Analysis Summary"
}
},
"required" : [
"success"
],
"title" : "GetConversationOutput" ,
"type" : "object"
}
Links