| name | voice_output |
| description | Convert text to synthesized speech using TTS (Text-to-Speech) providers like ElevenLabs, OpenAI TTS, or Gemini TTS |
| version | 1.0.0 |
| author | Hive Team |
| icon | 🔊 |
| category | voice |
| permissions | ["voice_speak"] |
| dependencies | [] |
| tools | ["voice_speak"] |
| triggers | ["leé esto en voz alta","read this aloud","convertí a voz","convert to speech","hablá este texto","speak this text","texto a voz","text to speech","generá audio","generate audio","síntesis de voz","voice synthesis","escuchá la respuesta","listen to response"] |
| preferred_agents | [] |
| steps | [{"step":1,"action":"receive_text","instruction":"Receive text content to convert to speech","params":{"text":"text to synthesize","language":"language code (es, en, etc.)"},"output":"text_content"},{"step":2,"action":"optimize_for_speech","instruction":"Preprocess text for natural speech (expand abbreviations, handle special chars)","output":"optimized_text"},{"step":3,"action":"voice_speak","instruction":"Send text to TTS provider for synthesis","params":{"text":"optimized text","voice_id":"configured voice ID","language":"language code"},"output":"audio_buffer"},{"step":4,"action":"deliver_audio","instruction":"Return synthesized audio to user via channel","output":"delivered"}] |
| rules | ["Use configured TTS provider for channel (tts_provider config)","Respect user's voice preference if set (tts_voice_id)","Preprocess text: expand numbers, dates, abbreviations for natural speech","Handle SSML tags if present for prosody control","Split long text into chunks if exceeds provider limits","Cache frequently spoken responses to reduce API calls"] |
| output_format | {"structure":"audio","sections":["audio_file","duration","voice_used","language"],"max_length":"Audio attachment or file path"} |
| examples | [{"user_input":"leé esta respuesta en voz alta","expected_behavior":"voice_speak → return audio file with synthesized speech"},{"user_input":"convertí este texto a audio","expected_behavior":"voice_speak → generate and return audio file"},{"user_input":"respondeme por voz","expected_behavior":"Generate response text → voice_speak → send audio"}] |