Video database query skill for battlefield reconnaissance analysis. Use when analyzing drone footage, detecting military objects (tanks, trucks, soldiers), searching for specific events, or understanding video content. Always call get_contexts action first before other queries.
This skill provides comprehensive video analysis capabilities for battlefield reconnaissance. Use it to search for objects, events, and patterns in analyzed drone footage.
Before any video query, you MUST call the get_contexts action first:
contexts = videodb_query_skill("get_contexts")
if contexts["status"] == "error":
# No videos selected - inform user
final_answer("Please select videos from the Context Catalog tab first.")
Get currently selected video and PDF contexts. Always call this first.
result = videodb_query_skill("get_contexts")
# Returns: selected_videos, selected_pdfs, num_videos, num_pdfs
Get overview statistics for selected videos.
result = videodb_query_skill("get_summary")
# Returns: video names, durations, object counts per video
Search video segments using natural language descriptions.
result = videodb_query_skill("semantic_search", query="convoy moving through forest")
# Returns: matching segments with similarity scores
Find segments containing specific object types.
Valid object types: tank, truck, soldier
result = videodb_query_skill("object_search", object_type="tank")
# Returns: timeline_text (pre-formatted), summary_text, max_objects_at_any_point
Important: Use timeline_text and summary_text directly in your response. Never sum object counts across segments - the same object may appear in multiple consecutive segments.
Search by event keywords in AI-generated descriptions.
result = videodb_query_skill("event_search", query="moving")
# Returns: segments with matching descriptions
Get detailed information about a specific segment.
result = videodb_query_skill("segment_details", segment_id=0, video_ids=["m-abc123"])
# Returns: event_description, object_counts, individual object positions
Critical Understanding: The same object appearing in consecutive segments is NOT multiple objects. When reporting object counts:
The object_search action returns pre-formatted timeline_text that handles this correctly. Use it directly.
When multiple videos are selected:
# Get contexts
contexts = videodb_query_skill("get_contexts")
# Query each video
for video_id in contexts["result"]["selected_videos"]:
result = videodb_query_skill("object_search", object_type="tank", video_ids=[video_id])
# Process results per video
# Provide context-aware response
All actions return:
status: "success", "no_results", or "error"action: The action performedresult: Action-specific datamessage: Human-readable summaryget_contexts firststatus before using resultstimeline_text directly for object counts