Eedesy
Book Demo
HomeProductsContact
AI Voice Agent
  • Introduction
  • Quick Start
  • Architecture
  • Core Concepts
  • Configuration
  • Creating an Agent
  • Using Templates
  • System Prompt Configuration
  • Language Selection
  • Settings Reference
  • Overview
  • Upload Files (PDF, DOCX)
  • Web Crawling (URLs & Sitemaps)
  • Document Processing
  • RAG Integration
  • Troubleshooting
  • Creating a Campaign
  • CSV Upload & Variables
  • Scheduling & Retry Logic
  • Campaign Analytics
  • Contact Management
  • Uploading Contacts
  • Managing Contacts
  • Call History Enrichment
  • Trial Numbers
  • Purchasing Numbers
  • BYOP Setup
  • Exotel Setup
  • Telephony Providers Guide
  • Credits System
  • Provider Costs Breakdown
  • Usage Analytics
  • Credit Packs
  • Overview
  • Finding Your Workspace ID
  • Common Issues
  • Audio Quality
  • Latency Optimization
  • Error Codes
  • Overview
  • Twilio
  • Exotel
  • Plivo
  • Telnyx
  • WhatsApp
  • WebRTC Browser
  • Overview
  • Deepgram
  • Google Chirp
  • Azure Speech
  • ElevenLabs Scribe
  • AssemblyAI
  • OpenAI Whisper
  • Overview
  • Cartesia
  • ElevenLabs
  • Google TTS
  • Azure Neural
  • OpenAI TTS
  • Deepgram Aura
  • Sarvam Bulbul
  • HeyPixa Luna
  • Overview
  • OpenAI GPT-4o
  • Gemini 2.0/2.5 Flash
  • Gemini Live (Native Audio)
  • OpenAI Realtime
  • Anthropic Claude
  • Azure OpenAI
  • Overview
  • VAD (Voice Activity Detection)
  • Interruption Handling
  • Turn Detection
  • Audio Processing
  • Function Calling
  • Call Transfer
  • DTMF Handling
  • Call Recording
  • Exporting Recordings
  • Transcripts
  • Webhooks
  • Variables & Templates
  • Multi-Language Support
  • Hindi
  • Tamil
  • Assamese
  • Other Indian Languages
  • Latency Optimization
  • Scaling & Performance
  • Error Handling
  • Monitoring & Logging
  • Security Best Practices
  • Trigger Call via API
  • REST API
  • WebSocket Protocol
  • Webhooks
  • Webhook Subscriptions
  • SDKs
  • Overview
  • Financial Services
  • E-commerce
  • Logistics
  • Hyperlocal
  • Healthcare
  • Education
  • Overview
  • Customer Support
  • Sales & Lead Conversion
  • Marketing Campaigns
  • Debt Collection
  • Overview
  • Customer Support Bot
  • Order Status IVR
  • Appointment Booking
  • Lead Qualification
  • Outbound Sales
  • Recruitment Screening
  • Overview
  • Migrate from Vapi
  • Migrate from Retell AI
  • Migrate from Traditional IVR

Related Products

  • AI Voice Agent
  • AI Voice Assistant
  • Try Free
AI Voice Agent
  • Introduction
  • Quick Start
  • Architecture
  • Core Concepts
  • Configuration
  • Creating an Agent
  • Using Templates
  • System Prompt Configuration
  • Language Selection
  • Settings Reference
  • Overview
  • Upload Files (PDF, DOCX)
  • Web Crawling (URLs & Sitemaps)
  • Document Processing
  • RAG Integration
  • Troubleshooting
  • Creating a Campaign
  • CSV Upload & Variables
  • Scheduling & Retry Logic
  • Campaign Analytics
  • Contact Management
  • Uploading Contacts
  • Managing Contacts
  • Call History Enrichment
  • Trial Numbers
  • Purchasing Numbers
  • BYOP Setup
  • Exotel Setup
  • Telephony Providers Guide
  • Credits System
  • Provider Costs Breakdown
  • Usage Analytics
  • Credit Packs
  • Overview
  • Finding Your Workspace ID
  • Common Issues
  • Audio Quality
  • Latency Optimization
  • Error Codes
  • Overview
  • Twilio
  • Exotel
  • Plivo
  • Telnyx
  • WhatsApp
  • WebRTC Browser
  • Overview
  • Deepgram
  • Google Chirp
  • Azure Speech
  • ElevenLabs Scribe
  • AssemblyAI
  • OpenAI Whisper
  • Overview
  • Cartesia
  • ElevenLabs
  • Google TTS
  • Azure Neural
  • OpenAI TTS
  • Deepgram Aura
  • Sarvam Bulbul
  • HeyPixa Luna
  • Overview
  • OpenAI GPT-4o
  • Gemini 2.0/2.5 Flash
  • Gemini Live (Native Audio)
  • OpenAI Realtime
  • Anthropic Claude
  • Azure OpenAI
  • Overview
  • VAD (Voice Activity Detection)
  • Interruption Handling
  • Turn Detection
  • Audio Processing
  • Function Calling
  • Call Transfer
  • DTMF Handling
  • Call Recording
  • Exporting Recordings
  • Transcripts
  • Webhooks
  • Variables & Templates
  • Multi-Language Support
  • Hindi
  • Tamil
  • Assamese
  • Other Indian Languages
  • Latency Optimization
  • Scaling & Performance
  • Error Handling
  • Monitoring & Logging
  • Security Best Practices
  • Trigger Call via API
  • REST API
  • WebSocket Protocol
  • Webhooks
  • Webhook Subscriptions
  • SDKs
  • Overview
  • Financial Services
  • E-commerce
  • Logistics
  • Hyperlocal
  • Healthcare
  • Education
  • Overview
  • Customer Support
  • Sales & Lead Conversion
  • Marketing Campaigns
  • Debt Collection
  • Overview
  • Customer Support Bot
  • Order Status IVR
  • Appointment Booking
  • Lead Qualification
  • Outbound Sales
  • Recruitment Screening
  • Overview
  • Migrate from Vapi
  • Migrate from Retell AI
  • Migrate from Traditional IVR
  1. Docs
  2. AI Voice Agent
  3. STT Providers
  4. ElevenLabs Scribe

ElevenLabs Scribe STT

Configure ElevenLabs Scribe for accurate speech recognition with excellent regional language support.

ElevenLabs Scribe STT

ElevenLabs Scribe provides speech recognition for 99 languages with particularly strong support for regional and less common languages.

Why ElevenLabs Scribe?

Feature ElevenLabs Scribe Deepgram
Languages 99 35+
Regional Languages ⭐⭐⭐⭐⭐ ⭐⭐⭐
Assamese Support ✅ Yes ❌ No
Cost $0.007/min $0.0043/min
Latency ~150ms ~80ms

Best for: Assamese, Odia, Nepali, and other regional languages with limited provider support.

Configuration

Basic Setup

{
  "agent": {
    "name": "Regional Support",
    "language": "as-IN",
    "sttProvider": "elevenlabs"
  }
}

Environment Variables

ELEVENLABS_API_KEY=your_elevenlabs_api_key

Advanced Configuration

{
  "sttProvider": "elevenlabs",
  "sttConfig": {
    "language_code": "as",
    "tag_audio_events": false,
    "diarize": false,
    "num_speakers": 1
  }
}

Implementation

WebSocket Connection

type ElevenLabsSTT struct {
    apiKey    string
    language  string
    conn      *websocket.Conn
    eventChan chan TranscriptEvent
}

func (e *ElevenLabsSTT) Connect(ctx context.Context) error {
    wsURL := "wss://api.elevenlabs.io/v1/speech-to-text/websocket"

    headers := http.Header{}
    headers.Set("xi-api-key", e.apiKey)

    conn, _, err := websocket.DefaultDialer.DialContext(ctx, wsURL, headers)
    if err != nil {
        return fmt.Errorf("elevenlabs connect: %w", err)
    }

    e.conn = conn

    // Send initial config
    config := map[string]any{
        "language_code":     e.language,
        "tag_audio_events":  false,
        "transcribe_mode":   "realtime",
        "sample_rate":       8000,
        "encoding":          "pcm_16",
    }

    if err := conn.WriteJSON(config); err != nil {
        return err
    }

    go e.receiveLoop()

    return nil
}

Sending Audio

func (e *ElevenLabsSTT) SendAudio(audio []byte) error {
    // Encode audio as base64
    encoded := base64.StdEncoding.EncodeToString(audio)

    msg := map[string]any{
        "audio": encoded,
    }

    return e.conn.WriteJSON(msg)
}

Receiving Results

func (e *ElevenLabsSTT) receiveLoop() {
    for {
        _, msg, err := e.conn.ReadMessage()
        if err != nil {
            return
        }

        var response ElevenLabsResponse
        json.Unmarshal(msg, &response)

        switch response.Type {
        case "transcript":
            e.eventChan <- TranscriptEvent{
                Text:    response.Text,
                IsFinal: response.IsFinal,
            }
        case "audio_event":
            // Handle audio events if enabled
            log.Debug("Audio event: %s", response.Event)
        }
    }
}

Language Support

Well-Supported Languages

Language Code Accuracy Notes
English en ⭐⭐⭐⭐⭐ All variants
Spanish es ⭐⭐⭐⭐⭐
French fr ⭐⭐⭐⭐⭐
German de ⭐⭐⭐⭐⭐
Hindi hi ⭐⭐⭐⭐
Portuguese pt ⭐⭐⭐⭐⭐

Regional Languages (Unique Support)

Language Code Accuracy Notes
Assamese as ⭐⭐⭐⭐ Best option available
Odia or ⭐⭐⭐ Limited alternatives
Nepali ne ⭐⭐⭐⭐
Sinhala si ⭐⭐⭐
Khmer km ⭐⭐⭐
Lao lo ⭐⭐⭐
Burmese my ⭐⭐⭐

Audio Events

Detect non-speech audio:

{
  "sttConfig": {
    "tag_audio_events": true
  }
}

Events detected:

  • laughter - User laughing
  • applause - Clapping sounds
  • music - Background music
  • silence - Extended silence
  • noise - Background noise
func (e *ElevenLabsSTT) handleAudioEvent(event string) {
    switch event {
    case "laughter":
        // User is happy, adjust tone
        e.context.SetMood("positive")
    case "noise":
        // High background noise
        log.Warn("High background noise detected")
    }
}

Speaker Diarization

Identify multiple speakers:

{
  "sttConfig": {
    "diarize": true,
    "num_speakers": 2
  }
}
type DiarizedTranscript struct {
    Speaker string
    Text    string
    Start   float64
    End     float64
}

// Response includes speaker labels
// Speaker 0: "Hello, I need help with my order"
// Speaker 1: "Of course, what's your order number?"

Error Handling

func (e *ElevenLabsSTT) handleError(err error) {
    switch {
    case strings.Contains(err.Error(), "401"):
        log.Error("Invalid API key")
    case strings.Contains(err.Error(), "429"):
        log.Warn("Rate limited, backing off")
        time.Sleep(time.Second)
        e.reconnect()
    case strings.Contains(err.Error(), "language not supported"):
        log.Error("Language %s not supported", e.language)
    }
}

Cost Optimization

Pricing

Tier Price per Minute Monthly Limit
Free $0 30 minutes
Starter $0.008 Pay as you go
Creator $0.007 Included minutes
Pro $0.006 Volume discount

Optimization Tips

// Only transcribe when needed
func (e *ElevenLabsSTT) shouldTranscribe(audio []byte) bool {
    // Skip very quiet audio
    volume := calculateVolume(audio)
    if volume < 0.01 {
        return false
    }

    // Skip very short clips
    duration := len(audio) / (8000 * 2) // 8kHz, 16-bit
    if duration < 100 { // < 100ms
        return false
    }

    return true
}

Best Practices

1. Fallback Strategy

func (s *STTService) transcribe(audio []byte, language string) (string, error) {
    // Try ElevenLabs for regional languages
    if isRegionalLanguage(language) {
        result, err := s.elevenlabs.Transcribe(audio)
        if err == nil {
            return result, nil
        }
        log.Warn("ElevenLabs failed: %v", err)
    }

    // Fallback to Google for Indic
    if isIndicLanguage(language) {
        return s.google.Transcribe(audio)
    }

    // Default to Deepgram
    return s.deepgram.Transcribe(audio)
}

func isRegionalLanguage(lang string) bool {
    regional := []string{"as", "or", "ne", "si", "km", "lo", "my"}
    for _, r := range regional {
        if strings.HasPrefix(lang, r) {
            return true
        }
    }
    return false
}

2. Handle Connection Drops

func (e *ElevenLabsSTT) maintainConnection() {
    for {
        select {
        case <-e.pingTicker.C:
            if err := e.conn.WriteJSON(map[string]string{"type": "ping"}); err != nil {
                e.reconnect()
            }
        case <-e.ctx.Done():
            return
        }
    }
}

3. Audio Quality Check

func checkAudioQuality(audio []byte) AudioQuality {
    volume := calculateVolume(audio)
    snr := estimateSNR(audio)

    if volume < 0.01 {
        return AudioQuality{Quality: "poor", Issue: "too quiet"}
    }
    if snr < 10 {
        return AudioQuality{Quality: "poor", Issue: "noisy"}
    }

    return AudioQuality{Quality: "good"}
}

Assamese Configuration Example

Complete setup for Assamese voice agent:

{
  "agent": {
    "name": "Assamese Support",
    "language": "as-IN",
    "llmProvider": "gemini-2.5",
    "sttProvider": "elevenlabs",
    "sttConfig": {
      "language_code": "as"
    },
    "ttsProvider": "azure",
    "ttsVoice": "as-IN-YashicaNeural",
    "prompt": "আপুনি এজন সহায়ক গ্ৰাহক সেৱা প্ৰতিনিধি..."
  }
}

Next Steps

  • AssemblyAI - Alternative provider
  • Language Support - Full language matrix
  • Fallback Configuration - Provider fallbacks
Previous
Azure Speech
Next
AssemblyAI

On this page

  • Why ElevenLabs Scribe?
  • Configuration
  • Basic Setup
  • Environment Variables
  • Advanced Configuration
  • Implementation
  • WebSocket Connection
  • Sending Audio
  • Receiving Results
  • Language Support
  • Well-Supported Languages
  • Regional Languages (Unique Support)
  • Audio Events
  • Speaker Diarization
  • Error Handling
  • Cost Optimization
  • Pricing
  • Optimization Tips
  • Best Practices
  • 1. Fallback Strategy
  • 2. Handle Connection Drops
  • 3. Audio Quality Check
  • Assamese Configuration Example
  • Next Steps

Stay Updated

Get the latest updates on AI voice technology, product releases, and exclusive resources.

Get Started

Try our products for free
AI Voice Agent
Build voice AI for calls
WhatsApp AI Bot
Automate WhatsApp chats
Website Chatbot
AI chat for websites
Edesy CRM
Manage leads & customers
Book a DemoCall UsEmail Us
Eedesy

Your all-in-one platform for digital innovation. We build AI-powered solutions that transform how businesses operate.

[email protected]+91 95475 31359

Products

  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products

Solutions

  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases

Services

  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services

Resources

  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo

Company

  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service

Products

  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products

Solutions

  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases

Services

  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services

Resources

  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo

Company

  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service
  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products
  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases
  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services
  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo
  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service

Popular Free Tools

Compress PDFMerge PDFPDF to WordGST CalculatorEMI CalculatorSIP CalculatorJSON FormatterBase64 EncoderImage CompressorQR Code GeneratorVoice AI ROI CalculatorAmazon FBA CalculatorAI Email WriterVideo to GIFPrivacy Policy GeneratorCRM ROI CalculatorMeeting Cost Calculator
Categories:PDF ToolsDeveloper ToolsFinance CalculatorsImage ToolsVideo ToolsAI Writing ToolsAudio ToolsWhatsApp ToolsDocument GeneratorsVoice AI ToolsE-commerce ToolsView All Tools

© 2026 Edesy Technology Labs Pvt Ltd

SSL Secured
99.9% Uptime