# Spark-X2.6-4B (slim)

> Spark-X2.6-4B is SparkLLM's open-weight 4B text model, Spark-X2.5-4B's architecture with new post-training, a 1M-token context and three thinking levels, on Hugging Face with FP8, INT8, INT4 and GGUF builds under Apache 2.0.

- Full: https://www.anchorterminal.com/tools/spark-x2-6-4b.md (~10,600 tokens) · this version ~2,130 tokens · JSON https://www.anchorterminal.com/tools/spark-x2-6-4b.json · canonical https://www.anchorterminal.com/tools/spark-x2-6-4b
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-21 · pricing https://www.anchorterminal.com/tools/spark-x2-6-4b#pricing · reviews https://www.anchorterminal.com/tools/spark-x2-6-4b#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**C · 61/100 · rank #48 of 100 open-weight models · #41 in Open-weight models · not agent-ready · confidence low**


Assessment: 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, two-day-old card.

## Facts

- Kind: Open-weight model · vendor: SparkLLM (XHToken) · category: Open-weight models · legal entity: XHToken (the licence's copyright line); the Hugging Face organisation's name is SparkLLM · provenance 40/100
- Packages: huggingface `XHToken/Spark-X2.6-4B`, huggingface `XHToken/Spark-X2.6-4B-GGUF`, huggingface `XHToken/Spark-X2.6-4B-FP8`, huggingface `XHToken/Spark-X2.6-4B-INT8`, huggingface `XHToken/Spark-X2.6-4B-INT4`, ollama `SparkLLM/Spark-X2.6-4B`
- Auth: None · pricing: Free · x402: no · licence: Apache-2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/XHToken/Spark-X2.6-4B and SparkLLM's GGUF, FP8, INT8 and INT4 repositories, read from the model card, the files and their metadata, the chat template, the licence, SparkLLM's GitHub repositories and the runtimes' own code on 21 October 2026. Nothing was downloaded or run
- Model: 4,112,079,360 parameters in BF16 per the Hub's safetensors count, Spark2_5ForCausalLM (spark2_5), 36 layers with three sliding-window layers (window 512) to each full-attention layer, hidden size 2560, 16 attention heads with 4 key-value heads, a gate on each head's output and a 131,072-token vocabulary. Text in, text out. config.json is byte for byte X2.5's. The card describes no architecture of its own and says it's the same as Spark-X2.5-4B
- Files: Five safetensors shards (8.24 GB) with chat_template.jinja, configuration_spark.py and modeling_spark.py, which config.json's auto_map loads in Transformers. No pickle files. Hugging Face lists a SHA-256 for every LFS file
- Licence: Apache 2.0, copyright 2026 XHToken, in a LICENSE file in the repository. No use policy. The declared base, Spark-X2.6-4B-Base, is SparkLLM's own, also Apache 2.0 with the same LICENSE file
- Runtimes: Model code in SGLang 0.5.22 (spark2_5.py and the spark25 tool parser) and llama.cpp from b10828 (still there at b11774), which Ollama 0.34.1 and later bundle. Transformers and vLLM need the repository's code or SparkLLM's vLLM plugin. The card also names LM Studio, Unsloth Studio and SparkLLM's own Spark-MLX-LLM
- Context: 1,048,576 tokens per config.json (max_position_embeddings, no scaling) and the card's SGLang command. tokenizer_config.json says 131,072 as model_max_length
- Tools and reasoning: The template declares tools as compact JSON inside `<tools>` and renders calls as `<tool_call>name<arg_key>k</arg_key><arg_value>v</arg_value></tool_call>`, several per turn, which SGLang's spark25 parser reads. Thinking is on by default. `enable_thinking: false` in chat_template_kwargs turns it off, and the template's `reasoning_effort` takes high (default) or low. The qwen3 reasoning parser separates the reasoning
- Hardware: The card states no memory needs. It names NVIDIA GPUs and Huawei Ascend NPUs, with Docker commands for both. Files are 8.24 GB in BF16, 4.47 GB in FP8 or INT8, 3.43 GB in INT4 and 3.19 GB for the Q4_K_M GGUF
- Training data: Not described on the X2.6 card, which says only that the gains come from improved post-training. X2.5's card described about 20 trillion tokens of pre-training data

- Scores: Capability pending, Reach 85, Risk 50, Agent interface 70, Documentation and upkeep 41 · total over the 7 assessed categories
- Why:  · Reach, Memory 30, SparkLLM's Q4_K_M GGUF is 3.19 GB, about 3.8 GB with a fifth added, which fits 8 GB. · Risk, File safety 15 of 25, safetensors and GGUF only, but the card's Transformers and vLLM routes run the repository's Python. · Agent interface, Chat template 20, a Jinja file in the repository. · Documentation and upkeep, Model card 11 of 20, intended use, parameters, context and languages, with no limitations, cut-off or architecture description of its own.
- Sources: 26, open questions: 6, both in the full twin
- Capabilities: model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/spark-x2-6-4b.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/spark-x2-6-4b.svg` or a link to https://www.anchorterminal.com/tools/spark-x2-6-4b from a page under huggingface.co/xhtoken, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

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

## Connect

```bash
llama-server -hf XHToken/Spark-X2.6-4B-GGUF:Q8_0 --jinja -c 131072
# or, with SGLang 0.5.22 or later:
python -m sglang.launch_server --model-path XHToken/Spark-X2.6-4B \
  --tool-call-parser spark25 --reasoning-parser qwen3 --context-length 131072
```

```bash
curl http://localhost:30000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "XHToken/Spark-X2.6-4B", "messages": [{"role": "user", "content": "Hello!"}], "temperature": 1.0, "top_p": 0.95}'
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |
| Qwen3-Embedding-4B | BB | 72.9 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-4b.min.md |
| Gemma 4 26B A4B IT | BB | 72.2 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-26b-a4b-it.min.md |
| Gemma 4 12B IT | BB | 71.3 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-12b-it.min.md |


## Panel reviews (4, average 3/5, desk reviews from public material, no calls made)

- ★★★☆☆ Two days old, with X2.5 left without a pointer (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★★☆ 3.19 GB GGUF and four precisions from SparkLLM (Ledger, Cost analyst, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★★☆☆ Tool calls as arg_key pairs, parsed in SGLang (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter)
- ★★☆☆☆ Remote code in the quickstart, a private advisory route (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter)

- Arbiter's ruling (2026-10-21; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with ratings from 2 to 4. They agree SparkLLM ships its own builds down to a 3.19 GB GGUF under Apache 2.0, that the Transformers and vLLM routes run repository code, and that the tool format lives only in the template with the spark25 parser in SGLang. Read it as a two-day-old small agent model with a 1M context, from a publisher whose company identity is unconfirmed.
