Managing processor versions

New versions are released for a variety of reasons, for example, to improve accuracy, increase availability, and support new document elements, such as selection marks.

Given that Document AI is powered by generative AI, future versions are using new foundation models so you can benefit from generative AI enhancements.

As we improve foundation models, earlier foundation models are deprecated. Similarly, processor versions are deprecated six months after new versions are released.

A processor can have one of the following versions:

This page describes how processors are versioned, and how to view and select a particular version.

managing-processor-versions-1

Processor versions overview

There are two categories of processor versions:

  • Google versions are either stable (for production use cases) or release candidates (experimental with latest functionality).
  • User versions are created by you to customize predictions for your documents and have alphanumeric version IDs.

Google versions

Each Google version is identified by a Version ID, for example pretrained-TYPE-vX.X-YYYY-MM-DD. Each processor version Google offers is named either Google Stable or Google Release Candidate (RC).

Google stable versions

Stable versions are production-quality and ready for use.

  • Google prioritizes stability of the processor behaviour, but still includes critical fixes.
  • Earlier Google stable versions are deprecated six months after the newest stable version is released as depicted in the following figure.

managing-processor-versions-2

Google release candidates (RC)

Release candidates are experimental and are upgraded regularly with the latest features. These are not production-quality versions, and their stability may vary.

Customized versions

Customized versions are the processor versions that you can create based on your documents to customize predictions. Customized versions have a Type, which shows the kind of model used for predictions. If you create a version using a foundation model (either by creating a version or fine tuning), then the type is Generative AI. If you create a processor version by training a smaller, custom model (either model or template based), then the type is Custom. If you create processor versions, you decide the name and ID.

Base versions

If you create a processor version, the "base version" shows which Google version powers your customized user version. The base version dictates the lifecycle of your user version. You need to make decisions about how to manage the lifecycle of your customized user version.

Available stable processor versions

You can review the available stable processor versions for the different processor types in the following tables.

Custom Extractor Release date Deprecation date
pretrained-foundation-model-v1.5-2025-05-05 May 5, 2025 Not applicable
pretrained-foundation-model-v1.5-pro-2025-06-20 June 20, 2025 Not applicable
Form Parser Release date Deprecation date
pretrained-form-parser-v1.0-2020-09-23 September 23, 2020 Not applicable
pretrained-form-parser-v2.0-2022-11-10 November 10, 2022 Not applicable
Layout Parser Release date Deprecation date
pretrained-layout-parser-v1.0-2024-06-03 June 3, 2024 Not applicable
Bank Statement Parser Release date Deprecation date
pretrained-bankstatement-v1.0-2021-08-08 August 8, 2021 Not applicable
pretrained-bankstatement-v1.1-2021-08-13 August 13, 2021 Not applicable
pretrained-bankstatement-v2.0-2021-12-10 December 10, 2021 Not applicable
pretrained-bankstatement-v3.0-2022-05-16 May 16, 2022 Not applicable
pretrained-bankstatement-v5.0-2023-12-06 December 6, 2023 Not applicable
W2 Parser Release date Deprecation date
pretrained-w2-v1.0-2020-10-01 October 1, 2020 March 31, 2024
pretrained-w2-v1.1-2022-01-27 January 27, 2022 March 31, 2024
pretrained-w2-v1.2-2022-01-28 January 28, 2022 Not applicable
pretrained-w2-v2.1-2022-06-08 June 8, 2022 Not applicable
Identity Document Proofing Parser Release date Deprecation date
pretrained-id-proofing-v1.0-2022-10-03 October 3, 2022 Not applicable
Pay Slip Parser Release date Deprecation date
pretrained-paystub-v1.0-2021-03-19 March 19, 2021 Not applicable
pretrained-paystub-v1.1-2021-08-13 August 13, 2021 Not applicable
pretrained-paystub-v1.2-2021-12-10 December 10, 2021 Not applicable
pretrained-paystub-v2.0-2022-07-22 July 22, 2022 Not applicable
pretrained-paystub-v3.0-2023-12-06 December 6, 2023 Not applicable
US Driver License Parser Release date Deprecation date
pretrained-us-driver-license-v1.0-2021-06-14 June 14, 2021 Not applicable
Expense Parser Release date Deprecation date
pretrained-expense-v1.1-2021-04-09 April 9, 2024 Not applicable
pretrained-expense-v1.4-2022-11-18 November 18, 2022 Not applicable
pretrained-expense-v1.4.2-2024-09-12 September 12, 2024 Not applicable
Invoice Parser Release date Deprecation date
pretrained-invoice-v1.1-2021-04-09 April 9, 2024 Not applicable
pretrained-invoice-v1.2-2022-02-18 February 18, 2022 Not applicable
pretrained-invoice-v1.3-2022-07-15 July 15, 2022 Not applicable
pretrained-invoice-v2.0-2023-12-06 December 6, 2023 Not applicable
Enterprise Document OCR (Optical Character Recognition) Release date Deprecation date
pretrained-ocr-v1.2-2022-11-10 November 10, 2022 Not applicable
pretrained-ocr-v2.0-2023-06-02 June 2, 2023 Not applicable
pretrained-ocr-v2.1-2024-08-07 August 7, 2024 Not applicable

managing-processor-versions-3

Processor version lifecycle

As soon as a new Google version is available, you should create and evaluate new user versions with the new base version. Then, deploy your new version and undeploy (or delete) earlier user versions that use the prior stable version as their base. Stable versions are discontinued after a new one is released. Google gives you at least six months' notice when this occurs.

What happens when a base version is deprecated?

User versions depending on earlier base versions stop returning predictions when the base version is deprecated.

How are processor versions selected for your requests?

When you call a processor endpoint without specifying the processor version, the default processor version is used. When the default processor version changes, you might need to update the code.

Endpoint used Experience
If you do not specify a processor version ID Requests processed using a new default processor version.
If your default processor version is deprecated, the default updates to the most recently launched stable Google version when the older default version is deprecated.
If you specify the processor version ID The response fails if you call a processor endpoint and specify a version ID which has been deprecated.

Deprecation example of a customized version

Consider the following scenario that describes the sequence of events in a customized version deprecation:

  1. As a developer, you're using a Custom Extractor to get data from documents. Given the complexity and volume of documents you process, you fine tune the foundation model to create a version named fine-tune-A. You set the fine-tune-A version as the default version for your processor and use it to process documents. The base version that powers the fine-tune-A model is the pretrained-foundation-model-v1.0-2023-08-22 (v1.0) stable version.

  2. Google published a new stable version named pretrained-foundation-model-v1.2-2024-05-10 (v1.2) and announced that the v1.0 stable version is to be deprecated on April 9, 2025.

  3. Since you kept your training and test documents in your processor's dataset, you fine-tune another version based on the newest Google stable version, v1.2, and name it fine-tune-B. After you evaluate its performance, you set the fine-tune-B version as the new default version for your processor and decommission the fine-tune-A version. Your new version now uses the latest supported Google stable version.

On the other hand, had you not created and evaluated the customized fine-tune-B version, then Google would have updated the default version of your processor to v1.2 on April 9, 2025. Because you are calling the processor's endpoint and not specifying a processor version, the new v1.2 version is used as the new default to process your requests.

Deprecation and migration resources

For deprecated parsers and processors, you can consult Document AI deprecations.

See the following resources for migrations:

Select a processor version

There are three ways to specify which processor version to use for online and batch processing:

  • If you do not specify a version, the processor's default is used.

    • Example: projects/my-proj/locations/us/processors/my-processor:process
  • If you specify a version, then that specific version is used. If the specific version does not exist, the request fails with an error.

    • Example: projects/my-proj/locations/us/processors/my-processor/processorVersions/pretrained-invoice-v1.2-2022-02-18:process
  • If you specify a channel then the latest version in that channel is used. (Options: stable, rc)

    • Example: projects/my-proj/locations/us/processors/my-processor/processorVersions/stable:process

View available version

Console

  1. In the Google Cloud console, in the Document AI section, go to the Processors page.

    Go to Processors

  2. From the list of processors, click the name of the processor that you want to view details for.

  3. Select the Manage Versions (or Deploy & use) tab, which will display all of the available processor versions.

REST

This sample shows how to list the available processor versions for your processor using the processorVersions.list method.

Before using any of the request data, make the following replacements:

  • LOCATION: your processor's location, for example:
    • us - United States
    • eu - European Union
  • PROJECT_ID: Your Google Cloud project ID.
  • PROCESSOR_ID: the ID of your custom processor.

HTTP method and URL:

GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions

To send your request, choose one of these options:

curl

Execute the following command:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions"

PowerShell

Execute the following command:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions" | Select-Object -Expand Content

The response contains a list of ProcessorVersions, which contains information about each processor version such as its name, state, and other details.

{
  "processorVersions": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained-ocr-v1.1-2022-09-12",
      "displayName": "Google Release Candidate",
      "state": "DEPLOYED",
      "createTime": "2022-09-13T23:39:12.156648Z",
      "googleManaged": true
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained-ocr-v1.0-2020-09-23",
      "displayName": "Google Stable",
      "state": "DEPLOYED",
      "createTime": "2022-09-12T23:35:09.829557Z",
      "googleManaged": true,
      "deprecationInfo": {
        "deprecationTime": "1970-01-01T00:00:00Z"
      }
    }
  ]
}

C#

For more information, see the Document AI C# API reference documentation.

To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.