AsyncAPI channel · Modulate
· Modulate Velma-2 Streaming Server
/api/velma-2-streaming
WebSocket channel for streaming velma-2.
## Connection Flow
1. Connect with `api_key` and optional audio-format query parameters.
2. Connection is accepted if authentication succeeds and limits are not exceeded.
3. Send one text frame: either the literal string `default` or a
JSON-encoded `BatchConfig`.
4. Stream audio data as binary WebSocket frames.
5. Send an empty text frame ("") to signal
First text frame - `default` or JSON-encoded BatchConfig.
send
sendAudioChunk
Binary audio frame.
send
sendEndOfStream
Empty text frame signaling end of audio.
receive
receiveStreamingEvents
Server-emitted events. Discriminated by the `type` field.
Messages
streamConfig
First text frame: either the literal string `default` (to use
the built-in default configuration) or a JSON-encoded
BatchConfig object.
Content-Type: application/json
audioChunk
Raw audio data chunk.
Content-Type: application/octet-stream
endOfStream
Empty text frame signalling end of audio stream.
Content-Type: text/plain
clipEvent
A transcribed clip with metadata.
Content-Type: application/json
partialClipEvent
An in-progress clip streamed while an utterance is still being spoken,
before it finalizes. Multiple partials may be emitted for the same
`clip_uuid` as the utterance grows; the eventual `clip` event
Content-Type: application/json
clipUpdateEvent
Refined values for a previously finalized clip;
`clip_update.clip_uuid` matches the `clip_uuid` of an earlier `clip`
event. A finalized clip may receive any number of `clip_update`
events (including n
Content-Type: application/json
conversationTypeEvent
Inferred or default conversation-type pick for the session.
Content-Type: application/json
participantRoleEvent
Inferred or default participant-role pick for a speaker.
Content-Type: application/json
behaviorDetectionEvent
Per-behavior detection result.
Content-Type: application/json
topicsEvent
Aggregated list of conversation topics. May be emitted more than once as
the stream progresses; each event fully replaces the previous `topics`
event, so always treat the latest as authoritative and n
Content-Type: application/json
topicSentimentEvent
Per-speaker sentiment for an aggregated topic, keyed by topic and
speaker. May be emitted more than once as the stream progresses; a later
event supersedes an earlier one for the same topic and speake
Content-Type: application/json
summaryEvent
Free-form summary of the conversation. May be emitted more than once as
the stream progresses; each event fully replaces the previous `summary`
event, so always treat the latest as authoritative.
Content-Type: application/json
errorEvent
An error occurred during processing.
Content-Type: application/json
doneEvent
Streaming completed.
Content-Type: application/json
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.