Venice ASR (Speech-to-Text)
venice_asrTranscribe audio from a URL into paged text or timestamps, avoiding memory overload. Use a result handle to fetch later pages without re-charging.
Instructions
Transcribe audio. Fetches the URL server-side and forwards as multipart/form-data file upload. Upstream transcription JSON larger than 1 MiB is rejected so word/character timestamps cannot exhaust memory. Timestamp arrays and transcripts longer than 8000 characters are paged in the MCP result: such a transcription returns result_handle alongside the first page, and every later page must be requested with that handle so the clip is transcribed — and charged — exactly once. Handles are held in memory, per MCP session, for 10 minutes and only the 16 most recent survive, after which paging fails and a fresh transcription is needed. Supports x402 wallet auth (no Venice account needed) and API key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| language | No | ||
| audio_url | No | Audio to transcribe. Required unless result_handle is supplied. | |
| timestamps | No | Include word and character timestamps in JSON responses. Defaults to false. | |
| text_offset | No | Start character of the transcript page (8000 characters each). Defaults to 0. Use result_handle with next_text_offset to read past the first page. | |
| result_handle | No | Handle returned by an earlier paged transcription. Pages that retained result without submitting another transcription, so audio_url is ignored when this is set. Expires after 10 minutes or once 16 newer results are retained; an expired handle is an error rather than a silent re-transcription. | |
| response_format | No | ||
| timestamp_limit | No | Max entries returned per timestamp array. Defaults to 200. Follow next_timestamp_offset; it is null on the last page. | |
| timestamp_offset | No | Start index into each timestamp array (word/segment/char). Defaults to 0. Use result_handle to move past the first page. |