| name | videodb_query |
| description | 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. |
Video Database Query Skill
Overview
This skill provides comprehensive video analysis capabilities for battlefield reconnaissance. Use it to search for objects, events, and patterns in analyzed drone footage.
Critical Rule: Always Get Contexts First
Before any video query, you MUST call the get_contexts action first:
contexts = videodb_query_skill("get_contexts")
if contexts["status"] == "error":
final_answer("Please select videos from the Context Catalog tab first.")
Available Actions
1. get_contexts
Get currently selected video and PDF contexts. Always call this first.
result = videodb_query_skill("get_contexts")
2. get_summary
Get overview statistics for selected videos.
result = videodb_query_skill("get_summary")
3. semantic_search
Search video segments using natural language descriptions.
result = videodb_query_skill("semantic_search", query="convoy moving through forest")
4. object_search
Find segments containing specific object types.
Valid object types: tank, truck, soldier
result = videodb_query_skill("object_search", object_type="tank")
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.
5. event_search
Search by event keywords in AI-generated descriptions.
result = videodb_query_skill("event_search", query="moving")
6. segment_details
Get detailed information about a specific segment.
result = videodb_query_skill("segment_details", segment_id=0, video_ids=["m-abc123"])
Temporal Continuity Awareness
Critical Understanding: The same object appearing in consecutive segments is NOT multiple objects. When reporting object counts:
- WRONG: "Found 45 tanks" (summing all detections)
- CORRECT: "Maximum 15 tanks observed at any point, appearing across 3 segments"
The object_search action returns pre-formatted timeline_text that handles this correctly. Use it directly.
Multi-Video Analysis
When multiple videos are selected:
- Assess relationships: Are videos sequential (same mission) or independent?
- Attribution: Always specify which video findings come from
- Counting methodology: Related videos may show same objects
Example Multi-Video Workflow
contexts = videodb_query_skill("get_contexts")
for video_id in contexts["result"]["selected_videos"]:
result = videodb_query_skill("object_search", object_type="tank", video_ids=[video_id])
Result Structure
All actions return:
status: "success", "no_results", or "error"
action: The action performed
result: Action-specific data
message: Human-readable summary
Best Practices
- Always call
get_contexts first
- Check
status before using results
- Use
timeline_text directly for object counts
- Explain your counting methodology
- Attribute findings to specific videos
- Handle "no_results" gracefully (it's not an error)