transcript_start
Starts an independent ASR or subtitle text track for a ready audio/video job and returns a track ID for cursor-based transcript reads.
Instructions
Start an independent text track for an existing ready audio task or file/URL video job. mode=asr (default) uses the configured optional backend; no cloud fallback, opening a source does not load a model. mode=subtitles without trackId lists network tracks (selection_required when nonempty, no_tracks when empty); call again with an exact listed trackId to fetch. Separate local subtitle/transcript files stay with the Agent; this server does not import them or extract embedded local subtitle streams. Use optional ASR for local audio. start/end default to opened source range; explicit ranges must be valid source seconds, max1800s per task. Audio acquisition drains independently into a 64MiB bounded WAV spool; first-block ASR starts before acquisition ends. Network acquisition prefers streaming, with bounded HTTP reconnects and one source-position retry. audioFallback=on_failure (default) downloads the complete same resolved audio ONLY after both source-stream attempts fail; never disables that fallback. Downloads are limited to 1GiB/network task and 30min, retain partial files, and store only audio when the source is muxed. Cancellation, rejected sources, local/disk errors and ASR backend failures do not trigger downloads. audioTransfer records mode/reason/resume position and downloaded file; source timing and processed coverage remain explicit. Selected page entry/source is inherited from the media task, never title-matched. Returns a text track ID immediately; use transcript_read and its nextAfter cursor. force bypasses completed cache. session_stop cancels source/text, retains evidence.
The HOST chooses evidence depth from the user request and actual subtitle/ASR quality and coverage: text alone, selected storyboards, all storyboards, or targeted higher-quality follow-up. Subtitles, ASR and images are independently optional; choose any combination. For text-only media use audio_start/audio_url_start (audio-bearing video files/pages are accepted) without a visual job. No mandatory image retrieval, all-images rule, fixed answer format or mandatory ASR. Use video_review action=plan to record visual=none|selected|all; revise as evidence changes. Missing subtitles do NOT block usable images, and a video-only stream does not prove missing source audio. Each image response has a pending batch. Return images AND timestamp metadata to the model, inspect the chosen images, then call video_review action=ack with batchId and explicit viewedIndices (empty [] releases uninspected images without credit). ONLY THEN fetch another batch. Never accumulate many video_read calls inside one code/exec result: return control to the model after each bounded batch. Transport errors leave the batch pending: video_review replay retries it; status/reviewId support resume. Acknowledgement is a caller assertion, not proof of comprehension. Keep any semantic working notes in the Agent workspace, not in MCP evidence. Before finishing, video_review finish checks only the HOST-CHOSEN visual scope and pending image receipts, not text reading completion. The host must still judge if that scope answers the user, and state relevant gaps. Honest incomplete-work disclaimers do not justify abandoning feasible work. session_stop cleanup cancels processing but does not complete reading; user_cancelled is only for an explicit user cancellation. Audio-only workflows remain independent.
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": {
"id": "<id>"
},
"name": "transcript_start"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| end | No | ||
| mode | No | ||
| force | No | ||
| start | No | ||
| backend | No | ||
| trackId | No | ||
| language | No | ||
| audioFallback | No |