StartTranscriptionJob - 转录

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

StartTranscriptionJob

转录媒体文件中的音频,并应用您选择包含在请求中的任何其他请求参数。

要发出StartTranscriptionJob请求,您必须先将您的媒体文件上传到 Amazon S3 存储桶;然后您可以使用Media参数指定文件的 Amazon S3 位置。

您必须在StartTranscriptionJob请求中包含以下参数:

  • region: 您提出请求AWS 区域的地方。有关 Amazon TranscribeAWS 区域 支持的列表,请参阅 Amazon Transcribe 终端节点和配额

  • TranscriptionJobName: 您为转录作业创建的自定义名称,该名称在您的转录作业中是唯一的AWS 账户。

  • Media(MediaFileUri): 您的媒体文件的 Amazon S3 位置。

  • LanguageCodeIdentifyLanguage、或之一IdentifyMultipleLanguages:如果您知道媒体文件的语言,请使用LanguageCode参数进行指定;您可以在 “支持的语言” 表中找到所有有效的语言代码。如果您不知道媒体中使用的语言,请使用IdentifyLanguageIdentifyMultipleLanguages并让 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,则还必须包括子参数:PiiEntityTypesRedactionOutput、和RedactionType

类型:ContentRedaction 对象

必需:否

IdentifyLanguage

在您的转录任务请求中启用自动语言识别。如果您的媒体文件仅包含一种语言,请使用此参数。如果您的媒体包含多种语言,请IdentifyMultipleLanguages改用。

如果包括IdentifyLanguage,则可以选择使用LanguageOptions您认为可能存在于媒体文件中的语言代码列表。仅包含IdentifyLanguage对您指定的语言选项的LanguageOptions限制,这可以提高转录准确性。

如果您想将自定义语言模型、自定义词汇表或自定义词汇过滤器应用于自动语言识别请求,请包括LanguageIdSettings相关的子参数(VocabularyNameLanguageModelName、和VocabularyFilterName)。如果你包括LanguageIdSettings,也包括LanguageOptions

请注意,您的请求IdentifyMultipleLanguages中必须包含LanguageCodeIdentifyLanguage、或之一。如果您包含这些参数中的多个参数,则转录任务失败。

类型:布尔值

必需:否

IdentifyMultipleLanguages

在您的转录任务请求中启用自动多语言识别。如果您的媒体文件包含多种语言,请使用此参数。如果您的媒体仅包含一种语言,请IdentifyLanguage改用。

如果包括IdentifyMultipleLanguages,则可以选择使用LanguageOptions您认为可能存在于媒体文件中的语言代码列表。仅包含IdentifyLanguage对您指定的语言选项的LanguageOptions限制,这可以提高转录准确性。

如果您想将自定义词汇表或自定义词汇过滤器应用于自动语言识别请求,请包括LanguageIdSettings相关的子参数(VocabularyNameVocabularyFilterName)。如果你包括LanguageIdSettings,也包括LanguageOptions

请注意,您的请求IdentifyMultipleLanguages中必须包含LanguageCodeIdentifyLanguage、或之一。如果您包含这些参数中的多个参数,则转录任务失败。

类型:布尔值

必需:否

JobExecutionSettings

可以控制您的转录作业的处理方式。目前,您可以选择的唯一JobExecutionSettings修改是使用AllowDeferredExecution子参数启用作业队列。

如果您在请求JobExecutionSettings中包含,则还必须包括子参数:AllowDeferredExecutionDataAccessRoleArn

类型:JobExecutionSettings 对象

必需:否

KMSEncryptionContext

由纯文本、非机密键:值对(称为加密上下文对)组成的映射,可为您的数据提供额外的安全保护。有关更多信息,请参阅中的AWS KMS加密上下文和非对称密钥AWS KMS。

类型:字符串到字符串映射

映射条目:最多 10 项项项项项项项项项项项

密钥长度限制:最小长度为 1。最大长度为为为为 2000 项。

密钥模式:.*\S.*

值长度限制:最小长度为 1。最大长度为为为为 2000 项。

价值模式:.*\S.*

必需:否

LanguageCode

表示输入媒体文件中所说语言的语言代码。

如果您不确定媒体文件中所说的语言,请考虑使用IdentifyLanguageIdentifyMultipleLanguages启用自动语言识别。

请注意,您的请求IdentifyMultipleLanguages中必须包含LanguageCodeIdentifyLanguage、或之一。如果您包含这些参数中的多个参数,则转录任务失败。

有关支持的语言及其关联语言代码的列表,请参阅支持的语言表。

注意

要使用现代标准阿拉伯语 (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包含相关的子参数(VocabularyNameLanguageModelName、和VocabularyFilterName)。请注意,多语言识别 (IdentifyMultipleLanguages) 不支持自定义语言模型。

LanguageIdSettings支持两到五种语言代码。您包含的每种语言代码都可以具有相关的自定义语言模型、自定义词汇表和自定义词汇过滤器。您指定的语言代码必须与关联的自定义语言模型、自定义词汇表和自定义词汇过滤器的语言相匹配。

建议您在使用LanguageOptions时包括在内,LanguageIdSettings以确保识别出正确的语言方言。例如,如果您指定的自定义词汇表为,en-US但 Amazon Transcribe 确定您的媒体使用的语言为en-AU,则您的自定义词汇表不会应用于您的转录。如果您将LanguageOptions和包含en-US为唯一的英语方言,则您的自定义词汇将应用您的转录。

如果您想在请求中包含自定义语言模型,但想使用自动语言识别,请改用带有LanguageModelName ModelSettings 参数的参数。如果您想在请求中包含自定义词汇表或自定义词汇过滤器(或两者),但想使用自动语言识别,请改用带有VocabularyNameVocabularyFilterName(或两者)子参数的参数。 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,请将设置OutputBucketNameDOC-EXAMPLE-BUCKET。但是,如果您希望将输出存储在S3://DOC-EXAMPLE-BUCKET/test-files/,请将设置OutputBucketNameOutputKeyDOC-EXAMPLE-BUCKET和为test-files/

请注意,Amazon Transcribe 必须拥有使用指定位置的权限。您可以使用更改 Amazon S3 权限AWS Management Console。另请参阅 IAM 用户角色所需的权限

如果您未指定OutputBucketName,则您的脚本将放置在服务管理的 Amazon S3 存储桶中,并为您提供访问脚本的 URI。

类型:字符串

长度约束:最大长度为为为为为 64 项。

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

必需:否

OutputEncryptionKMSKeyId

要用于加密转录输出的 KMS 密钥。

如果使用当前AWS 账户密钥,则可以通过以下四种方式之一指定 KMS 密钥:

  1. 使用 KMS 密钥 ID 本身。例如,1234abcd-12ab-34cd-56ef-1234567890ab

  2. 使用别名。例如,alias/ExampleAlias

  3. 使用亚马逊资源名称 (ARN) 作为 KMS 密钥 ID。例如,arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab

  4. 使用 ARN 作为 KMS 密钥别名。例如,arn:aws:kms:region:account-ID:alias/ExampleAlias

如果使用的密钥与当前密钥AWS 账户不同AWS 账户,则可以通过以下两种方式之一指定 KMS 密钥:

  1. 使用 ARN 作为 KMS 密钥 ID。例如,arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab

  2. 使用 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.jsonOutputBucketName

  • 如果您将 “my-first-transcription” 指定为,将 “DOC-EXAMPLE-BUCKET” 指定为,将 “test-files/my-stractript” 指定为OutputKey,则您的转录输出路径为s3://DOC-EXAMPLE-BUCKET/test-files/my-transcript/my-first-transcription.jsonTranscriptionJobNameOutputBucketName

如果您指定了不存在的 Amazon S3 存储桶子文件夹的名称,则会为您创建一个。

类型:字符串

长度限制:最小长度为 1。长度上限为 1024。

模式:[a-zA-Z0-9-_.!*'()/]{1,1024}$

必需:否

Settings

在您的StartTranscriptionJob请求中指定其他可选设置,包括频道识别、备用转录、扬声器分区。你可以用它来应用自定义词汇和词汇过滤器。

如果您想在请求中包含自定义词汇表或自定义词汇过滤器(或两者),但想使用自动语言识别,请Settings使用VocabularyNameVocabularyFilterName(或两者)子参数。

如果您在请求中使用自动语言识别,并且想要包含自定义语言模型、自定义词汇表或自定义词汇过滤器,请改用带有LanguageModelNameVocabularyNameVocabularyFilterName LanguageIdSettings 参数的参数。

类型:Settings 对象

必需:否

Subtitles

为您的输入媒体生成字幕文件。你可以指定 WebVTT (*.vtt) 和 SubRip (*.srt) 格式。

类型:Subtitles 对象

必需:否

Tags

在您开始此新作业时,向新的转录作业添加一个或多个自定义标签,每个标签均采用 key: value 对的形式。

要了解有关在 Amazon Transcribe 中使用标签的更多信息,请参阅标记资源

类型:Tag 对象数组

数组成员:最少 1 项。最多 20 项项项项项项项项项项

必需:否

TranscriptionJobName

由您为转录工作选择的唯一名称。您指定的名称也用作转录输出文件的默认名称。如果要为转录输出指定不同的名称,请使用OutputKey参数。

此名称区分大小写,不能包含空格,并且在内必须是唯一的AWS 账户。如果您尝试创建与现有任务具有相同的名称,则会出现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

使用此名称的资源已经存在。资源名称在内必须唯一AWS 账户。

HTTP 状态代码:400

InternalFailureException

遇到了内部错误。检查错误消息、更正问题,然后重试请求。

HTTP 状态代码:500

LimitExceededException

你要么发送了太多的请求,要么你的输入文件太长。请稍候,然后重试您的请求,或者使用较小的文件重试您的请求。

HTTP 状态代码:400

另请参阅

有关在特定语言的 AWS 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: