Create a real-time analysis stream
Returns the signaling WS URL, ephemeral ICE servers, and session limits. Signaling protocol v1: join → ready|queued(position) → offer/answer/ice → live; mid-stream update_prompt {prompt} (client→server; server confirms with prompt_updated), metering (5s ticks), warning, end {reason}. WS auth: ?token= accepts a client token (pvct_) or first-party session JWT — never a secret key. Billed per second of live clock time (join/negotiation free) from the same credit ledger as uploads. options.narrative: true adds (a) a narrative_update object ({t_s, text}) to result-frame detections whenever the engine emits a new sentence — event-driven, absent otherwise — and (b) an additive server→client status event {type: "status", status: "prompt_context"|"combined_prompt"|"recalculating", message?} for ordering/annotating narrative entries (closed vocabulary; non-opted-in streams never receive status events). No extra cost.
Request
- Base URL: https://api.primateintelligence.ai
- URL: https://api.primateintelligence.ai/v1/streams
- Auth: HTTP bearer
Headers
§16.1: first request wins; 24h replay window; same key + different body → 409 idempotency_key_reused.
Request body
Example request
{
"model": "Darwin-preview-1.3B"
}Response
Stream created (queued or ready). Response carries signaling.url + ice_servers + limits.
Example response
{
"id": "st_01KX12XX3BNM688AWHX7406HCF",
"model": "Darwin-preview-1.3B",
"signaling": {
"url": "wss://api.primateintelligence.ai/v1/streams/st_01KX…/signal",
"expires_at": "2026-07-08T14:00:00Z"
},
"created_at": "2026-07-08T14:00:00Z",
"live_started_at": "2026-07-08T14:00:00Z",
"ended_at": "2026-07-08T14:00:00Z"
}Changes
No recorded changes to this operation across all 1 revision of this API.