Downloads · 30 days
15
14% of all-time downloads
LeoFortunato/LFM2.5-VL-450M-Extract-MLX-4bit
LFM2.5-VL-450M-Extract-MLX-4bit is a image-text-to-text model from LeoFortunato. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as other.
<center <div style="text-align: center;" <img src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/2b08LKpev0DNEk6DlnWkY.png" alt="Liquid AI" style="width: 100%; max-width: 100%; height:…
Downloads · 30 days
15
14% of all-time downloads
All-time downloads
105
Public
Parameters
449M
388 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors388 MB · 99%
How the weights are stored.
U32354M · 79%
From the Hugging Face model README
LFM2.5-VL-450M-Extract-MLX-4bit is the 4-bit quantized Apple Silicon MLX port of Liquid AI's LFM2.5-VL-450M-Extract. It extracts user-defined fields from images and returns them as strict JSON, optimized for ultra-low latency and minimal memory consumption on Apple Silicon (M1/M2/M3/M4) devices via MLX and mlx-vlm.
You specify what to extract as a YAML field list in the system prompt, and the model returns a JSON object with those fields.
wood_color: The overall coloration of the wood surface
wood_texture: The tactile quality of the wood surface
wood_pattern: The pattern types visible on the wood surface
{
"wood_color": "light to medium brown",
"wood_texture": "smooth with visible grain",
"wood_pattern": "parallel, irregular, wavy"
}
Our model also supports enum constrained definitions:
wood_color: The overall coloration of the wood surface, such as blue, red, or light tan
wood_texture: The tactile quality of the wood surface, select from smooth, rough, or grainy
wood_pattern: The pattern types visible on the wood surface, e.g., straight, wavy, or curly
| Property | Detail |
|---|---|
| Base Model | LiquidAI/LFM2.5-VL-450M-Extract |
| Parameters (LM only) | 350M |
| Vision Encoder | SigLIP2 (~100M, SigLIP-2 paper) |
| Quantization | 4-bit affine (group_size: 64, mode: affine) |
| Weights Size | ~388 MB (model.safetensors) |
| Context Window | 128,000 tokens |
| Runtime / Library | Apple Silicon MLX (mlx_vlm) |
| License | LFM Open License v1.0 |
python -m mlx_vlm.convert --hf-path LiquidAI/LFM2.5-VL-450M-Extract -q --q-bits 4 --q-group-size 64| Model Variant | Precision | Group Size | Weight Size | Est. Unified RAM |
|---|---|---|---|---|
| LFM2.5-VL-450M-Extract-MLX-4bit | 4-bit (int4) | 64 | ~388 MB | ~400 MB |
| LFM2.5-VL-450M-Extract-MLX-8bit | 8-bit (int8) | 64 | ~565 MB | ~600 MB |
| LFM2.5-VL-450M-Extract-MLX-bf16 | bfloat16 | N/A | ~897 MB | ~900 MB |
pip install mlx-vlm pillow
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_image
model_id = "LeoFortunato/LFM2.5-VL-450M-Extract-MLX-4bit"
model, processor = load(model_id)
image = load_image("https://huggingface.co/LiquidAI/LFM2.5-VL-450M-Extract/resolve/main/sample_image.png")
fields_yaml = """wood_color: The overall coloration of the wood surface
wood_texture: The tactile quality of the wood surface
wood_pattern: The pattern types visible on the wood surface"""
system_prompt = f"""Extract the following from the image:
{fields_yaml}
Respond with only a JSON object. Do not include any text outside the JSON."""
formatted_prompt = apply_chat_template(
processor,
processor.config,
system_prompt,
num_images=1
)
output = generate(
model,
processor,
formatted_prompt,
image=[image],
max_tokens=512,
temperature=0.0,
verbose=False
)
print(output)
@article{liquidai2025lfm2,
title={LFM2 Technical Report},
author={Liquid AI},
journal={arXiv preprint arXiv:2511.23404},
year={2025}
}