Better Support for Browser WebM Streaming
We’ve improved how the realtime streaming API handles WebM video chunks produced by browserMediaRecorder.Previously, when the browser sent fragmented WebM chunks, only the first chunk contained the initialization metadata needed for decoding. Later chunks could fail silently because they were missing that context.The API now automatically detects and reuses the required WebM initialization segment for subsequent chunks within the same stream session. This makes fragmented browser streams decode reliably without requiring any client-side workaround.Structured Interhuman error codes
We’ve overhauled error handling across the Interhuman API, introducing a structured, machine-readable error model that’s an awesome way of doing error handling in production systems.All HTTP and WebSocket error responses now use Interhuman error codes, with payloads that includeerror_id, correlation_id, link, and message. Failures are mapped to specific ihxxx codes that cover authentication, validation, media, quota, and realtime categories, making it much easier to programmatically react to and debug issues.For backward compatibility, legacy error fields are still present for now while clients migrate to the new schema.Learn more in the updated docs: Error handling.More Reliable Video Segmentation
We’ve improved how video segments are handled during processing.Previously, very small trailing segments could result in the final fraction of a second not being analyzed. These edge cases are now handled correctly, ensuring full coverage of the uploaded video.This improves signal consistency for videos of arbitrary lengths.Better Handling of Corrupt MP4 Uploads
Segments that contain a valid MP4 container but no actual media data are now detected before model processing.Instead of surfacing opaque upstream errors, the API now returns a clear400 Bad Request response with a helpful error message when corrupted or invalid video content is detected.