Build a working integration in about ten minutes, from sign-up to a first /v1/read inference returning a multimodal state object.
1 · Install #install
The Feneri client is published as @feneri/sdk for JavaScript and feneri for Python. Pick the one that matches your stack, or skip ahead to one of the SDKs for your surface.
2 · Authenticate #auth
Every request needs a key. Sandbox keys come from your dashboard right after sign-up. They include a free allotment for the first 7 days. Production keys come with your plan.
POSThttps://api.feneri.xyz/v1/read
Request body
videoFile · video/* · optional
A clip or live stream. WebM, MP4, or H.264 over WebRTC. 30fps recommended; min 12fps.
audioFile · audio/* · optional
PCM 16kHz mono preferred. Most common containers accepted.
textstring · optional
Transcript or chat content. 42 languages, 7 Arabic dialects.
modesarray · requiredrequired
Which signals to compute: emotion, attention, intent, valence, arousal, stress, distress.
regionstring · optional
Force-pin a region. Defaults to auto (nearest of your enabled regions).
3 · Handle the response #response
The endpoint returns a state object with normalized scores between 0 and 1 (valence is signed, −1 to +1). Streaming returns a server-sent event per inference window.
4 · Next steps #next
You're ready to wire the engine into your product. The most common patterns:
• Agents: feed attention and stress into your orchestrator's planner. • Customer ops: route on stress or distress; alert supervisors on transitions. • Robotics: gate behavior trees on valence + presence detection. • Clinical: log session-level distress baselines, alert clinicians on regression.