Reviewed by Jonathan West · Updated Oct 10, 2026

EmbeddingGemma 2 Explained

What Google's open multimodal embedder does, and what it costs to run.

Reviewed by Jonathan West · Updated Oct 10, 2026

EmbeddingGemma 2 is Google's free, Apache 2.0 open model that turns text, code, images, video and audio into one 768-dimension vector space; the weights cost nothing, you pay for the compute you run it on. It is an embedding model. It does not write chat replies. At Layer3Labs, we build and run AI systems inside other people's businesses, and we build custom agents and integrations that work over a business's own documents and files.

EmbeddingGemma 2 covers text, code, images, video and audio with one embedding model, so you do not need a separate embedder per file type. Google built it on the Gemma 4 architecture using technology from the Gemini Embedding models. It succeeds EmbeddingGemma 1, which launched as a text-only embedder and earned more than 20 million downloads.

The model weights are available on Hugging Face and Kaggle for local hosting or private deployment without license fees. Modular loading lets you pick a size from 270M to 740M and load only the encoders your data needs.


What EmbeddingGemma 2 Is and What It Costs

EmbeddingGemma 2 is an open-weight embedding model released by Google under the permissive Apache 2.0 license. The model weights are free to download, which means you incur no per-token software charge from Google. Google publishes no hosted-API price, so your cost is the hardware or hosting you choose. You pay for the compute required to process your data.

The full multimodal model contains 740 million parameters, but modular architecture lets you load only the encoders you need. The base text and code setup runs at 270M parameters. Adding the 170M vision encoder gives the 440M setup. The 300M audio encoder gives 570M. Loading both gives the full 740M model.

All four setups share the same 768-dimensional vector space and load from a single checkpoint. If your index is text only, load the 270M text and code setup and skip the vision and audio encoders. If Google publishes a hosted API price later, compare it against your hosting cost before committing to self-hosted compute.

  • License: Apache 2.0 permits commercial deployment, local hosting, and weight modifications without license fees.
  • Modular weights: Load 270M for text and code, 440M for vision, 570M for audio, or 740M for all modalities.
  • Compute sizing: Check hardware requirements with the Local AI Hardware Calculator.
The open weights cost nothing. Your primary expense is the server compute or local hardware you run to generate and query vectors.

One Shared Vector Space Over Multiple Media Types

EmbeddingGemma 2 projects text, code, images, video frames, and audio tracks into a single 768-dimensional vector space. A text query and a video clip land in the same 768-dimension space. With EmbeddingGemma 2, a text query lands in the identical coordinate space as a video clip or an audio recording. You can submit a plain text query to retrieve a specific photograph, diagram, or voice recording.

The model also accepts interleaved inputs, meaning a single document can combine text descriptions alongside images or audio segments. An inventory listing featuring item specifications, a warehouse photograph, and a voice inspection note generates a unified vector.

The text and code backbone uses an adapted Gemma 4 decoder with an 8,192-token context window, which is 4x EmbeddingGemma 1's window. Per Google's launch post, 8,192 tokens can hold up to 5.5 minutes of 16 kHz mono audio, 29 images, or 58 video frames sampled at 1 frame per second. Longer audio and video still need chunking before you embed them.

Adding a modality later preserves previous embeddings. Because all configurations share the same coordinates, a query embedded with the 270M text-only setup matches directly against media embedded by the 740M setup. You do not need to recompute existing text embeddings when you add images or recordings to your database.


Running EmbeddingGemma 2 on Devices and in Browsers

EmbeddingGemma 2 runs fully offline on a phone, and in the browser through WebGPU or transformers.js. With quantization on a Google Pixel 11 Pro, Google reports active memory usage of about 191 MB for the 270M text-only setup and about 567 MB for the full 740M multimodal model.

EmbeddingGemma 2 shares its text tokenizer and audio encoder architecture with Gemma 4. In an on-device Retrieval-Augmented Generation pipeline combining both models, sharing these components reduces total memory overhead. Google illustrated this pattern in its Foresight application, using EmbeddingGemma 2 for file retrieval and Gemma 4 for local reasoning. Review our guide on Gemma 4 explained for details on the base architecture.

Developers can also run inference directly inside client web applications. A community demonstration on Reddit shows image-text retrieval running in the browser on WebGPU using EmbeddingGemma 2's vision tower. This specific demo is a community project, not a Google product.


Code Search and Benchmark Improvements

EmbeddingGemma 2 achieves an MTEB Code score of 78.68, marking a 9.92-point increase over EmbeddingGemma 1. Google reports that this score represents a 14% improvement on programming retrieval benchmarks. In the official developer guide, Google demonstrated this capability by embedding the entire Hugging Face transformers repository with the 270M setup. An agent (Gemma 4 26B A4B with the Pi agent harness) then searched that index.

Multilingual text performance matches EmbeddingGemma 1 across standardized evaluations. Google identifies EmbeddingGemma 2 as best-in-class among sub-1B multimodal embedders on benchmarks including MTEB Code and the MAEB audio evaluation suite. You can inspect the complete benchmark breakdown on the official model card.


Picking Dimensions and Storage Tradeoffs

Matryoshka training lets you cut a vector to its first 512, 256 or 128 dimensions. This technique allows engineering teams to balance search accuracy against database memory and disk costs. In bfloat16 precision, an index of one million 768-dimension vectors requires roughly 1.5 GB of storage. Truncating those vectors to 128 dimensions shrinks the index footprint to roughly 250 MB, delivering a 6x reduction.

Quality changes depending on how aggressively you truncate and what media you index. At 256 dimensions, the model retains most of its full quality on text and code, and about 95% on image, video, and speech retrieval. At 128 dimensions, text and code retain around 90% quality, but image, video, and speech retrieval drop to around 75%.

Google recommends 768 or 512 dimensions for multimodal and visual document retrieval, or whenever recall matters more than storage. Use 256 dimensions for storage-constrained production systems. Use 128 dimensions for large text-only indexes, or as a fast first-stage filter before reranking. Queries and documents must use identical dimensions.

Validate 128-dimension embeddings on your own images and audio samples before committing to aggressive truncation.


What a Business Can Do With EmbeddingGemma 2

Businesses can deploy EmbeddingGemma 2 to power unified semantic search across internal documents, media archives, support recordings, and engineering repositories. EmbeddingGemma 2 embeds these assets into a shared database like Qdrant. Staff can then search internal documents and media with a text query.

Customer service teams can index recorded support calls and search them with text queries. Split each call into chunks under 5.5 minutes first. A supervisor can search for billing disputes or hardware return requests with a text query.

Retail platforms can connect inventory photos with descriptive metadata. If a shopper searches for a specific pattern or color combination, the vector index matches the text prompt against product images directly.

Software teams can index proprietary repositories and let engineers query business logic, interface definitions, or utility routines using plain questions. To learn how vector retrieval fits into wider architectures, review our guides on how to run Gemma locally, fine-tuning vs RAG, and EmbeddingGemma 2 for multimodal RAG.


Where to Start and What to Verify

Deploying EmbeddingGemma 2 starts by testing the model weights against a representative sample of internal documents and media. Begin by reviewing the official model card to verify hardware requirements and installation dependencies. Load the model using sentence-transformers version 6.1.0 or higher. For query vectors, assign the task prompt name SearchQuery, and use Document for indexed records.

Next, test your retrieval accuracy across candidate Matryoshka dimensions. If you manage high image or audio volumes, confirm whether 256 dimensions meets your recall targets or if your workload demands 512 or 768 dimensions.

Who this is not for: If your workload requires an end-to-end chat model that generates textual answers, EmbeddingGemma 2 will not suffice on its own. You will need to pair it with a generative model such as Gemma 4 or an external language model.

What would change our answer: If Google releases a managed, low-cost API endpoint for EmbeddingGemma 2, compare it against your hosting cost before committing to self-hosted compute. Until then, self-hosting remains the straightforward path to private multimodal search.

Frequently Asked Questions

  • Yes. Google released the EmbeddingGemma 2 model weights for free download under the Apache 2.0 license. Google lists no per-token fee for the open weights, though you pay for the hardware or cloud hosting required to run inference.
  • EmbeddingGemma 2 is published under the Apache 2.0 license. This license permits commercial deployment, self-hosting, integration into proprietary software, and weight modifications without license fees.
  • The model handles text, programming code, images, video frames, and audio recordings. It maps all five inputs into a single, shared 768-dimensional vector space and supports interleaved inputs combining text with media.
  • The full multimodal model contains 740 million parameters. Its modular structure allows loading smaller configurations: 270M for text and code, 440M for text and vision, and 570M for text and audio. On a Google Pixel 11 Pro with quantization, Google reports active memory usage of roughly 191 MB for text-only and 567 MB for the full multimodal setup.
  • Yes. EmbeddingGemma 2 runs fully offline on a phone, and in the browser through WebGPU or transformers.js. Google ties offline use to privacy and lower latency.
  • EmbeddingGemma 1 was a text-only embedding model. EmbeddingGemma 2 adds vision and audio modalities, expands the context window to 8,192 tokens (4x larger than EmbeddingGemma 1), and improves MTEB Code retrieval scores from 68.76 to 78.68.
  • No. All configurations of EmbeddingGemma 2 share the same 768-dimensional coordinate system. Text records indexed with the 270M setup match directly against images or audio indexed later with the 740M multimodal model.
  • Matryoshka training lets you cut a vector to its first 512, 256 or 128 dimensions. Truncating to 128 dimensions reduces index storage requirements by up to 6x, while 256 dimensions preserves approximately 95% of retrieval quality across multimodal inputs.

Deploy Multimodal Search Over Your Data

Planning search over your own documents, photos and recordings? We build the integration and test it on your data.

/ai-workflow-audit