n8n-nodes-volcano-tts
v0.2.6
Published
n8n community node for Volcano Engine TTS (豆包语音合成)
Maintainers
Readme
n8n-nodes-volcano-tts
This is an n8n community node that lets you use Volcano Engine TTS (Text-to-Speech) service in your n8n workflows.
Volcano Engine TTS is a powerful text-to-speech service that provides natural-sounding voices in Chinese and English, powered by ByteDance's AI technology.
n8n is a fair-code licensed workflow automation platform.
Installation
Community Node (Recommended)
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-volcano-ttsin the input field - Select Install
Manual Installation
To install the node manually in a local n8n instance:
npm install n8n-nodes-volcano-ttsPrerequisites
You need to have a Volcano Engine account and obtain the following credentials:
- APP ID: Your application ID from Volcano Engine console
- Access Token: Your access token for authentication
- Cluster ID: The cluster ID for your TTS service (default:
volcano_tts)
Operations
Text to Speech
Convert text to natural-sounding speech with various voice options.
Parameters:
- Text: The text to convert to speech (max 2000 characters)
- Voice: Choose from various Chinese and English voices
- Format: Audio output format (MP3, WAV, PCM, OGG)
- Sample Rate: Audio sample rate (8000-48000 Hz)
- Speed: Speech speed (0.5-2.0)
- Volume: Volume level (0-100)
- Pitch: Pitch adjustment (-12 to +12)
Supported Voices
Chinese Voices
- BV700_V2_streaming: 通用女声 (General Female)
- BV701_V2_streaming: 通用男声 (General Male)
- BV123_V2_streaming: 甜美女声 (Sweet Female)
- BV120_V2_streaming: 动感男声 (Dynamic Male)
- BV119_V2_streaming: 自然女声 (Natural Female)
- BV115_V2_streaming: 沉稳男声 (Steady Male)
English Voices
- BV001_V2_streaming: English Female
- BV002_V2_streaming: English Male
Usage Example
Basic Text-to-Speech Workflow
- Add a Volcano TTS node to your workflow
- Configure your credentials:
- APP ID: Your Volcano Engine APP ID
- Access Token: Your access token
- Cluster ID:
volcano_tts(or your custom cluster)
- Set the text you want to convert
- Choose a voice
- Execute the workflow
Example with Dynamic Text
{
"nodes": [
{
"parameters": {
"text": "={{ $json.message }}",
"voice": "BV700_V2_streaming",
"additionalOptions": {
"format": "mp3",
"speed": 1.0,
"volume": 50
}
},
"name": "Volcano TTS",
"type": "n8n-nodes-volcano-tts.volcanoTts",
"position": [450, 300]
}
]
}Connection Modes
The node supports two connection modes:
- WebSocket (Streaming): Real-time streaming synthesis with lower latency
- HTTP (Standard): Traditional request-response pattern with higher stability
Output Options
The node can output audio in two ways:
Binary Data: Audio file as binary data (default)
- Can be saved to disk or passed to other nodes
- Preserves original audio quality
Base64 String: Audio encoded as base64 string
- Useful for embedding in JSON responses
- Can be decoded by other applications
Error Handling
The node includes comprehensive error handling for:
- Authentication failures
- Text length exceeding limits
- Network timeouts
- Invalid parameters
- API rate limits
Development
To build the node for development:
# Install dependencies
npm install
# Build the node
npm run build
# For development with watch mode
npm run devTesting
# Run linter
npm run lint
# Format code
npm run formatPublishing
To publish a new version to npm:
# Update version
npm version patch/minor/major
# Build and publish
npm publishResources
License
Support
If you have any issues or questions, please:
- Check the documentation
- Open an issue on GitHub
- Join the n8n community forum
