Hume AI 5 min read

Hume AI Not Working? Fix Common Errors

Troubleshoot Hume AI issues — EVI WebSocket not connecting, 401/403 authentication, browser audio problems, and high latency — with live platform status.

Hume AI live status

Hume AI — live status

Updated every 5 minutes · Full incident history →

Full status →

Quick diagnosis

  1. 1
    Platform outage? — Check prismix.dev/service/hume for active incidents
  2. 2
    API key valid? — Keys live at platform.hume.ai — EVI and Expression Measurement use the same key
  3. 3
    Correct header? — Expression Measurement API uses X-Hume-Api-Key (not Authorization: Bearer)
  4. 4
    EVI: WebSocket endpoint? — wss://api.hume.ai/v0/evi/chat with api_key in the query string
  5. 5
    Microphone permission? — EVI requires getUserMedia — must be HTTPS and user must grant permission
  6. 6
    Audio chunk size? — Send 100–200 ms chunks, not large buffers — smaller chunks reduce latency

Common errors and fixes

EVI WebSocket not connecting

Hume EVI uses a persistent WebSocket for real-time voice conversation. Correct setup:

// JavaScript — connect to EVI
const socket = new WebSocket(
  `wss://api.hume.ai/v0/evi/chat?api_key=YOUR_HUME_API_KEY`
);

socket.onopen = () => {
  // Send initial session settings before any audio
  socket.send(JSON.stringify({
    type: "session_settings",
    audio: { encoding: "linear16", sample_rate: 16000, channels: 1 }
  }));
};

socket.onmessage = (event) => {
  const msg = JSON.parse(event.data);
  if (msg.type === "audio_output") {
    // Play base64-encoded audio response
  }
};
  • The API key goes in the query string, not a header
  • Wait for socket.onopen before sending audio
  • Corporate proxies blocking wss:// will cause silent failures

Expression Measurement API — 401 authentication

The Expression Measurement API uses a different header than most AI APIs:

✖ Wrong

Authorization: Bearer YOUR_KEY

✔ Correct

X-Hume-Api-Key: YOUR_KEY
import requests

response = requests.post(
    "https://api.hume.ai/v0/batch/jobs",
    headers={"X-Hume-Api-Key": "YOUR_HUME_API_KEY"},
    json={
        "models": {"face": {}},
        "urls": ["https://example.com/video.mp4"]
    }
)
print(response.json())

Browser audio not working (microphone blocked)

EVI requires microphone access via the browser's getUserMedia API. Common blockers:

  • HTTP vs HTTPS: getUserMedia is blocked on insecure origins. Use HTTPS or localhost.
  • Permission denied: The user dismissed or blocked the permission dialog. Check browser site settings and request permission again.
  • No microphone device: Test with navigator.mediaDevices.enumerateDevices() to list available audio inputs.
  • Sending audio before session open: Always wait for the WebSocket onopen event before streaming audio.

High latency / slow responses

EVI latency has several components. The part you can control:

Component Typical latency Optimization
Audio upload chunk 100–200 ms Send small chunks (don't buffer >500 ms)
Speech detection (VAD) ~150 ms Set end-of-utterance threshold in session settings
LLM generation 300–800 ms Not controllable; platform-dependent
TTS synthesis ~200 ms Streams as soon as first token is ready
🔔

Know when Hume AI has an outage

Free email alerts. Star Hume on Prismix — no credit card needed.

FAQ

What is Hume AI EVI?

EVI (Empathic Voice Interface) is Hume's real-time voice AI that understands emotional tone from speech and generates emotionally expressive responses. It combines speech recognition, LLM inference, and text-to-speech in a single WebSocket connection with sub-second latency.

Hume vs ElevenLabs vs PlayHT — which is more reliable?

All three are in the same real-time voice AI space. For uptime comparison, see prismix.dev/service/hume and prismix.dev/service/elevenlabs. Hume's differentiator is the emotional intelligence layer; the tradeoff is a more complex WebSocket API versus ElevenLabs' REST-based TTS.

Hume Python SDK import error

Install the correct package: pip install hume. The Hume Python SDK provides HumeClient for REST APIs and AsyncHumeClient for async usage. For EVI, use the hume.empathic_voice module.

Monitor related services