find_transcript
Find WHEN a phrase is spoken: a timestamp lookup for anchoring B-roll, motion graphics, markers, or overlays at that moment. Not a transcript reader or editor.
Returns the source timestamp (MM:SS.mmm, word-precise) and every timeline placement that plays it (track alias, item id, frame range Nf), across tracks and copies.
Scope: with no filter it searches what the active timeline plays, respecting edits (edited-out phrases do not match). asset searches that asset's raw transcript, ignoring edits. track narrows to that track. asset + track searches the raw transcript but lists only placements on that track, so a match outside the placed ranges has none.
Matching: case-, punctuation-, and whitespace-insensitive contiguous match by default; fuzzy: true tolerates fillers between words. Timeline mode can span ASR segments and items; asset mode matches only within one ASR segment.
0 matches for a phrase you saw in Script means it is not on the searched timeline (edited out, or in an asset not used here); pass asset to search the source. Script files carry no sentence- or word-level timing, so timing questions belong here.
Not for transcript-based editing. To cut, keep, extract, remove, reorder, or insert what is spoken (clips, highlights, short versions, "keep the part about X"), a match is orientation only: edit through Script (read_script → timeline.md → apply_script), and never drive split_item, edit_item, or item deletes from this output to select transcript content. To read transcript text, use the files from read_script.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "<query>"
},
"name": "find_transcript"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Asset ID or prefix ID to search its raw transcript. Omit to search what the timeline plays. | |
| fuzzy | No | Token-window match (tolerates fillers between tokens). | |
| limit | No | Max results returned (default 10). | |
| query | Yes | Text to search for. | |
| track | No | Track alias (V1/A1/...) resolved on the searched timeline, or a track id. Restricts timeline placements (and asset discovery, when asset is omitted) to that track. | |
| projectId | No | Project for this call (full ID or unambiguous prefix). Explicit-timeline calls never change the target of later calls; legacy project selection applies otherwise. | |
| timelineId | No | Timeline id/prefix (from manage_timelines list) to search instead of the active timeline, without switching. Timeline placements, frames, and track aliases then refer to that timeline. | |
| refreshCache | No | Bypass and replace the task-local transcript cache before searching. Use after transcript data changed or when explicitly checking fresh ASR data. | |
| includeWordTimestamps | No | Include per-word timestamps inside each match (default false). Use when syncing animation beats to speech cadence (e.g., MG internal rhythm matched to which word is being said). Adds a `Words:` block under each match with each word's start -> end time. Skip for the typical lookup case (anchoring a single overlay to a phrase boundary). |