Transcribe a video or podcast
transcribeConvert a video or podcast URL into a text transcript. Charges by recording length, and long jobs return a job id to fetch the finished result.
Instructions
Transcribes a recording and returns the transcript. This charges the user's account, by the length of the recording.
Waits for the result and returns it if the job finishes in time. For a long recording it returns a job id instead; call get_transcript with it shortly afterwards.
Refuses anything costing more than 30m of minutes unless confirm_spend is true. When it refuses, tell the user the cost and ask before retrying with confirm_spend.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A YouTube, Vimeo, Twitch, podcast or direct media URL. A playlist or channel URL is rejected; this tool handles one recording. | |
| model | No | Defaults to auto. | |
| features | No | diarization labels the speakers, cleanup removes fillers, summary gives an abstract and key points, chapters gives timestamps (free alongside summary), translation needs translate_to, word_timestamps is free and improves subtitle timing. | |
| language | No | BCP-47 code of the spoken language. Detected when omitted. Set it if you know it: detection reads the opening of the recording, so a video starting with music can be misdetected, and that produces a confidently wrong transcript rather than an error. | |
| vocabulary | No | Names, products and jargon the model would otherwise mishear. Free, and the largest accuracy improvement available on specialised audio. | |
| translate_to | No | BCP-47 target. Adds the translation feature automatically. | |
| confirm_spend | No | Set true only after the user has been told the cost and agreed to it. | |
| speaker_count | No | How many speakers there are, if known. More reliable than letting the clusterer guess; for an interview, this is 2. |