Video Searching
by @memories-ai-official
Search and analyze videos across YouTube, TikTok, Instagram, and X/Twitter via the Memories.ai Video Searching API.
clawhub install video-searchingπ About This Skill
name: video-searching description: Search and analyze videos across YouTube, TikTok, Instagram, and X/Twitter via the Memories.ai Video Searching API. user-invocable: true metadata: {"openclaw":{"os":["darwin","linux"],"homepage":"https://api-tools.memories.ai/agents/video-searching-api","requires":{"bins":["curl","jq"],"env":["MEMORIES_API_KEY"]}}}
Video Searching Skill
Use this skill when the user asks to find, compare, or analyze social videos (YouTube, TikTok, Instagram, Twitter/X), or explicitly invokes /video_search.
This skill calls the Memories.ai Video Searching API β a managed, token-authenticated endpoint that searches across platforms and returns structured results via SSE.
Triggering
Run this workflow when either condition is true:
1. Message starts with /video_search.
2. The user asks for video sourcing/trend/creator/brand analysis and wants concrete video links.
If /video_search is used with no query body, ask for the missing query.
Execution contract
1. Resolve query text:
- /video_search ... β strip /video_search and use remaining text.
- Free-form β use user message as query.
2. Build the API request JSON body:
- query (required): the user's search query
- platforms (optional): array of youtube, tiktok, instagram, twitter β only set if user specifies platforms
- max_results (optional, default 10): number of video results
- time_frame (optional): past_24h, past_week, past_month, past_year β only set if user specifies recency
- max_steps (optional, default 10): max agent iterations
- enable_clarification (optional, default false): set to true if user query is vague
3. Call the runner script:
/scripts/run_video_query.sh \
--query "" \
[--platforms "youtube,tiktok"] \
[--max-results 10] \
[--time-frame past_week] \
[--enable-clarification]
4. Start with exec using background: true.
5. Poll with process using action: "poll" every 2β4 seconds until process exits.
6. Parse NDJSON output and render only these events:
- started β send: π Starting video search...
- progress β send concise progress update from message field (throttle: skip if last update was < 3s ago)
- complete β send final formatted response (see below)
- clarification β ask the clarification question directly; treat as final response
- error β send concise failure reason with one actionable next step
7. Do not forward raw tool_call or tool_result events to the user.
Final response format
When terminal event is complete:
1. One short paragraph conclusion (from answer field).
2. Top video references (up to 5 by default):
- title
- url
- platform badge (e.g. π¬ YouTube, π΅ TikTok, πΈ Instagram, π¦ X)
- one-line relevance_note
- key metrics: views, likes, engagement rate (if available)
3. Footer: β± {execution_time_seconds}s Β· {steps_taken} steps Β· {tools_used}
If fewer videos exist, show all available references.
When terminal event is clarification:
1. Ask the clarification question directly. 2. Present options if provided. 3. Treat as final response for the current run.
When terminal event is error:
1. Send concise failure reason. 2. Include one actionable next step.
Safety and fallback
1. If MEMORIES_API_KEY is not set, tell the user:
> β οΈ Missing MEMORIES_API_KEY. Set it in your OpenClaw environment variables to use this skill.
> Get your API key at https://api-tools.memories.ai
2. If the API returns a non-SSE error (HTTP 4xx/5xx), display the error message.
3. Never fabricate video URLs or metrics.
4. If the API is unreachable, suggest checking network connectivity and API status.