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

Provider: Modulate AsyncAPI: v3.0.0 Spec: Modulate Velma-2 Streaming Server Operations: 4 Messages: 14

Channel address

/api/velma-2-streaming

Operations

send
sendStreamConfig
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.

Browse every event-driven channel on the APIs.io network or compare with the broader Agent Skill and MCP server surfaces of the same providers.