volcano-tts

n8n community node for Volcano Engine TTS (豆包语音合成)

Package Information

Downloads: 2 weekly / 79 monthly
Latest Version: 0.2.6
Author: David Fon

Documentation

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)

  1. Go to Settings > Community Nodes
  2. Select Install
  3. Enter n8n-nodes-volcano-tts in the input field
  4. Select Install

Manual Installation

To install the node manually in a local n8n instance:

npm install n8n-nodes-volcano-tts

Prerequisites

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

  1. Add a Volcano TTS node to your workflow
  2. Configure your credentials:
    • APP ID: Your Volcano Engine APP ID
    • Access Token: Your access token
    • Cluster ID: volcano_tts (or your custom cluster)
  3. Set the text you want to convert
  4. Choose a voice
  5. 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:

  1. WebSocket (Streaming): Real-time streaming synthesis with lower latency
  2. HTTP (Standard): Traditional request-response pattern with higher stability

Output Options

The node can output audio in two ways:

  1. Binary Data: Audio file as binary data (default)

    • Can be saved to disk or passed to other nodes
    • Preserves original audio quality
  2. 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 dev

Testing

# Run linter
npm run lint

# Format code
npm run format

Publishing

To publish a new version to npm:

# Update version
npm version patch/minor/major

# Build and publish
npm publish

Resources

License

MIT

Support

If you have any issues or questions, please:

  1. Check the documentation
  2. Open an issue on GitHub
  3. Join the n8n community forum

Discussion