Example
Request:
{
"audio_path": "/Users/you/Downloads/Lex Fridman #491 - Peter Steinberger.webm",
"keywords": ["prototype", "software", "GitHub"]
}
Response:
{
"prototype": [
{
"timestamp": "5:57",
"timestamp_seconds": 357.0,
"snippet": "...a **prototype** in one hour. That was the early version of OpenClaw. I think this story is really inspiring to a lot of people because this **prototype** led to something that just took the internet by storm..."
}
],
"software": [
{
"timestamp": "0:23",
"timestamp_seconds": 23.0,
"snippet": "...and then the agent would just modify its own **software**. If people talk about self-modifying **software**, I just built it. I actually think if I'm coding it is slower..."
},
{
"timestamp": "4:34",
"timestamp_seconds": 274.0,
"snippet": "...he spent 13 years building PSPDF kit, which is a **software** used on a billion devices..."
}
],
"GitHub": [
{
"timestamp": "2:03",
"timestamp_seconds": 123.0,
"snippet": "...a popularity, reaching over 180,000 stars on **GitHub** and spawning the social network mold book where AI agents post manifestos and debate consciousness, creating a mix of excitement and fear..."
}
]
}
Parameters
| Parameter | Required | Default | Description |
|---|
audio_path | Yes | — | Path to the audio/video file |
keywords | Yes | — | List of keywords or phrases to search for |
model_size | No | tiny | Whisper model size |
include_full_text | No | false | Include the full transcription text alongside search results |
output | No | — | File path to save results (.csv or .xlsx) |
clip | No | false | Export video clips around each match. Requires the audio to have been downloaded from a URL |
clip_padding | No | 15 | Seconds of padding before and after each match for clip export |
Notes
Results are grouped by keyword with timestamps and context snippets.
Set include_full_text: true to get the complete transcription back with your search results. Useful when you need both.
The audio is transcribed first (or loaded from memory), then searched. Subsequent searches on the same file are instant.
For meaning-based search (not just exact keywords), use deep_search instead. For finding two keywords near each other, use search_proximity.