Server
A single binary (skit) that serves the web UI and exposes an HTTP API and a WebSocket endpoint to create and manage pipelines.
StreamKit is built for developers who need to process real-time media — whether you’re compositing live video with overlays, building voice features, or prototyping AI-powered audio/video pipelines.
Server
A single binary (skit) that serves the web UI and exposes an HTTP API and a WebSocket endpoint to create and manage pipelines.
Pipelines
Pipelines are directed acyclic graphs (DAGs) of nodes. You can author them in the web UI or as YAML.
Execution
Run pipelines as request/response batch jobs (HTTP) or as long-lived sessions you can inspect and update while they run (WebSocket).
Extensions
Add nodes via plugins (plugin::native::* or plugin::wasm::*) or embed JavaScript logic with core::script (with allowlists and limits).
Run the server (Docker):
TAG=v0.5.0 # replace with the latest release tagdocker run --rm \ -p 127.0.0.1:4545:4545/tcp \ -p 127.0.0.1:4545:4545/udp \ ghcr.io/streamer45/streamkit:${TAG} \ skit serveThen open http://localhost:4545 to access the web UI.
No install required — these hit a public instance of the speech gateway example, a thin HTTP front-end over StreamKit oneshot pipelines (Kokoro TTS and Whisper STT).
Text to speech (returns Opus audio, piped straight to ffplay):
curl -d 'Hello from StreamKit' https://tts.streamkit.dev | ffplay -nodisp -autoexit -Speech to text — pipe the synthesized audio straight back into STT (no local file needed) and get back newline-delimited JSON:
curl -fsSd 'StreamKit transcribes speech' https://tts.streamkit.dev | curl -fsS --data-binary @- https://stt.streamkit.devStreamKit supports two pipeline execution modes:
POST /api/v1/process). Good for request/response workflows.Dynamic sessions use MoQ (Media over QUIC) over WebTransport (QUIC/UDP) for real-time media transport. This is why the Docker example publishes both TCP and UDP on port 4545.
WebSocket is currently the control plane (sessions, graph edits, and telemetry). WebSocket transport nodes for media are being considered for a future release.
See: