Troubleshooting
Connection Issues
Cannot Establish WebSocket Connection
Symptoms: Connection fails immediately or times out
Possible Causes:
- Invalid API key
- Network/firewall blocking WebSocket connections
- Incorrect WebSocket URL
Solutions:
-
Verify API Key:
-
Check WebSocket URL:
-
Test Network Connectivity:
Connection Drops Unexpectedly
Symptoms: Connection closes without sending end signal
Possible Causes:
- Network instability
- Server timeout
- Invalid audio data
Solutions:
-
Implement Reconnection Logic:
-
Monitor Connection State:
Audio Encoding Problems
No Transcription Received
Symptoms: Connection established but no transcript messages
Possible Causes:
- Incorrect audio encoding
- Mismatched sample rate
- Invalid audio format
Solutions:
-
Verify Encoding Parameters:
-
Check Audio Format:
-
Validate Chunk Format:
Poor Transcription Quality
Symptoms: Incorrect or garbled transcriptions
Possible Causes:
- Wrong sample rate
- Incorrect encoding
- Audio quality issues
Solutions:
-
Match Sample Rate:
-
Use Recommended Encoding:
-
Preprocess Audio:
Response Handling Issues
Partial Transcripts Not Updating
Symptoms: Only final transcripts received, no partial updates
Possible Causes:
- Not checking
is_finalfield - Filtering out partial messages
Solutions:
- Handle Both Types:
Performance Issues
High Latency
Symptoms: Long delay between speaking and transcription
Possible Causes:
- Chunk size too large
- Streaming rate too slow
- Network latency
Solutions:
-
Optimize Chunk Size:
-
Increase Streaming Rate:
-
Check Network:
Memory Issues
Symptoms: Application crashes or slows down during streaming
Possible Causes:
- Buffering too much audio
- Not cleaning up resources
Solutions:
-
Stream Directly:
-
Clean Up Resources:
Browser-Specific Issues
CORS Errors
Symptoms: WebSocket connection blocked in browser
Solutions:
-
Use WSS (Secure WebSocket):
-
Handle Authentication:
Microphone Access Denied
Symptoms: Cannot access microphone in browser
Solutions:
-
Request Permissions:
-
Handle HTTPS Requirement:
- Microphone access requires HTTPS (or localhost)
- Ensure your page is served over HTTPS
Debugging Tips
Enable Verbose Logging
Validate Audio Before Sending
Monitor Session State
HTTP errors
For 401, 403, 429, and 500 (including WebSocket handshake failures), see the Error reference. Browsers cannot set custom headers on WebSocket handshakes, so browser clients should authenticate via the ?token=<KEY> query parameter where supported.
Getting Help
If you continue to experience issues:
-
Check API Status: Verify the API is operational
-
Review Documentation: Ensure youβre following the correct API version
-
Test with Sample Code: Use the provided examples as a baseline
-
Note down: Reach out with:
- Session ID (if available)
- Error messages
- Code snippets (sanitized of API keys)
- Network conditions (if applicable)
-
Reach out to us:
- Email: support@smallest.ai
- Discord: Join our community

