WAVE · Sentiment

Your live stream just learned how the room feels.

Point Sentiment at any audio, chat, or video stream and get back how it feels — a score and labels — in real time, from one call. Nothing to train, nothing to host; auth and metering settle on the WAVE plane, so you pay per use.

callPOST /sentiment {"source"} → {score, labels[]}

The moment your stream turns, you're the last to know — until now

Chat goes toxic, an audience quietly checks out, a call sours — you usually find out in the postmortem, after it already cost you. Sentiment tells you while it's still happening, when the outcome is still yours to change.

One call, no stack to run

One authenticated call, any source — audio, chat, or video — comes back as {score, labels[]}. Nothing to train, no inference to run, no moderation stack to host. Auth, entitlement, and metering federate through api.wave.online, and you pay per use — so the whole thing is a POST, not a project.

endpointPOST /sentiment {"source"} → {score, labels[]}
authAuthorization: Bearer <key> (via gateway)
healthGET /health

One signal on the plane you already carry

Sentiment is one signal on the WAVE protocol plane. The same stream you already move, transcribe, or caption through WAVE can be scored and moderated on the same plane — one bearer token, one meter, one bill. Reading the room stops being a separate system and becomes another line on the wave you're already carrying.

Federated — auth, entitlement, and metering run through api.wave.online; this spoke renders the front-door and forwards the rest.