- HTTP request
- Path parameters
- Request body
- Response body
- Authorization scopes
- BatchDocumentInputConfig
- BatchDocumentOutputConfig
- Try it!
Translates a large volume of document in asynchronous batch mode. This function provides real-time output as the inputs are being processed. If caller cancels a request, the partial results (for an input file, it's all or nothing) may still be available on the specified output location.
This call returns immediately and you can use google.longrunning.Operation.name to poll the status of the call.
HTTP request
POST https://translate.googleapis.com/v3/{parent=projects/*/locations/*}:batchTranslateDocument
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
parent
|
Required. Location to make a regional call. Format: The Only AutoML Translation models or glossaries within the same region (have the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) error is returned. |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "sourceLanguageCode" : string , "targetLanguageCodes" : [ string ] , "inputConfigs" : [ { object ( |
sourceLanguageCode
string
Required. The ISO-639 language code of the input document if known, for example, "en-US" or "sr-Latn". Supported language codes are listed in Language Support .
targetLanguageCodes[]
string
Required. The ISO-639 language code to use for translation of the input document. Specify up to 10 language codes here. Supported language codes are listed in Language Support .
inputConfigs[]
object (
BatchDocumentInputConfig
)
Required. Input configurations. The total number of files matched should be <= 100. The total content size to translate should be <= 100M Unicode codepoints. The files must use UTF-8 encoding.
outputConfig
object (
BatchDocumentOutputConfig
)
Required. Output configuration. If 2 input configs match to the same file (that is, same input path), we don't generate output for duplicate inputs.
models
map (key: string, value: string)
Optional. The models to use for translation. Map's key is target language code. Map's value is the model name. Value can be a built-in general model, or an AutoML Translation model.
The value format depends on model type:
-
AutoML Translation models:
projects/{project-number-or-id}/locations/{location-id}/models/{model-id}
-
General (built-in) models:
projects/{project-number-or-id}/locations/{location-id}/models/general/nmt
,
If the map is empty or a specific model is not requested for a language pair, then default google model (nmt) is used.
glossaries
map (key: string, value: object (
TranslateTextGlossaryConfig
))
Optional. Glossaries to be applied. It's keyed by target language code.
formatConversions
map (key: string, value: string)
Optional. The file format conversion map that is applied to all input files. The map key is the original mimeType. The map value is the target mimeType of translated documents.
Supported file format conversion includes: - application/pdf
to application/vnd.openxmlformats-officedocument.wordprocessingml.document
If nothing specified, output files will be in the same format as the original file.
customizedAttribution
string
Optional. This flag is to support user customized attribution. If not provided, the default is Machine Translated by Google
. Customized attribution should follow rules in https://cloud.google.com/translate/attribution#attribution_and_logos
enableShadowRemovalNativePdf
boolean
Optional. If true, use the text removal server to remove the shadow text on background image for native pdf translation. Shadow removal feature can only be enabled when isTranslateNativePdfOnly: false && pdfNativeOnly: false
enableRotationCorrection
boolean
Optional. If true, enable auto rotation correction in DVS.
Response body
If successful, the response body contains an instance of Operation
.
Authorization scopes
Requires the following OAuth scope:
-
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .
BatchDocumentInputConfig
Input configuration for locations.batchTranslateDocument request.
JSON representation |
---|
{ // Union field |
source
. Specify the input. source
can be only one of the following:gcsSource
object (
GcsSource
)
Google Cloud Storage location for the source input. This can be a single file (for example, gs://translation-test/input.docx
) or a wildcard (for example, gs://translation-test/*
).
File mime type is determined based on extension. Supported mime type includes: - pdf
, application/pdf - docx
, application/vnd.openxmlformats-officedocument.wordprocessingml.document - pptx
, application/vnd.openxmlformats-officedocument.presentationml.presentation - xlsx
, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
The max file size to support for .docx
, .pptx
and .xlsx
is 100MB. The max file size to support for .pdf
is 1GB and the max page limit is 1000 pages. The max file size to support for all input documents is 1GB.
BatchDocumentOutputConfig
Output configuration for locations.batchTranslateDocument request.
JSON representation |
---|
{ // Union field |
destination
. The destination of output. The destination directory provided must exist and be empty. destination
can be only one of the following:gcsDestination
object (
GcsDestination
)
Google Cloud Storage destination for output content. For every single input document (for example, gs://a/b/c.[extension]) , we generate at most 2 * n output files. (n is the # of targetLanguageCodes in the BatchTranslateDocumentRequest).
While the input documents are being processed, we write/update an index file index.csv
under gcsDestination.output_uri_prefix
(for example, gs://translation_output/index.csv
) The index file is generated/updated as new files are being translated. The format is:
input_document,targetLanguageCode,translation_output,error_output, glossary_translation_output,glossary_error_output
input_document
is one file we matched using gcsSource.input_uri. targetLanguageCode
is provided in the request. translation_output
contains the translations. (details provided below) error_output
contains the error message during processing of the file. Both translations_file and errors_file could be empty strings if we have no content to output. glossary_translation_output
and glossary_error_output
are the translated output/error when we apply glossaries. They could also be empty if we have no content to output.
Once a row is present in index.csv, the input/output matching never changes. Callers should also expect all the content in input_file are processed and ready to be consumed (that is, no partial output file is written).
Since index.csv will be keeping updated during the process, please make sure there is no custom retention policy applied on the output bucket that may avoid file updating. ( https://cloud.google.com/storage/docs/bucket-lock#retention-policy )
The naming format of translation output files follows (for target language code [trg]): translation_output
: gs://translation_output/a_b_c_[trg]_translation.[extension]
glossary_translation_output
: gs://translation_test/a_b_c_[trg]_glossary_translation.[extension]
. The output document will maintain the same file format as the input document.
The naming format of error output files follows (for target language code [trg]): error_output
: gs://translation_test/a_b_c_[trg]_errors.txt
glossary_error_output
: gs://translation_test/a_b_c_[trg]_glossary_translation.txt
. The error output is a txt file containing error details.