Model reference · open weights

LFM2.5-VL-Extract

Available as managed deployment Licence fee LLMs LiquidAI Vision + text 2 variants 1k dl/mo

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 byLiquidAI
TypeLanguage models
TaskVision + text
Parameters (lead)1.6B
Context125k tokens
Runs withtransformers
Based onLiquidAI/LFM2.5-VL-1.6B
Released2026-05-26
Popularity1k downloads / month
LicenceCommercial licence needed

About

What LFM2.5-VL-Extract is

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;" />

Read the full model card

LFM2.5-VL-1.6B-Extract

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.

⚙️ How it works

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.

  • System prompt:
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.

  • System prompt:
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

🌟 Use cases

  • Detecting safety-critical events in images (e.g. fallen person, fire, leakage) to trigger automated safety systems.
  • Collecting statistical information about objects across video frames for analytics pipelines.
  • Auto-tag product images with structured attributes for Retail/E-commerce.

📄 Model details

PropertyDetail
Parameters (LM only)1.2B
Vision encoderSigLIP2 (~400M, SigLIP-2 paper)
Backbone layershybrid conv+attention
Image inputSingle image, dynamic resolution
Context128,000 tokens
Vocab size65,536 (text)
Precisionbfloat16
LicenseLFM Open License v1.0

📊 Performance

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:

  • JSON Validity — share of samples producing strict-parseable JSON
  • Schema Consistency F1 Score — set-level F1 over predicted vs requested field names, macro-averaged across samples
  • VLM Judge Score — match against the image directly, judged by a separate vision model (Qwen/Qwen3.5-35B-A3B)
ModelParamsJSON ValidityF1 ScoreVLM Judge Score
LFM2.5-VL-1.6B-Extract1.6B99.699.690.6
LFM2.5-VL-1.6B1.6B91.875.866.0
FastVLM-1.5B1.91B87.380.350.9
SmolVLM2-2.2B-Instruct2.25B84.482.964.8
Qwen3.5-2B2.27B97.997.789.7
gemma-4-E2B-it2.3B97.497.184.4
InternVL3_5-2B2.35B99.699.287.7
(ref) Qwen3-VL-4B-Instruct4.44B99.899.792.0
(ref) InternVL3_5-4B4.73B99.599.490.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.

🏃 How to run

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 = processor

From the published model card. Full card on the HuggingFace links in the sidebar.

Using it via the API

Call it like any OpenAI endpoint

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.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms