oxDocs
Browse documentation
Introduction
Vision API

Get started

Quickstart
Inference API
Realtime
Integrations
LiveKit & SIP
Administration
Reference

Inference

Chat Completion

Send OpenAI-compatible multimodal requests against images, video, or live stream history.

Send text, images, video, or live stream media

POST /chat/completions follows the OpenAI Chat Completions request and response shape. Text-only calls work. Image and video content can use reachable HTTPS URLs, bounded data URLs, or hallikar://streams/{id} references owned by the same API identity.

json

{
  "model": "MODEL_ID",
  "messages": [{
    "role": "user",
    "content": [
      { "type": "text", "text": "Describe changes during the last ten seconds." },
      { "type": "video_url", "video_url": { "url": "hallikar://streams/STREAM_ID?start_offset_ms=-10000&end_offset_ms=0&max_fps=2" } }
    ]
  }],
  "max_completion_tokens": 256
}

Select an exact frame or time range

Use frame_index=-1 for the latest retained frame, timestamp_ms for a time measured from the first captured frame, or negative offset_ms for a position relative to the current stream time. Video requests accept start and end frame indices, timestamps, or offsets plus an optional max_fps sampling bound.

Stream server-sent events

Set stream: true and read each data: record until [DONE]. A final usage event is best effort when stream_options.include_usage is true. Cancel the upstream request when the downstream client disconnects.

Help improve this guideFound something unclear or incomplete?
Report an issue ↗View source ↗