Skip to main content
Failed requests return an OpenAI-style envelope.
A WebSocket that fails to open receives the same envelope as the body of a plain HTTP response, before any frame.

Authentication

Every request needs Authorization: Bearer sk_hopper_.... A missing, incorrect, or disabled key returns 401.

Credits

A key whose balance has reached zero returns 402 insufficient_quota. A streaming transcription session that reaches zero closes with code 1008.

Rate limits

Each key is limited to 2,000 requests per minute. Over that, the API returns 429 rate_limit_exceeded with Retry-After in seconds. Text to speech and voice cloning also return 429 when the model is at capacity.

Codes