Upload your source audio or video file to an S3 bucket, then call 'StartTranscriptionJob' with 'MediaFileUri' pointing to the S3 object and 'LanguageCode' set to the spoken language (e.g., 'en-US')
Include a 'Subtitles' parameter in the StartTranscriptionJob request: set 'Formats' to an array containing 'srt', 'vtt', or both to generate subtitle files alongside the main transcript JSON
Set 'OutputStartIndex' to 1 in the Subtitles parameter if downstream tools expect 1-based cue numbering — AWS Transcribe defaults to 0-based indexing, which differs from standard SRT convention
Set 'OutputBucketName' and optionally 'OutputKey' to control where Transcribe writes the transcript and subtitle files — both the JSON transcript and the subtitle file(s) are written to the same S3 destination
Poll the job status by calling 'GetTranscriptionJob' with the job name until 'TranscriptionJobStatus' returns 'COMPLETED', then retrieve the subtitle file URIs from the 'SubtitleFileUris' field in 'SubtitlesOutput'
Download the SRT or VTT file from S3 using a presigned URL or the AWS SDK — subtitle files are written with the same key prefix as the transcript JSON but with a '.srt' or '.vtt' extension
Known gotchas
AWS Transcribe's default start index is 0 rather than 1 — most SRT players and editors expect 1-based cue numbers, so always set OutputStartIndex to 1 unless you have a specific reason not to
The subtitle output file path is determined by the job's output configuration and cannot be set independently from the main transcript — both files land in the same S3 prefix
Transcribe's automatic language identification ('IdentifyLanguage': true) cannot be combined with the Subtitles parameter in all regions — check current regional availability before relying on this combination
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp