Transcribe
transcribeTranscribe speech with Workers AI Whisper (@cf/openai/whisper-large-v3-turbo). Audio is extracted and downsampled to 16 kHz mono before the model runs; video frames are not decoded. Pass a media URL or an uploaded file id. Language defaults to auto. format is srt, vtt, or json with word timestamps. This is prepaid. A key with too little balance gets a 402 insufficient_balance payload (requiredCents, balanceCents, checkoutUrl, howToBuy) and no job starts. Cache hits are scoped to the API key and include language, format, and duration hint. A different key cannot read another key's result.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | No | Id from create_upload, upload_base64, or POST /v1/uploads. | |
| format | No | Default json, including word timestamps. | |
| glossary | No | Names and terms. Used as the Whisper prompt and to fix close spellings. Included in the transcription price. | |
| language | No | BCP-47 language, or omit for auto. | |
| mediaUrl | No | HTTPS URL of the audio or video file. | |
| maxCredits | No | Refuse the job when the debit would exceed this many cents. | |
| webhookUrl | No | Public https URL. POSTed an HMAC-signed JSON body when the job finishes. Three tries. | |
| notifyEmail | No | Optional completion email. Free. Needs the email binding. | |
| durationSeconds | No | Optional duration hint used before probe. | |
| useSavedGlossary | No | Default true: also apply the saved glossary (save_glossary) with its alias fixes, e.g. 'awesome video' -> 'AwesomeVideo'. Free. |