Tagging media with Gemini
Prerequisites
- Google Cloud Project with billing account attached
- Either Vertex AI API enabled or GOOGLE_API_KEY to access Google Gemini.
Supported media
- IMAGE
- VIDEO
- YOUTUBE_VIDEO
- TEXT
- WEBPAGE (only for
gemini-2.5-*
models)
Installation
pip install media-tagging
uv pip install media-tagging
Usage
Expose necessary environmental variables before using Gemini tagger.
export GOOGLE_API_KEY=<YOUR_API_KEY_HERE>
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT=<YOUR_PROJECT_HERE>
export GOOGLE_CLOUD_LOCATION=<YOUR_CLOUD_LOCATION_HERE>
Run media-tagger
with Gemini tagger.
media-tagger tag MEDIA_PATHs \
--media-type IMAGE \
--tagger gemini
import media_tagging
media_tagger = media_tagging.MediaTaggingService()
request = media_tagging.MediaTaggingRequest(
media_type='IMAGE',
media_paths=['image1.png', 'image2.png'],
tagger_type='gemini',
)
result = media_tagger.tag_media(request)
result.save(output='tagging_results', writer='csv')
curl -X 'POST' \
'http://127.0.0.1:8000/media_tagging/tag' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"tagger_type": "gemini",
"media_type": "IMAGE",
"media_paths": [
"image1.png",
"image2.png"
]
}'
Tagger customizations
Video
For VIDEO
and YOUTUBE_VIDEO
media types you can specify video specific parameters (fps
, start_offset
, end_offset
)
media-tagger tag MEDIA_PATHs \
--media-type YOUTUBE_VIDEO \
--tagger gemini \
--tagger.fps=5 \
--writer csv \
--output tagging_results
import media_tagging
media_tagger = media_tagging.MediaTaggingService()
request = media_tagging.MediaTaggingRequest(
media_type='VIDEO',
media_paths=['video1.mp4', 'video2.mp4'],
tagger_type='gemini',
tagging_options={
'fps': 5,
},
)
result = media_tagger.tag_media(request)
result.save(output='tagging_results', writer='csv')
curl -X 'POST' \
'http://127.0.0.1:8000/media_tagging/tag' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"tagger_type": "gemini",
"media_type": "VIDEO",
"media_paths": [
"video1.mp4",
"video2.mp4"
],
"tagging_options": {
"fps": 5
}
"
}'