Upload asset by specifing the asset Cloud Storage uri. For video warehouse, it requires users who call this API have read access to the cloud storage file. Once it is uploaded, it can be retrieved by assets.generateRetrievalUrl API which by default, only can retrieve cloud storage files from the same project of the warehouse. To allow retrieval cloud storage files that are in a separate project, it requires to find the vision ai service account (Go to IAM, check checkbox to show "Include Google-provided role grants", search for "Cloud Vision AI Service Agent") and grant the read access of the cloud storage files to that service account.
HTTP request
POST https://visionai.googleapis.com/v1/{name=projects/*/locations/*/corpora/*/assets/*}:upload
{// Union field source_form can be only one of the following:"assetGcsSource": {object (AssetGcsSource)},"assetContentData": {object (AssetContentData)}// End of list of possible types for union field source_form.}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-27 UTC."],[],[],null,["# Method: projects.locations.corpora.assets.upload\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [IAM Permissions](#body.aspect_1)\n- [AssetSource](#AssetSource)\n - [JSON representation](#AssetSource.SCHEMA_REPRESENTATION)\n- [AssetContentData](#AssetContentData)\n - [JSON representation](#AssetContentData.SCHEMA_REPRESENTATION)\n\nUpload asset by specifing the asset Cloud Storage uri. For video warehouse, it requires users who call this API have read access to the cloud storage file. Once it is uploaded, it can be retrieved by assets.generateRetrievalUrl API which by default, only can retrieve cloud storage files from the same project of the warehouse. To allow retrieval cloud storage files that are in a separate project, it requires to find the vision ai service account (Go to IAM, check checkbox to show \"Include Google-provided role grants\", search for \"Cloud Vision AI Service Agent\") and grant the read access of the cloud storage files to that service account.\n\n### HTTP request\n\n`POST https://visionai.googleapis.com/v1/{name=projects/*/locations/*/corpora/*/assets/*}:upload`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n### Request body\n\nThe request body contains data with the following structure:\n\n### Response body\n\nIf successful, the response body contains an instance of [Operation](/vision-ai/docs/reference/rest/Shared.Types/ListOperationsResponse#Operation).\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/cloud-platform`\n\nFor more information, see the [Authentication Overview](https://cloud.google.com/docs/authentication/).\n\n### IAM Permissions\n\nRequires the following [IAM](https://cloud.google.com/iam/docs) permission on the `name` resource:\n\n- `visionai.assets.upload`\n\nFor more information, see the [IAM documentation](https://cloud.google.com/iam/docs).\n\nAssetSource\n-----------\n\nThe source of the asset.\n\nAssetContentData\n----------------\n\nThe content of the asset."]]