You are viewing the documentation for an older major version of the AWS CLI (version 1).

AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. For more information see the AWS CLI version 2 installation instructions and migration guide.

[ aws . transcribe ]



Updates an existing custom vocabulary with new values. This operation overwrites all existing information with your new values; you cannot append new terms onto an existing custom vocabulary.

See also: AWS API Documentation


--vocabulary-name <value>
--language-code <value>
[--phrases <value>]
[--vocabulary-file-uri <value>]
[--data-access-role-arn <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--endpoint-url <value>]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]


--vocabulary-name (string)

The name of the custom vocabulary you want to update. Custom vocabulary names are case sensitive.

--language-code (string)

The language code that represents the language of the entries in the custom vocabulary you want to update. Each custom vocabulary must contain terms in only one language.

A custom vocabulary can only be used to transcribe files in the same language as the custom vocabulary. For example, if you create a custom vocabulary using US English (en-US ), you can only apply this custom vocabulary to files that contain English audio.

For a list of supported languages and their associated language codes, refer to the Supported languages table.

Possible values:

  • 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
  • ab-GE
  • ast-ES
  • az-AZ
  • ba-RU
  • be-BY
  • bg-BG
  • bn-IN
  • bs-BA
  • ca-ES
  • ckb-IQ
  • ckb-IR
  • cs-CZ
  • cy-WL
  • el-GR
  • et-ET
  • eu-ES
  • fi-FI
  • gl-ES
  • gu-IN
  • ha-NG
  • hr-HR
  • hu-HU
  • hy-AM
  • is-IS
  • ka-GE
  • kab-DZ
  • kk-KZ
  • kn-IN
  • ky-KG
  • lg-IN
  • lt-LT
  • lv-LV
  • mhr-RU
  • mi-NZ
  • mk-MK
  • ml-IN
  • mn-MN
  • mr-IN
  • mt-MT
  • no-NO
  • or-IN
  • pa-IN
  • pl-PL
  • ps-AF
  • ro-RO
  • rw-RW
  • si-LK
  • sk-SK
  • sl-SI
  • so-SO
  • sr-RS
  • su-ID
  • sw-BI
  • sw-KE
  • sw-RW
  • sw-TZ
  • sw-UG
  • tl-PH
  • tt-RU
  • ug-CN
  • uk-UA
  • uz-UZ
  • wo-SN
  • zu-ZA

--phrases (list)

Use this parameter if you want to update your custom vocabulary by including all desired terms, as comma-separated values, within your request. The other option for updating your custom vocabulary is to save your entries in a text file and upload them to an Amazon S3 bucket, then specify the location of your file using the VocabularyFileUri parameter.

Note that if you include Phrases in your request, you cannot use VocabularyFileUri ; you must choose one or the other.

Each language has a character set that contains all allowed characters for that specific language. If you use unsupported characters, your custom vocabulary filter request fails. Refer to Character Sets for Custom Vocabularies to get the character set for your language.



"string" "string" ...

--vocabulary-file-uri (string)

The Amazon S3 location of the text file that contains your custom vocabulary. The URI must be located in the same Amazon Web Services Region as the resource you're calling.

Here's an example URI path: s3://DOC-EXAMPLE-BUCKET/my-vocab-file.txt

Note that if you include VocabularyFileUri in your request, you cannot use the Phrases flag; you must choose one or the other.

--data-access-role-arn (string)

The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon S3 bucket that contains your input files (in this case, your custom vocabulary). If the role that you specify doesn’t have the appropriate permissions to access the specified Amazon S3 location, your request fails.

IAM role ARNs have the format arn:partition:iam::account:role/role-name-with-path . For example: arn:aws:iam::111122223333:role/Admin .

For more information, see IAM ARNs .

--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

Global Options

--debug (boolean)

Turn on debug logging.

--endpoint-url (string)

Override command's default URL with the given URL.

--no-verify-ssl (boolean)

By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.

--no-paginate (boolean)

Disable automatic pagination.

--output (string)

The formatting style for command output.

  • json
  • text
  • table

--query (string)

A JMESPath query to use in filtering the response data.

--profile (string)

Use a specific profile from your credential file.

--region (string)

The region to use. Overrides config/env settings.

--version (string)

Display the version of this tool.

--color (string)

Turn on/off color output.

  • on
  • off
  • auto

--no-sign-request (boolean)

Do not sign requests. Credentials will not be loaded if this argument is provided.

--ca-bundle (string)

The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.



To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal's quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .

To update a custom vocabulary with new terms.

The following update-vocabulary example overwrites the terms used to create a custom vocabulary with the new ones that you provide. Prerequisite: to replace the terms in a custom vocabulary, you need a file with new terms.

aws transcribe update-vocabulary \
    --vocabulary-file-uri s3://DOC-EXAMPLE-BUCKET/Amazon-S3-Prefix/custom-vocabulary.txt \
    --vocabulary-name custom-vocabulary \
    --language-code language-code


    "VocabularyName": "custom-vocabulary",
    "LanguageCode": "language",
    "VocabularyState": "PENDING"

For more information, see Custom Vocabularies in the Amazon Transcribe Developer Guide.


VocabularyName -> (string)

The name of the updated custom vocabulary.

LanguageCode -> (string)

The language code you selected for your custom vocabulary.

LastModifiedTime -> (timestamp)

The date and time the specified custom vocabulary was last updated.

Timestamps are in the format YYYY-MM-DD'T'HH:MM:SS.SSSSSS-UTC . For example, 2022-05-04T12:32:58.761000-07:00 represents 12:32 PM UTC-7 on May 4, 2022.

VocabularyState -> (string)

The processing state of your custom vocabulary. If the state is READY , you can use the custom vocabulary in a StartTranscriptionJob request.