Recall & Chat
Go beyond retrieval — ask questions and get grounded answers.
Per-video recall
POST /api/v1/recall/{video_id}/ask answers a question using only that video’s transcript, scenes, faces, and sounds — with the evidence it used.
curl https://api.niravi.io/api/v1/recall/$VIDEO_ID/ask \
-H "X-API-Key: $NIRAVI_API_KEY" -H "Content-Type: application/json" \
-d '{"query": "what does the host say about pricing?"}'
video = client.get_video(video_id)
print(video.recall_ask("what does the host say about pricing?"))
const video = await niravi.getVideo(videoId);
console.log(await video.recallAsk("what does the host say about pricing?"));
The response includes the answer plus the supporting moments (timestamps + snippets), so you can cite or deep-link back into the video.
Chat over the corpus
POST /api/v1/chat is a conversational query over the whole workspace (or a subset of videos). It retrieves relevant moments and composes an answer.
curl https://api.niravi.io/api/v1/chat \
-H "X-API-Key: $NIRAVI_API_KEY" -H "Content-Type: application/json" \
-d '{"query": "summarize every mention of the product roadmap"}'
| Field | Type | Notes |
|---|---|---|
query | string | required — your message |
video_ids | string[] | restrict the answer to these videos |
max_tokens | int | cap the response length |
print(client.chat("summarize every mention of the roadmap"))
print(client.chat("what happens here?", video_id=video_id))
await niravi.chat("summarize every mention of the roadmap");
await niravi.chat("what happens here?", { videoId });