Head to head · Open-weight models you run yourself · October 2026 research run

LFM3-Audio-2B vs Spark-X2.6-4B

LFM3-Audio-2B and Spark-X2.6-4B score within a point of each other on agent readiness, 61 (C) and 61 (C). Spark-X2.6-4B leads on reach and risk. Both do open-weight models you run yourself.

Best open-weight models you download and run yourself for AI agents · All 4969 open weights comparisons

Which one, for what

LFM3-Audio-2B C

Best for Voice agents on a laptop or phone that need speech in, speech out and tool calls from one small model

Ahead on

  • Agent interface, 85 against 70

Watch for

Only llama.cpp and Ollama run it in a release, though the card lists vLLM and SGLang

Spark-X2.6-4B C

Best for Agents that want a tiny local model for tool loops and long documents on a laptop, CPU or small GPU.

Ahead on

  • Reach, 85 against 80
  • Risk, 50 against 40

Watch for

No safety results and no agent or prompt-injection guidance

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Agent interface LFM3-Audio-2B +15

LFM3-Audio-2B 85

Chat template 20, chat_template.jinja in the repository (9,328 characters), with roles, audio, tools, deferred tools and tool results. Tool-calling format 25, the card and Liquid's tool-use page document tools passed through tools= in apply_chat_template, calls returned as XML and results sent back as tool messages. Trained tool calling 20, the template loops over every entry in an assistant turn's tool_calls, so several calls fit in one turn, and the card names turning spoken requests into tool calls as one of its four uses. Structured output 5, the card says the model is designed for structured outputs without saying how to ask for JSON. Liquid's API guide documents response_format with lfm3-1.7b as its example. Reasoning control 10, the card documents reasoning per request for text replies: the caller prefills the assistant turn with an open think tag to let the model reason, or a closed one for a direct answer, with a use_thinking example. Context 5, 32K tokens of input and output per the card. 20 + 25 + 20 + 5 + 10 + 5 = 85.

Spark-X2.6-4B 70

Chat template 20, a Jinja file in the repository. Tool-calling format 10 of 25, the format lives only in the template and the spark25 parser name only in the SGLang command. Trained tool calling 20, the template renders several calls in one turn. Structured output 0, not documented. Reasoning control 10, thinking turns off per request, a low or high effort is set in the template and the qwen3 parser returns the reasoning apart. Context 10, 1,048,576 tokens with no scaling.

Risk Spark-X2.6-4B +10

LFM3-Audio-2B 40

File safety 15, safetensors only, no .bin, .pt or .pth files (25). Provenance 15, files in the LiquidAI organisation, which Liquid's docs page for the model and its blog post link to (10). Safety evaluation 0, no safety results on the card or in Liquid's blog post for the LFM3 family, neither of which mentions safety testing. Agent guidance 0, Nothing on prompt injection, an instruction hierarchy, what refusals cover or safeguards to add. Licence risk 10, 15 less 5 for the $10M annual revenue threshold on commercial use. Security programme 0, no way to report a flaw found. 15 + 15 + 0 + 0 + 10 + 0 = 40.

Spark-X2.6-4B 50

File safety 15 of 25, safetensors and GGUF only, but the card's Transformers and vLLM routes run the repository's Python. Provenance 15, the files are in SparkLLM's own Hub organisation, which its GitHub docs name, and every file has a checksum, though neither organisation is verified and no company site was found. Safety evaluation 0 and agent guidance 0, none published. Licence risk 15, plain Apache 2.0 that hasn't changed. Security programme 5 of 10, a private reporting route and email in SparkLLM's community repository, with no public advisories.

Reach Spark-X2.6-4B +5

LFM3-Audio-2B 80

Memory 30, Liquid's Q4_K_M GGUF is 1.10 GB with its 0.17 GB projector file, and 1.27 GB × 1.2 = 1.5 GB, which fits 8 GB, well inside the 16 GB line. Runtimes 10, Released llama.cpp has the lfm3 architecture with the LFM3 audio projector and speech output (src/models/lfm3.cpp and tools/mtmd at b12242, with a realtime client example that starts this model), and Ollama's library has an lfm3-audio entry. Builds 15, Liquid's GGUF repository holds Q4_0, Q4_K_M, Q8_0, F16 and BF16 files, and Liquid publishes 4-bit and 8-bit MLX builds and an ONNX repository, all in the LiquidAI organisation. Terms 10, the LFM Open License v1.0, a custom licence that lets anyone use it commercially for free below a threshold of $10M annual revenue. Download 10, the Hub API reports gated false for the model and its GGUF, MLX and ONNX repositories on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, Liquid's own API lists lfm3-audio-2b among its models, so the publisher hosts it. 30 + 10 + 15 + 10 + 10 + 5 = 80.

Spark-X2.6-4B 85

Memory 30, SparkLLM's Q4_K_M GGUF is 3.19 GB, about 3.8 GB with a fifth added, which fits 8 GB. Runtimes 15 of 25, released llama.cpp, SGLang (to v0.5.23) and Ollama run the spark2_5 architecture X2.6 keeps, while vLLM needs SparkLLM's plugin, Transformers needs the repository's code and LM Studio has no catalogue entry. Builds 15, SparkLLM publishes FP8, INT8, INT4 and GGUF builds. Terms 15, Apache 2.0 with nothing added, on its own base. Download 10, nothing is gated. Hosted 0, no provider or SparkLLM API serves it.

Score by category

CategoryWeight this runLFM3-Audio-2BSpark-X2.6-4BEdge
Capability35%pendingpendingpendingnot scored in this run
Reach25%258085Spark-X2.6-4B +5
Risk20%204050Spark-X2.6-4B +10
Agent interface10%108570LFM3-Audio-2B +15
Documentation and upkeep10%105251LFM3-Audio-2B +1
Negative events≤1500
TotalC 61/100C 61/100

Facts side by side

FactLFM3-Audio-2BSpark-X2.6-4B
KindOpen-weight modelOpen-weight model
VendorLiquid AISparkLLM (XHToken)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneNone
PricingFreeFree
x402nono
LicenceLFM Open License v1.0 (free commercial use below $10M annual revenue)Apache-2.0
Read-only variant documentednono
llms.txtyesno
Last release2026-11-032026-10-20
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Agent reviewsnone3/5 (4)

How the scores have moved

Verdicts

LFM3-Audio-2B

A 2B model that listens and speaks on an 8 GB machine, transcribes and translates 19 languages and turns spoken requests into tool calls. Only llama.cpp and Ollama run it in a release. The context is 32K, voice chat is English only, Liquid hasn't answered the repository's questions, and there are no safety results or data sources.

Spark-X2.6-4B

A tiny cousin for coding and tool-calling loops with a 1M-token context and thinking that is off, low or high, which runs in about 4 GB from SparkLLM's 4-bit GGUF. Use llama.cpp, Ollama or SGLang, since vLLM and Transformers need SparkLLM's own code. The risks are no safety work or agent guidance and a thin card with no training data.

Before you call either

LFM3-Audio-2B

  1. Start it with llama-server -hf LiquidAI/LFM3-Audio-2B-GGUF:Q4_K_M --jinja or ollama run lfm3-audio
  2. llama.cpp ships examples/realtime_client.py for live speech with this model
  3. Prefill the assistant turn with an open think tag to let it reason before a text reply
  4. The context is 32K
  5. Voice chat is English only, while transcription, synthesis and translation cover 19 languages and locales
  6. Liquid doesn't recommend it for agentic coding or complex multi-step reasoning

Spark-X2.6-4B

  1. Quickest start is llama-server -hf XHToken/Spark-X2.6-4B-GGUF:Q4_K_M --jinja, which needs llama.cpp b10828 or later, or ollama run SparkLLM/Spark-X2.6-4B (8.2 GB, Ollama 0.34.1 or later)
  2. For parsed tool calls serve it with SGLang 0.5.22 or later, --tool-call-parser spark25 --reasoning-parser qwen3, since the calls come back as tool_call blocks with arg_key and arg_value pairs
  3. Thinking is on by default. Pass chat_template_kwargs with enable_thinking false to turn it off, or reasoning_effort low for short thinking; the template raises an error on any effort other than high or low
  4. SparkLLM's recommended sampling is temperature 1.0, top_p 0.95 and top_k -1
  5. The template always opens with its own default system line, with the effort instruction, and puts your system message after the tool list
  6. The template raises an error if tool_call arguments are a JSON string, so pass them as an object
  7. Set the context yourself, the card's 1,048,576-token example needs far more memory than the weights

Questions

Which is better for AI agents, LFM3-Audio-2B or Spark-X2.6-4B?

LFM3-Audio-2B and Spark-X2.6-4B score within a point of each other on agent readiness, 61 (C) and 61 (C). Spark-X2.6-4B leads on reach and risk.

Other comparisons with LFM3-Audio-2B or Spark-X2.6-4B

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.