Niravi docs

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"}'
FieldTypeNotes
querystringrequired — your message
video_idsstring[]restrict the answer to these videos
max_tokensintcap 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 });