Model reference · open weights
LFM2.5-VL-Extract is an open-weight language model from LiquidAI. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | LiquidAI |
|---|---|
| Type | Language models |
| Task | Vision + text |
| Parameters (lead) | 1.6B |
| Context | 125k tokens |
| Runs with | transformers |
| Based on | LiquidAI/LFM2.5-VL-1.6B |
| Released | 2026-05-26 |
| Popularity | 1k downloads / month |
| Licence | Commercial licence needed |
About
src="https://cdn-uploads.huggingface.co/production/uploads/61b8e2ba285851687028d395/2b08LKpev0DNEk6DlnWkY.png" alt="Liquid AI" style="width: 100%; max-width: 100%; height: auto; display: inline-block; margin-bottom: 0.5em; margin-top: 0.5em;" />
LFM2.5-VL-1.6B-Extract extracts user-defined fields from images and returns them as JSON. It is Liquid AI's first vision model in the Liquid Nanos collection—compact, task-specific models built for production workflows—and extends the Extract family alongside LFM2-1.2B-Extract for text documents.
You specify what to extract as a YAML field list in the system prompt, and the model returns a JSON object with those fields. Structured outputs integrate cleanly with rule-based systems and downstream pipelines. Use it out of the box or fine-tune for domain-specific extraction.
wood_color: The overall coloration of the wood surface
wood_texture: The tactile quality of the wood surface
wood_pattern: The partern types visible on the wood surface
User prompt:
Output:
{
"wood_color": "light tan to beige with darker brown streaks",
"wood_texture": "smooth with visible grain patterns",
"wood_pattern": "wavy, linear, irregular"
}
Our model supports the enum feature, which lets you provide a list of possible choices alongside the field description as follows, and the model will return one of the listed values as its answer.
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 partern types visible on the wood surface, e.g., straight, wavy, or curly
| Property | Detail |
|---|---|
| Parameters (LM only) | 1.2B |
| Vision encoder | SigLIP2 (~400M, SigLIP-2 paper) |
| Backbone layers | hybrid conv+attention |
| Image input | Single image, dynamic resolution |
| Context | 128,000 tokens |
| Vocab size | 65,536 (text) |
| Precision | bfloat16 |
| License | LFM Open License v1.0 |
We evaluated LFM2.5-VL-1.6B-Extract on a 2,000-sample benchmark of
(image, schema, JSON) triples, with reference labels generated by an
ensemble of frontier multimodal models. Predictions are scored on the
following three dimensions:
| Model | Params | JSON Validity | F1 Score | VLM Judge Score |
|---|---|---|---|---|
| LFM2.5-VL-1.6B-Extract | 1.6B | 99.6 | 99.6 | 90.6 |
| LFM2.5-VL-1.6B | 1.6B | 91.8 | 75.8 | 66.0 |
| FastVLM-1.5B | 1.91B | 87.3 | 80.3 | 50.9 |
| SmolVLM2-2.2B-Instruct | 2.25B | 84.4 | 82.9 | 64.8 |
| Qwen3.5-2B | 2.27B | 97.9 | 97.7 | 89.7 |
| gemma-4-E2B-it | 2.3B | 97.4 | 97.1 | 84.4 |
| InternVL3_5-2B | 2.35B | 99.6 | 99.2 | 87.7 |
| (ref) Qwen3-VL-4B-Instruct | 4.44B | 99.8 | 99.7 | 92.0 |
| (ref) InternVL3_5-4B | 4.73B | 99.5 | 99.4 | 90.2 |
LFM2.5-VL-1.6B-Extract outperforms similarly-sized (~2B) open-source VLMs on this benchmark and is competitive with models 2× its size.
Reproducing these numbers: The full evaluation pipeline, which includes extraction, VLM judging, and metric aggregation, is bundled in this repository under model_eval/. Setup, configuration, and run instructions are in the folder's README.
Scope: These numbers characterize the model on the input/output form it is designed for: a single input image, a YAML field list as the schema, and a flat JSON object as the output. Performance is not expected to transfer to vastly different tasks, e.g. multi-image reasoning or free-form VQA.
You can run LFM2.5-VL-1.6B-Extract with Hugging Face transformers v5.1 or newer:
pip install transformers pillow
from transformers import AutoProcessor, AutoModelForImageTextToText
from transformers.image_utils import load_image
model_id = "LiquidAI/LFM2.5-VL-1.6B-Extract"
model = AutoModelForImageTextToText.from_pretrained(
model_id,
device_map="auto",
dtype="bfloat16",
trust_remote_code=True,
)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
image = load_image("https://huggingface.co/LiquidAI/LFM2.5-VL-1.6B-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."""
conversation = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": [{"type": "image", "image": image}]},
]
inputs = processor.apply_chat_template(
conversation,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
tokenize=True,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
response = processorFrom the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys lfm2-5-vl-extract for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (lfm2-5-vl-extract below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/chat/completions \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"lfm2-5-vl-extract","messages":[{"role":"user","content":"Hello"}]}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.