Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
Stay organized with collections
Save and categorize content based on your preferences.
Creates an ID that can be used to render a "thumbnail" image.
This is used in conjunction with GetThumbnailPixels. A call to thumbnails.create provides an expression and some output options. The result of thumbnails.create is an ID that represents an image that is the result of evaluating that expression and applying those options. Subsequently, calls to GetThumbnailPixels can be made to get the image data for the entire resulting image. The ID will be valid for a moderate period (a few hours).
The most common use case for this pair of endpoints is to provide a complex expression via a POST to thumbnails.create, and then fetch the computed image via a GET to GetThumbnailPixels. This two-part process allows for use in more situations than ComputePixels. In particular: - the result of ComputePixels needs to be unwrapped to get the encoded image bytes. The result of GetThumbnailPixels can be displayed directly by a browser. - ComputePixels can only be called by an authorised user, using a properly-scoped OAuth token. thumbnails.create has the same restriction, but GetThumbnailPixels can be invoked with a URL containing an API key, so URLs invoking it can be used more broadly.
The result of evaluating the expression has to meet some reasonable requirements for the requested image format. In particular, JPEG or PNG format requires that there be one or three output bands, and clips values that are outside the 0-255 range.
The description "thumbnail" does not imply a restriction on the size of the computed image: the same restrictions as ComputePixels apply to thumbnails.create/GetThumbnailPixels. Requests are limited to 48MB in uncompressed data per request, computed as the product of the request dimensions in pixels, the number of image bands requested, and the number of bytes per pixel for each band. Requests are also limited to at most 32K pixels in either dimension and at most 1024 bands. Requests exceeding these limits will result in an error code of 400 (BAD_REQUEST).
HTTP request
POST https://earthengine.googleapis.com/v1/{parent=projects/*/locations/*}/thumbnails
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-06 UTC."],[[["\u003cp\u003e\u003ccode\u003ethumbnails.create\u003c/code\u003e generates an ID for an image created from a provided expression and options, usable with \u003ccode\u003eGetThumbnailPixels\u003c/code\u003e to retrieve the image data.\u003c/p\u003e\n"],["\u003cp\u003eThis two-step process allows broader usage than \u003ccode\u003eComputePixels\u003c/code\u003e, as \u003ccode\u003eGetThumbnailPixels\u003c/code\u003e can be invoked with an API key and its result displayed directly in a browser.\u003c/p\u003e\n"],["\u003cp\u003eWhile called "thumbnail", there's no strict size limitation, but restrictions similar to \u003ccode\u003eComputePixels\u003c/code\u003e apply, with errors for exceeding data, dimension, or band limits.\u003c/p\u003e\n"],["\u003cp\u003eThe generated thumbnail ID is valid for a few hours and the image format must meet requirements, such as specific band numbers for JPEG or PNG.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication is required for \u003ccode\u003ethumbnails.create\u003c/code\u003e, with various OAuth scopes or IAM permissions accepted.\u003c/p\u003e\n"]]],["`thumbnails.create` generates an ID representing an image derived from an expression and output options. This ID, valid for a few hours, is then used with `GetThumbnailPixels` to retrieve the image data. `GetThumbnailPixels` can be invoked via a URL with an API key. Output image formats (JPEG/PNG) need one or three bands and values in the 0-255 range. Image size is limited to 48MB uncompressed, with at most 32K pixels per dimension and 1024 bands. Authorization for creating thumbnails requires IAM permissions.\n"],null,["Creates an ID that can be used to render a \"thumbnail\" image.\n\nThis is used in conjunction with `GetThumbnailPixels`. A call to `thumbnails.create` provides an expression and some output options. The result of `thumbnails.create` is an ID that represents an image that is the result of evaluating that expression and applying those options. Subsequently, calls to `GetThumbnailPixels` can be made to get the image data for the entire resulting image. The ID will be valid for a moderate period (a few hours).\n\nThe most common use case for this pair of endpoints is to provide a complex expression via a POST to `thumbnails.create`, and then fetch the computed image via a GET to `GetThumbnailPixels`. This two-part process allows for use in more situations than `ComputePixels`. In particular: - the result of `ComputePixels` needs to be unwrapped to get the encoded image bytes. The result of `GetThumbnailPixels` can be displayed directly by a browser. - `ComputePixels` can only be called by an authorised user, using a properly-scoped OAuth token. `thumbnails.create` has the same restriction, but `GetThumbnailPixels` can be invoked with a URL containing an API key, so URLs invoking it can be used more broadly.\n\nThe result of evaluating the expression has to meet some reasonable requirements for the requested image format. In particular, JPEG or PNG format requires that there be one or three output bands, and clips values that are outside the 0-255 range.\n\nThe description \"thumbnail\" does not imply a restriction on the size of the computed image: the same restrictions as `ComputePixels` apply to `thumbnails.create`/`GetThumbnailPixels`. Requests are limited to 48MB in uncompressed data per request, computed as the product of the request dimensions in pixels, the number of image bands requested, and the number of bytes per pixel for each band. Requests are also limited to at most 32K pixels in either dimension and at most 1024 bands. Requests exceeding these limits will result in an error code of 400 (BAD_REQUEST).\n\nHTTP request\n\n`POST https://earthengine.googleapis.com/v1/{parent=projects/*/locations/*}/thumbnails`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\nPath parameters\n\n| Parameters ||\n|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `parent` | `string` Required. The parent of the thumbnail collection (e.g., \"projects/\\*\"). Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `parent`: - `earthengine.thumbnails.create` |\n\nQuery parameters\n\n| Parameters ||\n|---------------|-------------------------------------------------------|\n| `workloadTag` | `string` User supplied tag to track this computation. |\n\nRequest body\n\nThe request body contains an instance of [Thumbnail](/earth-engine/reference/rest/v1/projects.locations.thumbnails#Thumbnail).\n\nResponse body\n\nIf successful, the response body contains a newly created instance of [Thumbnail](/earth-engine/reference/rest/v1/projects.locations.thumbnails#Thumbnail).\n\nAuthorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/earthengine`\n- `\n https://www.googleapis.com/auth/earthengine.readonly`\n- `\n https://www.googleapis.com/auth/cloud-platform`\n- `\n https://www.googleapis.com/auth/cloud-platform.read-only`\n\nFor more information, see the [OAuth 2.0 Overview](/identity/protocols/OAuth2)."]]