本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
StartTranscriptionJob
转录媒体文件中的音频,并应用您选择包含在请求中的任何其他请求参数。
要发出StartTranscriptionJob
请求,您必须先将您的媒体文件上传到 Amazon S3 存储桶;然后您可以使用Media
参数指定文件的 Amazon S3 位置。
您必须在StartTranscriptionJob
请求中包含以下参数:
-
region
: 您提出请求Amazon Web Services 区域的地方。有关 Amazon TranscribeAmazon Web Services 区域 支持的列表,请参阅 Amazon Transcribe 终端节点和配额。 -
TranscriptionJobName
: 您为转录作业创建的自定义名称,该名称在您的转录作业中是唯一的Amazon Web Services 账户。 -
Media
(MediaFileUri
): 您的媒体文件的 Amazon S3 位置。 -
LanguageCode
IdentifyLanguage
、或之一IdentifyMultipleLanguages
:如果您知道媒体文件的语言,请使用LanguageCode
参数进行指定;您可以在 “支持的语言” 表中找到所有有效的语言代码。如果您不知道媒体中使用的语言,请使用IdentifyLanguage
或IdentifyMultipleLanguages
并让 Amazon Transcribe 为您识别语言。
请求语法
{
"ContentRedaction": {
"PiiEntityTypes": [ "string
" ],
"RedactionOutput": "string
",
"RedactionType": "string
"
},
"IdentifyLanguage": boolean
,
"IdentifyMultipleLanguages": boolean
,
"JobExecutionSettings": {
"AllowDeferredExecution": boolean
,
"DataAccessRoleArn": "string
"
},
"KMSEncryptionContext": {
"string
" : "string
"
},
"LanguageCode": "string
",
"LanguageIdSettings": {
"string
" : {
"LanguageModelName": "string
",
"VocabularyFilterName": "string
",
"VocabularyName": "string
"
}
},
"LanguageOptions": [ "string
" ],
"Media": {
"MediaFileUri": "string
",
"RedactedMediaFileUri": "string
"
},
"MediaFormat": "string
",
"MediaSampleRateHertz": number
,
"ModelSettings": {
"LanguageModelName": "string
"
},
"OutputBucketName": "string
",
"OutputEncryptionKMSKeyId": "string
",
"OutputKey": "string
",
"Settings": {
"ChannelIdentification": boolean
,
"MaxAlternatives": number
,
"MaxSpeakerLabels": number
,
"ShowAlternatives": boolean
,
"ShowSpeakerLabels": boolean
,
"VocabularyFilterMethod": "string
",
"VocabularyFilterName": "string
",
"VocabularyName": "string
"
},
"Subtitles": {
"Formats": [ "string
" ],
"OutputStartIndex": number
},
"Tags": [
{
"Key": "string
",
"Value": "string
"
}
],
"TranscriptionJobName": "string
"
}
请求参数
有关所有操作通用的参数的信息,请参阅常用参数。
请求接受采用 JSON 格式的以下数据。
- ContentRedaction
-
注意
并非所有区域都支持编辑。
允许在笔录中编辑或标记指定个人身份信息 (PII)。如果使用
ContentRedaction
,则还必须包括子参数:PiiEntityTypes
RedactionOutput
、和RedactionType
。类型:ContentRedaction 对象
必需:否
- IdentifyLanguage
-
注意
并非所有区域都支持语言识别。
在您的转录任务请求中启用自动语言识别。如果您的媒体文件仅包含一种语言,请使用此参数。如果您的媒体包含多种语言,请
IdentifyMultipleLanguages
改用。如果包括
IdentifyLanguage
,则可以选择使用LanguageOptions
您认为可能存在于媒体文件中的语言代码列表。仅包含IdentifyLanguage
对您指定的语言选项的LanguageOptions
限制,这可以提高转录准确性。如果您想将自定义语言模型、自定义词汇表或自定义词汇过滤器应用于自动语言识别请求,请包括
LanguageIdSettings
相关的子参数(VocabularyName
LanguageModelName
、和VocabularyFilterName
)。如果你包括LanguageIdSettings
,也包括LanguageOptions
。请注意,您的请求
IdentifyMultipleLanguages
中必须包含LanguageCode
IdentifyLanguage
、或之一。如果您包含这些参数中的多个参数,则转录任务失败。类型:布尔值
必需:否
- IdentifyMultipleLanguages
-
注意
并非所有区域都支持语言识别。
在您的转录任务请求中启用自动多语言识别。如果您的媒体文件包含多种语言,请使用此参数。如果您的媒体仅包含一种语言,请
IdentifyLanguage
改用。如果包括
IdentifyMultipleLanguages
,则可以选择使用LanguageOptions
您认为可能存在于媒体文件中的语言代码列表。仅包含IdentifyLanguage
对您指定的语言选项的LanguageOptions
限制,这可以提高转录准确性。如果您想将自定义词汇表或自定义词汇过滤器应用于自动语言识别请求,请包括
LanguageIdSettings
相关的子参数(VocabularyName
和VocabularyFilterName
)。如果你包括LanguageIdSettings
,也包括LanguageOptions
。请注意,您的请求
IdentifyMultipleLanguages
中必须包含LanguageCode
IdentifyLanguage
、或之一。如果您包含这些参数中的多个参数,则转录任务失败。类型:布尔值
必需:否
- JobExecutionSettings
-
可以控制您的转录作业的处理方式。目前,您可以选择的唯一
JobExecutionSettings
修改是使用AllowDeferredExecution
子参数启用作业队列。如果您在请求
JobExecutionSettings
中包含,则还必须包括子参数:AllowDeferredExecution
和DataAccessRoleArn
。类型:JobExecutionSettings 对象
必需:否
- KMSEncryptionContext
-
由纯文本、非机密键:值对(称为加密上下文对)组成的映射,可为您的数据提供额外的安全保护。有关更多信息,请参阅中的Amazon KMS加密上下文和非对称密钥Amazon KMS。
类型:字符串到字符串映射
映射条目:最多 10 项项项项项项项项项项项
密钥长度限制:最小长度为 1。最大长度为为为为 2000 项。
密钥模式:
.*\S.*
值长度限制:最小长度为 1。最大长度为为为为 2000 项。
价值模式:
.*\S.*
必需:否
- LanguageCode
-
表示输入媒体文件中所说语言的语言代码。
如果您不确定媒体文件中所说的语言,请考虑使用
IdentifyLanguage
或IdentifyMultipleLanguages
启用自动语言识别。请注意,您的请求
IdentifyMultipleLanguages
中必须包含LanguageCode
IdentifyLanguage
、或之一。如果您包含这些参数中的多个参数,则转录任务失败。有关支持的语言及其关联语言代码的列表,请参阅支持的语言表。
注意
要使用现代标准阿拉伯语 (
ar-SA
) 转录语音,您的媒体文件必须以 16,000 Hz 或更高的采样率进行编码。类型:字符串
有效值:
af-ZA | ar-AE | ar-SA | da-DK | de-CH | de-DE | en-AB | en-AU | en-GB | en-IE | en-IN | en-US | en-WL | es-ES | es-US | fa-IR | fr-CA | fr-FR | he-IL | hi-IN | id-ID | it-IT | ja-JP | ko-KR | ms-MY | nl-NL | pt-BR | pt-PT | ru-RU | ta-IN | te-IN | tr-TR | zh-CN | zh-TW | th-TH | en-ZA | en-NZ | vi-VN | sv-SE
必需:否
- LanguageIdSettings
-
如果在请求中使用自动语言识别,并且您想要应用自定义语言模型、自定义词汇表或自定义词汇过滤器,请
LanguageIdSettings
包含相关的子参数(VocabularyName
LanguageModelName
、和VocabularyFilterName
)。请注意,多语言识别 (IdentifyMultipleLanguages
) 不支持自定义语言模型。LanguageIdSettings
支持两到五种语言代码。您包含的每种语言代码都可以具有相关的自定义语言模型、自定义词汇表和自定义词汇过滤器。您指定的语言代码必须与关联的自定义语言模型、自定义词汇表和自定义词汇过滤器的语言相匹配。建议您在使用
LanguageOptions
时包括在内,LanguageIdSettings
以确保识别出正确的语言方言。例如,如果您指定的自定义词汇表为,en-US
但 Amazon Transcribe 确定您的媒体使用的语言为en-AU
,则您的自定义词汇表不会应用于您的转录。如果您将LanguageOptions
和包含en-US
为唯一的英语方言,则您的自定义词汇将应用于您的转录。如果您想在请求中包含自定义语言模型,但不想使用自动语言识别,请改用带有
LanguageModelName
子ModelSettings
参数的参数。如果您想在请求中包含自定义词汇表或自定义词汇过滤器(或两者),但不想使用自动语言识别,请改用带有VocabularyName
或VocabularyFilterName
(或两者)子参数的参数。Settings
类型:字符串到LanguageIdSettings对象映射
映射条目:最多 5 项。
有效密钥:
af-ZA | ar-AE | ar-SA | da-DK | de-CH | de-DE | en-AB | en-AU | en-GB | en-IE | en-IN | en-US | en-WL | es-ES | es-US | fa-IR | fr-CA | fr-FR | he-IL | hi-IN | id-ID | it-IT | ja-JP | ko-KR | ms-MY | nl-NL | pt-BR | pt-PT | ru-RU | ta-IN | te-IN | tr-TR | zh-CN | zh-TW | th-TH | en-ZA | en-NZ | vi-VN | sv-SE
必需:否
- LanguageOptions
-
您可以指定两种或更多种语言代码,以代表您认为媒体中可能存在的语言。不建议包含超过五个。如果您不确定存在哪些语言,请不要包含此参数。
如果您包含
LanguageOptions
在请求中,则还必须包括IdentifyLanguage
。有关更多信息,请参阅支持的语言。
要使用现代标准阿拉伯语 (
ar-SA
) 转录语音,您的媒体文件必须以 16,000 Hz 或更高的采样率进行编码。类型:字符串数组
数组成员:最少 1 项。
有效值:
af-ZA | ar-AE | ar-SA | da-DK | de-CH | de-DE | en-AB | en-AU | en-GB | en-IE | en-IN | en-US | en-WL | es-ES | es-US | fa-IR | fr-CA | fr-FR | he-IL | hi-IN | id-ID | it-IT | ja-JP | ko-KR | ms-MY | nl-NL | pt-BR | pt-PT | ru-RU | ta-IN | te-IN | tr-TR | zh-CN | zh-TW | th-TH | en-ZA | en-NZ | vi-VN | sv-SE
必需:否
- Media
-
描述您要在请求中使用的媒体文件的 Amazon S3 位置。
类型:Media 对象
必需:是
- MediaFormat
-
指定输入媒体文件的格式。
类型:字符串
有效值:
mp3 | mp4 | wav | flac | ogg | amr | webm
必需:否
- MediaSampleRateHertz
-
输入媒体文件中音轨的采样率,以赫兹为单位。
如果您未指定媒体采样率,Amazon Transcribe 将为您决定。如果您指定采样率,则它必须与 Amazon Transcribe 检测到的采样率相匹配。如果您指定的值与检测到的值不匹配,则您的任务将失败。在大多数情况下,您可以省略采样率
MediaSampleRateHertz
,让Amazon Transcribe来确定采样率。类型:整数
有效范围:最小值为 8000。最大值为为 48000。
必需:否
- ModelSettings
-
指定要在转录作业中包含的自定义语言模型。如果您在请求
ModelSettings
中包含,则必须包含LanguageModelName
子参数。有关更多信息,请参阅自定义语言模型。
类型:ModelSettings 对象
必需:否
- OutputBucketName
-
要存储转录输出的 Amazon S3 桶的名称。请勿包含指定存储段
S3://
的前缀。如果您希望输出到此存储段的子文件夹,请使用
OutputKey
参数进行指定;OutputBucketName
仅接受存储段的名称。例如,如果您希望将输出存储在
S3://DOC-EXAMPLE-BUCKET
,请将设置OutputBucketName
为DOC-EXAMPLE-BUCKET
。但是,如果您希望将输出存储在S3://DOC-EXAMPLE-BUCKET/test-files/
,请将设置OutputBucketName
OutputKey
为DOC-EXAMPLE-BUCKET
和为test-files/
。请注意,Amazon Transcribe 必须拥有使用指定位置的权限。您可以使用更改 Amazon S3 权限Amazon Web Services Management Console
。另请参阅 IAM 用户角色所需的权限。 如果您未指定
OutputBucketName
,则您的脚本将放置在服务管理的 Amazon S3 存储桶中,并为您提供访问脚本的 URI。类型:字符串
长度约束:最大长度为为为为为 64 项。
模式:
[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9]
必需:否
- OutputEncryptionKMSKeyId
-
要用于加密转录输出的 KMS 密钥。
如果使用当前Amazon Web Services 账户密钥,则可以通过以下四种方式之一指定 KMS 密钥:
-
使用 KMS 密钥 ID 本身。例如,
1234abcd-12ab-34cd-56ef-1234567890ab
。 -
使用别名。例如,
alias/ExampleAlias
。 -
使用亚马逊资源名称 (ARN) 作为 KMS 密钥 ID。例如,
arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
。 -
使用 ARN 作为 KMS 密钥别名。例如,
arn:aws:kms:region:account-ID:alias/ExampleAlias
。
如果使用的密钥与当前密钥Amazon Web Services 账户不同Amazon Web Services 账户,则可以通过以下两种方式之一指定 KMS 密钥:
-
使用 ARN 作为 KMS 密钥 ID。例如,
arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab
。 -
使用 ARN 作为 KMS 密钥别名。例如,
arn:aws:kms:region:account-ID:alias/ExampleAlias
。
如果您未指定加密密钥,则使用默认 Amazon S3 key (SSE-S3) 加密输出。
如果您指定 KMS 密钥来加密输出,则还必须使用
OutputLocation
参数指定输出位置。请注意,StartCallAnalyticsJob发出请求的角色必须拥有使用指定 KMS 密钥的权限。
类型:字符串
长度限制:最小长度为 1。最大长度为 2048。
模式:
^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$
必需:否
-
- OutputKey
-
与组合使用
OutputBucketName
可指定脚本的输出位置,也可以为输出文件指定唯一名称。转录输出的默认名称与您为转录任务指定的名称相同 (TranscriptionJobName
)。以下是一些如何使用的示例
OutputKey
:-
如果您将 “DOC-EXAMPLE-BUCKET” 指定为
OutputBucketName
,将 “my-transcript.json” 指定为OutputKey
,则您的转录输出路径为s3://DOC-EXAMPLE-BUCKET/my-transcript.json
。 -
如果您将 “my-first-transcription” 指定为
TranscriptionJobName
,将 “DOC-EXAMPLE-BUCKET” 指定为OutputBucketName
,将 “my-sractript” 指定为OutputKey
,则您的转录输出路径为s3://DOC-EXAMPLE-BUCKET/my-transcript/my-first-transcription.json
。 -
如果你将 “DOC-EXAMPLE-BUCKET” 指定为,将 “test-files/my-transcript.json” 指定为
OutputKey
,则转录输出路径为s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript.json
。OutputBucketName
-
如果您将 “my-first-transcription” 指定为,将 “DOC-EXAMPLE-BUCKET” 指定为,将 “test-files/my-stractript” 指定为
OutputKey
,则您的转录输出路径为s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.json
。TranscriptionJobName
OutputBucketName
如果您指定了不存在的 Amazon S3 存储桶子文件夹的名称,则会为您创建一个。
类型:字符串
长度限制:最小长度为 1。长度上限为 1024。
模式:
[a-zA-Z0-9-_.!*'()/]{1,1024}$
必需:否
-
- Settings
-
在您的StartTranscriptionJob请求中指定其他可选设置,包括频道识别、备用转录、扬声器分区。你可以用它来应用自定义词汇和词汇过滤器。
如果您想在请求中包含自定义词汇表或自定义词汇过滤器(或两者),但不想使用自动语言识别,请
Settings
使用VocabularyName
或VocabularyFilterName
(或两者)子参数。如果您在请求中使用自动语言识别,并且想要包含自定义语言模型、自定义词汇表或自定义词汇过滤器,请改用带有
LanguageModelName
、VocabularyName
或VocabularyFilterName
子LanguageIdSettings
参数的参数。类型:Settings 对象
必需:否
- Subtitles
-
为您的输入媒体生成字幕文件。你可以指定 WebVTT (*.vtt) 和 SubRip (*.srt) 格式。
类型:Subtitles 对象
必需:否
- Tags
-
在您开始此新作业时,向新的转录作业添加一个或多个自定义标签,每个标签均采用 key: value 对的形式。
要了解有关在 Amazon Transcribe 中使用标签的更多信息,请参阅标记资源。
类型:Tag 对象数组
数组成员:最少 1 项。最多 20 项项项项项项项项项项
必需:否
- TranscriptionJobName
-
由您为转录工作选择的唯一名称。您指定的名称也用作转录输出文件的默认名称。如果要为转录输出指定不同的名称,请使用
OutputKey
参数。此名称区分大小写,不能包含空格,并且在内必须是唯一的Amazon Web Services 账户。如果您尝试创建与现有任务具有相同的名称,则会出现
ConflictException
错误。类型:字符串
长度限制:最小长度为 1。最大长度为 200。
模式:
^[0-9a-zA-Z._-]+
必需:是
响应语法
{
"TranscriptionJob": {
"CompletionTime": number,
"ContentRedaction": {
"PiiEntityTypes": [ "string" ],
"RedactionOutput": "string",
"RedactionType": "string"
},
"CreationTime": number,
"FailureReason": "string",
"IdentifiedLanguageScore": number,
"IdentifyLanguage": boolean,
"IdentifyMultipleLanguages": boolean,
"JobExecutionSettings": {
"AllowDeferredExecution": boolean,
"DataAccessRoleArn": "string"
},
"LanguageCode": "string",
"LanguageCodes": [
{
"DurationInSeconds": number,
"LanguageCode": "string"
}
],
"LanguageIdSettings": {
"string" : {
"LanguageModelName": "string",
"VocabularyFilterName": "string",
"VocabularyName": "string"
}
},
"LanguageOptions": [ "string" ],
"Media": {
"MediaFileUri": "string",
"RedactedMediaFileUri": "string"
},
"MediaFormat": "string",
"MediaSampleRateHertz": number,
"ModelSettings": {
"LanguageModelName": "string"
},
"Settings": {
"ChannelIdentification": boolean,
"MaxAlternatives": number,
"MaxSpeakerLabels": number,
"ShowAlternatives": boolean,
"ShowSpeakerLabels": boolean,
"VocabularyFilterMethod": "string",
"VocabularyFilterName": "string",
"VocabularyName": "string"
},
"StartTime": number,
"Subtitles": {
"Formats": [ "string" ],
"OutputStartIndex": number,
"SubtitleFileUris": [ "string" ]
},
"Tags": [
{
"Key": "string",
"Value": "string"
}
],
"Transcript": {
"RedactedTranscriptFileUri": "string",
"TranscriptFileUri": "string"
},
"TranscriptionJobName": "string",
"TranscriptionJobStatus": "string"
}
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回的以下数据。
- TranscriptionJob
-
提供有关当前转录作业的详细信息,包括任务状态和失败原因(如果适用)。
类型:TranscriptionJob 对象
错误
有关所有操作常见错误的信息,请参阅常见错误。
- BadRequestException
-
您的请求未通过一项或多项验证测试。当您要删除的实体不存在或处于非终端状态(例如
IN PROGRESS
)时,可能会发生这种情况。有关更多信息,请参阅异常消息字段。HTTP 状态代码:400
- ConflictException
-
使用此名称的资源已经存在。资源名称在内必须唯一Amazon Web Services 账户。
HTTP 状态代码:400
- InternalFailureException
-
遇到了内部错误。检查错误消息、更正问题,然后重试请求。
HTTP 状态代码:500
- LimitExceededException
-
你要么发送了太多的请求,要么你的输入文件太长。请稍候,然后重试您的请求,或者使用较小的文件重试您的请求。
HTTP 状态代码:400
另请参阅
有关在特定语言的 Amazon 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: