A Dedicated Permission for the Realtime API
The Realtime API has its own permission
Realtime sessions authorize withinterhumanai.realtime. Give the keys that
open realtime sessions that permission, then request the scope when you mint
credentials: pass "scopes": ["interhumanai.realtime"] to POST /v1/auth or
POST /v1/client_tokens.One key can hold several permissions, so a single key can cover upload,
stream, and realtime. A credential without interhumanai.realtime is refused
at the WebSocket handshake with ih2003 (close code 4003).Realtime Recommendations
Live guidance while the conversation is happening
The Realtime API can generate periodic recommendations for the responding speaker, grounded in the social signals detected so far and the transcript you supply.OnWS /v0/realtime/analyze:- Set
realtime_recommendation_instructionsin the session config to describe your use case — the goal, the domain, and the shape of the output you want. A non-empty value turns recommendations on. - Set
realtime_recommendation_frequencyto pace them:highevery 10 seconds of analyzed video,mediumevery 20 seconds,lowevery 30 seconds. - Listen for
realtime_recommendation.generated, which carries the guidance text and the analyzed interval it covers.
Visual-Coverage Notices on the Stream and Realtime APIs
Know when a window’s video coverage was partial
The informationalcoverage.degraded message reports analysis windows that
decoded materially less video than the window span while the audio ran to the
end — the shape a static screen share or a long-GOP encoder produces when its
keyframe interval exceeds the analysis window.Those windows are still analyzed, using the audio plus whatever video
decoded, and are billed normally. The notice lists the affected time ranges so
your application knows the visual signals over that stretch drew on partial
video.This applies to WS /v1/stream/analyze and WS /v0/realtime/analyze.Signal Modality
Every signal names where its evidence came from
Signals carry amodality list naming the analysis modalities that detected
them:video. A Realtime session
runs several analyses at once, so its signals name every one that detected
them — ["audio", "visual"] when both did.Use it to tell your users which evidence a signal rests on, or to weight
signals that several modalities agree on.Visual Tension Signal
The Realtime API detects tension
The Realtime API reports the signal tension, available when the visual
analysis group is active for the session.Stream Shutdown Grace Period
Close a stream session without losing the last windows
The stream WebSocket endpoint supports a caller-initiated graceful shutdown handshake. Sendsession.close when you have finished sending video and the
API acknowledges with session.closing, including a maximum drain timeout. It
then finishes analyzing the video it already accepted, ends still-active
signals, sends session.ended, and closes the connection cleanly.Inter-1 Streaming
Inter-1 goes streaming
The Inter-1 Streaming API is now available. The same behavioral analysis Inter-1 already delivers on upload — social signals with rationales, engagement, and the conversation quality — now runs on live video over WebSocket while the conversation is still happening.Highlights
- Live behavioral analysis: stream video chunks to
wss://api.interhuman.ai/v1/stream/analyzeand receive typed events (signal.detected,signal.ended,engagement.updated, and more) as state changes unfold. - Full Inter-1 capability on live video: the same social signals Inter-1 reports on upload, with structured rationales, engagement tracking, and optional five-dimension Conversation Quality Index scores — not a reduced streaming subset.
- Predictable session contract:
session.readydeclares server limits up front; an optional session config message opts into additional analyses before you send the first frame. - Low-latency sliding windows: stream chunks at whatever size fits your pipeline; analysis runs on overlapping sliding windows with ordered, concurrent processing — when the queue backs up, dropped windows are reported so clients never miss silent gaps.
- Production-minded billing and lifecycle: you are billed only for seconds actually analyzed and delivered; on disconnect, in-flight work is cancelled and active signals receive an implicit
signal.ended.
Explore streaming
Authentication Simplification
Direct API key authentication for requests
Interhuman supports a simple authentication path for API integrations. You can send your API key directly in theAuthorization header on requests, including POST /v1/upload/analyze.Highlights
- One-step auth for integrations: call API endpoints directly with
Authorization: Bearer <api_key>. - Lower setup overhead: no required key exchange step before your first upload request.
General Availability
Interhuman V1 is live
Interhuman V1 is now generally available. This release stabilizes the core integration path: authenticate, upload a video, and receive structured analysis with predictable error handling.Highlights
- Self-serve onboarding: create an account and generate API keys directly at platform.interhuman.ai.
- Stable API contract: V1 authentication and upload-analysis flows are stable for production use.
- Reliable processing: consistent analysis completion across real-world video uploads.
- Production-ready errors: standardized error payloads (
error_id,correlation_id,link,message) for faster debugging and stronger recovery logic. - Faster setup path: quickstart and codealong docs that get you from API key to first successful analysis quickly.