Runs as a custom pluginEmbeddingVerified 2026-11-05
SigLIP 2 so400m patch16 NaFlex
google/siglip2-so400m-patch16-naflex
SigLIP 2 so400m patch16 NaFlex is a image, text and document embedding model (Apache-2.0). Can run on Mixpeek as a custom plugin.
Mixpeek does not run it today. It can run as a custom plugin: the weights load without remote code.
No demo for SigLIP 2 so400m patch16 NaFlex yet
A video, image, slideshow or playground goes here once we record one on our own data.
What it is good and bad at
- Best at
- Documents, screenshots, receipts and wide or tall images: keeps the native aspect ratio instead of squashing to a square.
- Worst at
- Variable sequence length per image makes batching uneven; square photos gain nothing over the fixed-resolution model.
- Task
- Embedding
- Input
- Image, Text, Document
- Output
- Vector
- Use cases
- Visual search, Document search
Templates that use it
No template uses this model yet. Browse templates.
Input and output
Input
- image
- resolution
- native aspect ratio, resized so patches <= max_num_patches (default 256; 128 to 1024)
- color
- RGB
- normalize
- mean 0.5, std 0.5
- text
- max_tokens
- 64
- prompts
- lowercase captions; the card uses 'this is a photo of {label}.'; Gemma tokenizer, padded to max_length 64
Output
- vector
- dims
- 1152
- distance
- cosine
- type
- dense
How Mixpeek wires it
- Extractors
- None today
- Feature URIs
- None today
- Vector indexes
- None
- Retriever stages
- feature_search
- Combines with
- PDF pages and screenshots -> NaFlex image vectors -> feature_search with a text query
How it runs
- Status
- Runs as a custom plugin Not served. Would run as a custom extractor plugin (engine/extractors/<name>/v1/ with realtime.py for query embedding), loading safetensors with trust_remote_code false. The processor takes max_num_patches; batches carry a pixel attention mask.
- Serve apps
- None
- Runtime
- transformers AutoModel + AutoProcessor (Siglip2Model, NaFlex processor)
- Weights
- safetensors, no remote code
- Parameters
- 1,136 M
- Size on disk
- 4,543 MB
- Preprocessing
- Resize keeping aspect ratio to fit max_num_patches of 16x16, normalize mean 0.5 std 0.5, pad patches and build pixel_attention_mask.
- Postprocessing
- L2-normalize pooled image and text embeddings; sigmoid of scaled logits for zero-shot scores.
- Serving
- both, batch 16
- Hardware
- Runs on CPU (slower without a GPU)
Scale to zero
- Minimum replicas
- 0
- Maximum replicas
- 1
- Idle timeout
- 600 s
- Memory
- 8 GB
- CPUs
- 2
- GPUs
- 1
- Cold start, node warm
- Not recorded
- Cold start, new node
- Not recorded
Measured cost
Unmeasured
No committed measurement; plan row 3 measures it in the standalone image.
Our evaluations
Unmeasured
We have not evaluated this model on our own data yet. Publisher results are in the sources below.
Questions
- What is SigLIP 2 so400m patch16 NaFlex best at?
- Documents, screenshots, receipts and wide or tall images: keeps the native aspect ratio instead of squashing to a square.
- What are the limits of SigLIP 2 so400m patch16 NaFlex?
- Variable sequence length per image makes batching uneven; square photos gain nothing over the fixed-resolution model.
- Can SigLIP 2 so400m patch16 NaFlex be used commercially?
- Yes. Apache-2.0 weights and code; no use restrictions.
- How does SigLIP 2 so400m patch16 NaFlex run on Mixpeek?
- Not served. Would run as a custom extractor plugin (engine/extractors/<name>/v1/ with realtime.py for query embedding), loading safetensors with trust_remote_code false. The processor takes max_num_patches; batches carry a pixel attention mask.
- What does SigLIP 2 so400m patch16 NaFlex output?
- A 1152-dimensional dense vector, compared by cosine similarity.