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.
{
"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.