ElevenLabs API

Convert text to lifelike speech using ElevenLabs' advanced AI voices. Perfect for content creation, narration, and voice applications.

Overview

API Plugin's ElevenLabs integration provides easy access to state-of-the-art AI voice generation. Convert text to natural-sounding speech using a variety of voices and customization options.

Key benefits include:

  • Lifelike AI voices
  • Multiple voice options
  • Voice customization
  • High-quality audio
  • Fast processing
  • Simple integration
  • MP3 format support

How to Setup

We assume you have signed up on API Plugin and are logged into the dashboard.

  1. Get ElevenLabs API Key:

    • Sign up at ElevenLabs (elevenlabs.io)
    • Go to your Profile Settings
    • Copy your API Key
  2. Configure API:

    • Go to API Plugin marketplace
    • Select ElevenLabs API
    • Input your API key
    • Save configuration

Available Endpoints

  1. Text to Speech
POST /v1/{appId}/{token}/text-to-speech

Convert text to speech using specified voice and settings.

Request Body:

{
    "text": "Hello, this is a test of the text to speech API.",
    "voice_id": "21m00Tcm4TlvDq8ikWAM",
    "model_id": "eleven_monolingual_v1",
    "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 0.75
    }
}

Response:

  • Audio file (MP3 format)
  • Content-Type: audio/mpeg
  1. Get Available Voices
GET /v1/{appId}/{token}/voices

Get list of available voices and their settings.

Response:

{
    "voices": [
        {
            "voice_id": "21m00Tcm4TlvDq8ikWAM",
            "name": "Rachel",
            "category": "premade",
            "description": "A warm and friendly female voice"
        }
    ]
}
  1. Get Voice Settings
GET /v1/{appId}/{token}/voice-settings?voice_id=21m00Tcm4TlvDq8ikWAM

Get settings for a specific voice.

Response:

{
    "stability": 0.5,
    "similarity_boost": 0.75
}

Examples

  1. Basic Text to Speech
const response = await fetch('/v1/{appId}/{token}/text-to-speech', {
    method: 'POST',
    body: JSON.stringify({
        text: 'Hello, this is a test message.',
        voice_id: '21m00Tcm4TlvDq8ikWAM',
    }),
});

// Handle audio response
const audioBlob = await response.blob();
const audioUrl = URL.createObjectURL(audioBlob);
const audio = new Audio(audioUrl);
audio.play();
  1. Customized Voice Settings
const response = await fetch('/v1/{appId}/{token}/text-to-speech', {
    method: 'POST',
    body: JSON.stringify({
        text: 'This is a message with custom voice settings.',
        voice_id: '21m00Tcm4TlvDq8ikWAM',
        voice_settings: {
            stability: 0.8,
            similarity_boost: 0.6,
        },
    }),
});