Stay organized with collectionsSave and categorize content based on your preferences.
Batch Video Warehouse (also known as Video on Demand Warehouse)
helps developers to:
Import video files from Cloud Storage.
Import video metadata.
Analyze video content embeddings.
Construct and deploy search indexes for AI-powered video search.
There are a few basic steps to use a Batch Video Warehouse:
Upload and analyze videos: Create acorpus,uploadvideo assets,
generate video embeddings byanalyzethe video assets.
Additionally, developers can definedata schemaandannotationsto enrich videos with supplementary metadata.
Build and deploy search indexes: Create anindexanddeploythe
index to anindex endpointfor search.
A deployed index is managed by a
dedicated pool of resources that scales with the size of the index.
Search, browse, and update index data: Perform semanticsearchfor relevant video partitions on
a deployed index with text queries, images, or filter criteria on the
annotation metadata.
Users can also browse the corpus or index contents throughListAssetsandViewIndexedAssetsrespectively.
Batch Video Warehouse provides two ways for updating video assets in
the index:
Incremental update: Use theIndexAssetorRemoveIndexAssetAPIs to update one video at a
time. This method leads to limited throughput, but low update latency.
Batch update: Use theUpdateIndexAPI with theasset_filterparameter to fully rebuild the index.
This way is preferred when you have a large number of videos to add or
remove from the index.
Supported video formats
Warehouse backends support popular formats such as MP4, AVI, FLV,
MKV, MOV, MXF, WMV, and the formats decodable byFFmpeg.
The frontend, which is only for demo purposes, supports MP4 and MKV.
[[["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-09-04 UTC."],[],[],null,["# Batch Video Warehouse Overview\n\nBatch Video Warehouse (also known as Video on Demand Warehouse)\nhelps developers to:\n\n- Import video files from Cloud Storage.\n- Import video metadata.\n- Analyze video content embeddings.\n- Construct and deploy search indexes for AI-powered video search.\n\n| **Important:** Batch Video Warehouse does not copy or store video data. There is no additional storage charge by importing video files.\n\nThere are a few basic steps to use a Batch Video Warehouse:\n\n1. **Upload and analyze videos** : Create a [`corpus`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora), [`upload`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.assets/upload) video assets, generate video embeddings by [`analyze`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.assets/analyze) the video assets. Additionally, developers can define [`data schema`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.dataSchemas) and [`annotations`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.assets.annotations) to enrich videos with supplementary metadata.\n2. **Build and deploy search indexes** : Create an [`index`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.indexes) and [`deploy`](/vision-ai/docs/reference/rest/v1/projects.locations.indexEndpoints/deployIndex) the index to an [`index endpoint`](/vision-ai/docs/reference/rest/v1/projects.locations.indexEndpoints) for search. A deployed index is managed by a dedicated pool of resources that scales with the size of the index.\n3. **Search, browse, and update index data** : Perform semantic [`search`](/vision-ai/docs/reference/rest/v1/projects.locations.indexEndpoints/searchIndexEndpoint) for relevant video partitions on a deployed index with text queries, images, or filter criteria on the annotation metadata. Users can also browse the corpus or index contents through [`ListAssets`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.assets/list) and [`ViewIndexedAssets`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.indexes/viewAssets) respectively. Batch Video Warehouse provides two ways for updating video assets in the index:\n - **Incremental update** : Use the [`IndexAsset`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.assets) or [`RemoveIndexAsset`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.assets/removeIndex) APIs to update one video at a time. This method leads to limited throughput, but low update latency.\n - **Batch update** : Use the [`UpdateIndex`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.indexes/patch) API with the [`asset_filter`](/vision-ai/docs/reference/rest/v1/projects.locations.corpora.indexes) parameter to fully rebuild the index. This way is preferred when you have a large number of videos to add or remove from the index.\n\nSupported video formats\n-----------------------\n\nWarehouse backends support popular formats such as MP4, AVI, FLV,\nMKV, MOV, MXF, WMV, and the formats decodable by\n[FFmpeg](https://ffmpeg.org/).\n\nThe frontend, which is only for demo purposes, supports MP4 and MKV.\n\nWhat's next\n-----------\n\nStart onboarding with the demo [colab](https://colab.sandbox.google.com/github/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/vision/video_warehouse_sdk.ipynb)."]]