LiveKit Inference STT — HTTP 429 on First Clean Connection

Hi LiveKit Support,

I’m experiencing a persistent HTTP 429 Too Many Requests error when attempting to use LiveKit Inference STT with:

deepgram/nova-3

We performed a controlled clean-state test to rule out application-side concurrency, duplicate sessions, stale rooms, and connection leaks.

Clean-state test results:

  • 1 LiveKit Agent worker
  • 1 active room
  • 1 AgentSession
  • 1 simultaneous Nova-3 STT connection
  • No stale rooms
  • No overlapping STT retries
  • No AgentSession restart leak
  • No STT resource leak

The important point is that the very first clean STT connection attempt receives HTTP 429, before any retry, reconnection, or additional STT stream is created.

The first failure is:

WSServerHandshakeError: 429, message=‘Invalid response status’, url='wss://agent-gateway.livekit.cloud/v1/stt?model=deepgram/nova-3’

After the subsequent sequential retry attempts, LiveKit reports:

livekit.agents._exceptions.APIConnectionError: failed to recognize speech after 3 attempts

The AgentSession eventually closes with an unrecoverable stt_error.

The LiveKit Cloud dashboard confirms that deepgram/nova-3 is available for the project. The project is also well below the 5 simultaneous STT connection limit during this clean test. Only one simultaneous Nova-3 connection was observed.

We have therefore been able to rule out Winston-side concurrency as the cause of the current 429.

Could you please check whether there is a project/account-side inference credit limit, quota, entitlement restriction, rate limit, or gateway state causing LiveKit Inference to reject this connection?

Specifically regarding the HTTP 429: if possible, please check your server-side logs and tell me the exact quota, credit, entitlement, rate-limit, or gateway rule responsible for generating this 429 response for the project.

The key diagnostic fact is:

The 429 occurs on the first and only clean STT WebSocket connection, before any Winston-side retry or concurrency occurs.

Thank You

You didn’t say which specific session ID your clean-state test was with, but I strongly suspect you would also have run out of STT credits too. You get about 50 minutes of Inference credits on build tier (on average - it varies by model), and if you look at your billing, you are a fair bit above that.

Thanks, that’s helpful. Based on your note and our billing, it sounds like we simply exceeded the build plan’s inference credits rather than hitting the concurrent STT limit.

We appreciate the clarification.