Method: projects.locations.models.export

Exports a trained, "export-able", model to a user specified Google Cloud Storage location. A model is considered export-able if and only if it has an export format defined for it in


Returns an empty response in the response field when it completes.

HTTP request


Path parameters



Required. The resource name of the model to export.

Authorization requires the following Google IAM permission on the specified resource name:

  • automl.models.export

Request body

The request body contains data with the following structure:

JSON representation
  "outputConfig": {
    object (ModelExportOutputConfig)

object (ModelExportOutputConfig)

Required. The desired output location and configuration.

Response body

If successful, the response body contains an instance of Operation.

Authorization Scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.


Output configuration for ModelExport Action.

JSON representation
  "modelFormat": string,
  "params": {
    string: string,

  // Union field destination can be only one of the following:
  "gcsDestination": {
    object (GcsDestination)
  "gcrDestination": {
    object (GcrDestination)
  // End of list of possible types for union field destination.


The format in which the model must be exported. The available, and default, formats depend on the problem and model type (if given problem and type combination doesn't have a format listed, it means its models are not exportable):

  • For Image Classification (mobile-low-latency-1, mobile-versatile-1, mobile-high-accuracy-1): "tflite" (default), "edgetpu_tflite", "tf_saved_model", "tf_js", "docker", "core_ml".

  • For Image Object Detection (mobile-low-latency-1, mobile-versatile-1, mobile-high-accuracy-1): "tflite", "tf_saved_model", "tf_js".

Formats description:

  • tflite - Used for Android mobile devices.
  • edgetpu_tflite - Used for Edge TPU devices.
  • tf_saved_model - A tensorflow model in SavedModel format.
  • tf_js - A TensorFlow.js model that can be used in the browser and in Node.js using JavaScript.
  • docker - Used for Docker containers. Use the params field to customize the container. The container is verified to work correctly on ubuntu 16.04 operating system. See more at containers quickstart.
  • core_ml - Used for iOS mobile devices.

map (key: string, value: string)

Additional model-type and format specific parameters describing the requirements for the to be exported model files, any string must be up to 25000 characters long.

  • For docker format: cpu_architecture - (string) "x86_64" (default). gpu_architecture - (string) "none" (default), "nvidia".

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Union field destination. Required. The destination of the output. destination can be only one of the following:

object (GcsDestination)

The Google Cloud Storage location where the model is to be written to. This location may only be set for the following model formats: "tflite", "edgetpu_tflite", "tf_saved_model", "tf_js", "core_ml".

Under the directory given as the destination a new one with name "model-export--", where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format, will be created. Inside the model and any of its supporting files will be written.


object (GcrDestination)

The GCR location where model image is to be pushed to. This location may only be set for the following model formats: "docker".

The model image will be created under the given URI.


The GCR location where the image must be pushed to.

JSON representation
  "outputUri": string


Required. Google Contained Registry URI of the new image, up to 2000 characters long. See

https: // // cs/pushing-and-pulling#pushing_an_image_to_a_registry Accepted forms: * [HOSTNAME]/[PROJECT-ID]/[IMAGE] * [HOSTNAME]/[PROJECT-ID]/[IMAGE]:[TAG]

The requesting user must have permission to push images the project.