Menu
Amazon Transcribe
Developer Guide

StartTranscriptionJob

Starts an asynchronous job to transcribe speech to text.

Request Syntax

{ "LanguageCode": "string", "Media": { "MediaFileUri": "string" }, "MediaFormat": "string", "MediaSampleRateHertz": number, "OutputBucketName": "string", "Settings": { "ChannelIdentification": boolean, "MaxSpeakerLabels": number, "ShowSpeakerLabels": boolean, "VocabularyName": "string" }, "TranscriptionJobName": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

LanguageCode

The language code for the language used in the input media file.

Type: String

Valid Values: en-US | es-US

Required: Yes

Media

An object that describes the input media for a transcription job.

Type: Media object

Required: Yes

MediaFormat

The format of the input media file.

Type: String

Valid Values: mp3 | mp4 | wav | flac

Required: Yes

MediaSampleRateHertz

The sample rate, in Hertz, of the audio track in the input media file.

Type: Integer

Valid Range: Minimum value of 8000. Maximum value of 48000.

Required: No

OutputBucketName

The location where the transcription is stored.

If you set the OutputBucketName, Amazon Transcribe puts the transcription in the specified S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the TranscriptFileUri field. The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, a shareable URL that provides secure access to your transcription, and returns it in the TranscriptFileUri field. Use this URL to download the transcription.

Type: String

Pattern: [a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]

Required: No

Settings

A Settings object that provides optional settings for a transcription job.

Type: Settings object

Required: No

TranscriptionJobName

The name of the job. You can't use the strings "." or ".." in the job name. The name must be unique within an AWS account.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 200.

Pattern: ^[0-9a-zA-Z._-]+

Required: Yes

Response Syntax

{ "TranscriptionJob": { "CompletionTime": number, "CreationTime": number, "FailureReason": "string", "LanguageCode": "string", "Media": { "MediaFileUri": "string" }, "MediaFormat": "string", "MediaSampleRateHertz": number, "Settings": { "ChannelIdentification": boolean, "MaxSpeakerLabels": number, "ShowSpeakerLabels": boolean, "VocabularyName": "string" }, "Transcript": { "TranscriptFileUri": "string" }, "TranscriptionJobName": "string", "TranscriptionJobStatus": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

TranscriptionJob

An object containing details of the asynchronous transcription job.

Type: TranscriptionJob object

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

Your request didn't pass one or more validation tests. For example, a name already exists when creating a resource or a name may not exist when getting a transcription job or custom vocabulary. See the exception Message field for more information.

HTTP Status Code: 400

ConflictException

When you are using the StartTranscriptionJob operation, the JobName field is a duplicate of a previously entered job name. Resend your request with a different name.

When you are using the UpdateVocabulary operation, there are two jobs running at the same time. Resend the second request later.

HTTP Status Code: 400

InternalFailureException

There was an internal error. Check the error message and try your request again.

HTTP Status Code: 500

LimitExceededException

Either you have sent too many requests or your input file is too long. Wait before you resend your request, or use a smaller file and resend the request.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: