alt.freeweights.qwen / Qwen3.5-4B-3D-Coder-OptiQ-4bit
From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.qwenSubject:

Qwen3.5-4B-3D-Coder-OptiQ-4bit

Date: 2026-11-15Commit: 4d50ce8Signed: 2DC28CC7B26A283B ✓

Text generation model with 4.2B parameters. Safetensors weights, 3.96 GB in all. Published by mlx-community under Apache-2.0.

4.2B params3.96GBQwen3.5-4B-3D-Coder-OptiQ-4bitsafetensorspermissive
FactsParams4.2BSize3.96 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit
# manifest sha256 68df4136e9fd… · 3.96 GB · 24 files
$ fw verify ./Qwen3.5-4B-3D-Coder-OptiQ-4bit mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit
From sourceHosted (signed)mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bitLast check: 2026-11-15 05:06 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of Qwen3.5-4B-3D-Coder.

Works with

Overview

Size
3.96 GB
Weights
3.94 GB (safetensors)
Parameters
4.2B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
24, each with a sha256
Publisher
mlx-community
Added
2026-11-15
Section
alt.freeweights.qwen
Lineage

Original release from the publisher.

Base model: ccore/Qwen3.5-4B-3D-Coder

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:06 UTCpassed

Model card

From the publisher at commit 4d50ce8. Shown as plain text with links; images open at the publisher.

mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit#

Built with mlx-optiq, the MLX-native toolkit to quantize, fine-tune, and serve LLMs locally on Apple Silicon, no PyTorch and no cloud. Try the Lab · All OptiQ quants · Docs

A 4-bit mixed-precision MLX quant of ccore/Qwen3.5-4B-3D-Coder, a Qwen3.5 4B fine-tune that writes 3D scenes and assets as single-file Three.js HTML. It runs at about 26 tokens/s on a 24 GB M4, with peak memory between 4 and 6 GB.

Generated by this quant#

Every asset below was written by this quant on an M4, then opened in a browser. The code is unedited, and the HTML is in examples/ so you can open each one and orbit it yourself.

These are hand-picked from 18 attempts, not a typical sample. See What to expect for how the rest went.

Image: Stone golem boss, frontImage: Stone golem boss, turned
Stone golem boss (HTML), 10,771 tokensSame golem, turned on its turntable
Image: Pirate deck cannonImage: Three potion bottles on a tray
Pirate deck cannon (HTML), 14,269 tokensPotion set (HTML), 12,802 tokens
Image: Voxel swamp goblinImage: Castle guard tower
Voxel swamp goblin (HTML), 20,079 tokensCastle guard tower (HTML), 14,070 tokens

They aren't flawless. The potions have no visible corks, the goblin's ears are flat from the side, and the tower's battlements are oversized.

Prompts and settings

System prompt, from the model's author:

Use only the Three.js core ES module from
https://cdnjs.cloudflare.com/ajax/libs/three.js/0.160.0/three.module.min.js.
Do not import addons or legacy examples/js paths;
implement any camera controls directly inside the HTML.

Settings: temperature 0.6, top_p 0.95, top_k 20, no repetition penalty, max_tokens 64000, thinking on, seeded.

Golem: Please create one self-contained HTML file with Three.js from cdnjs showing a stone golem boss with glowing green crystals growing from its shoulders. Make it a single game-ready asset: centred on a plain ground plane, a clear readable silhouette, built from separate named meshes, slowly turning on a turntable, with mouse orbit controls.

Cannon: Please create one self-contained HTML file with Three.js from cdnjs showing a pirate deck cannon on a wooden carriage with a stack of cannonballs. Make it a single game-ready asset: centred on a plain ground plane, a clear readable silhouette, built from separate named meshes, slowly turning on a turntable, with mouse orbit controls.

Potions: Please create one self-contained HTML file with Three.js from cdnjs showing a set of three potion bottles, red, blue and green, with corks, on a small wooden tray. Make it a single game-ready asset: centred on a plain ground plane, a clear readable silhouette, built from separate named meshes, slowly turning on a turntable, with mouse orbit controls.

Voxel goblin: Please create one self-contained HTML file with Three.js from cdnjs showing a swamp goblin enemy with big ears, a leather vest and a spiked wooden club. Render it as a deliberate 3D voxel model built from visible cubic blocks, with clear depth, readable silhouettes, and solid spatial relationships. Make it a single game-ready asset centred on a plain ground plane, slowly turning on a turntable, with mouse orbit controls.

Tower: Please create one self-contained HTML file with Three.js from cdnjs showing a medieval castle guard tower module with battlements, a wooden door and a flag waving at the top. Make it a single game-ready asset: centred on a plain ground plane, a clear readable silhouette, built from separate named meshes, slowly turning on a turntable, with mouse orbit controls.

What to expect#

Out of 18 attempts across 10 asset prompts and 8 voxel prompts:

OutcomeCount
Rendered in the browser11
Crashed on load3
Reasoning looped until the 64k token cap, no HTML4
  • An asset takes minutes. The ones that finished ran 10,000 to 22,000 tokens, or 7 to 14 minutes, most of it reasoning. Set max_tokens high. A 20k cap cut off one run that wasn't stuck.
  • Set a cap anyway. All four loops came from voxel prompts, and each ran about 53 minutes before hitting the cap.
  • Rendering doesn't mean it looks right. Some that rendered had floating parts or broken animation, and those were left out of the picks above.
  • The crashes were small code errors. One was a duplicate variable name, which the author lists as a known issue.

No attempts were run on the parent model, so this card makes no claim about how these rates compare with it.

Quantization details#

PropertyValue
Predominant precision4-bit
Layers at 8-bit76
Layers at 4-bit173
Group size64
Vision towerbf16, in optiq_vision.safetensors
Size on disk3.7 GB, including the vision tower
MTP headNone; the source model doesn't ship one, so --mtp isn't available

How the bit-widths were chosen#

The per-layer allocation was not measured on this model. It was transferred from mlx-community/Qwen3.5-4B-OptiQ-4bit, whose allocation came from a KL-divergence sensitivity pass over a six-domain calibration mix.

The two models share an architecture, so each layer in that recipe has a counterpart with the same role and shape. All 249 tensors matched, with none unmatched.

Sensitivity measures how much a layer's role in the architecture suffers from precision loss. It can't tell whether this fine-tune's training moved that sensitivity. To measure the allocation against the model itself, run optiq convert.

What was verified#

  • 249/249 tensors matched the recipe, 0 unmatched.
  • 18 generation runs, with each result opened in headless Chromium and checked for script errors and a drawn canvas.
  • Text and image input, both loaded directly and through optiq serve.
  • OptiQ's release contract.

Not run for this model: the six-metric Capability Score. The published scores for the Qwen3.5-4B quant describe that model, not this one, and are not claimed here.

Use it#

pip install mlx-optiq
optiq serve --model mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit

Or with mlx-lm directly, for text only:

from mlx_lm import generate, load
from mlx_lm.sample_utils import make_sampler

SYSTEM = """Use only the Three.js core ES module from
https://cdnjs.cloudflare.com/ajax/libs/three.js/0.160.0/three.module.min.js.
Do not import addons or legacy examples/js paths;
implement any camera controls directly inside the HTML."""

model, tokenizer = load("mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit")
prompt = tokenizer.apply_chat_template(
    [{"role": "system", "content": SYSTEM},
     {"role": "user", "content": "Please create one self-contained HTML file with Three.js from cdnjs showing a stone golem boss with glowing green crystals growing from its shoulders."}],
    add_generation_prompt=True, tokenize=False)
print(generate(model, tokenizer, prompt=prompt, max_tokens=64000,
               sampler=make_sampler(temp=0.6, top_p=0.95, top_k=20)))

The author recommends temperature 0.6 to 0.8, top_p 0.90 to 0.95, top_k 20 to 40, and repeat penalty 1.0.

The per-layer bit map is in optiq/metadata.json and in the quantization block of config.json.

Files

24 files · 3.96 GBWeights 3.94 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 24 files with their sha256
FileSizesha256
.gitattributes1.92 KBd415d392e4475016e6c9f4a469ebcfb1a461819bdb3b33f4c9dfc59985c4b96d
README.md8.16 KB6d5b824dd884b4420baf26949485179bcdab330f4712c5082497f82368dc9915
chat_template.jinja7.76 KBa4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715
config.json55.5 KBd3fdedc66f96da7def1496aa62fbefcced1ff315c82bbe8fdd829c77ecba62af
examples/cannon.html20.1 KB83a8975a97712f7f28fd1ec0abc6a8b94817795eb3087c1674100ed151004deb
examples/cannon.png318 KBb442fb64e179b5dc309571e946d57e8c96291dbf9a48e9273730545a654c26d8
examples/golem-front.png146 KBc623308412a9b6debe1d2715680c82d290d1780784b719bc92a27ef91bd6be8d
examples/golem-side.png159 KB93d36a3d426414c651bb26f5b93caac7f2dfc21c25433b3be8c6282d0ca4f85d
examples/golem.html23.0 KB936c903e830c482f56627e29a17b763cc42ac0e09b6bdf40d116570c7874089f
examples/potions.html17.3 KB5b66a19135cbc67ccaa5b38240756ae9e1a97cacd07c5559159db531c9c8af18
examples/potions.png432 KB389329a2dd20b18079a1a3b765b65f128ba5b604112f46071858e121091d79a2
examples/tower.html18.5 KBa80b0a7f8ebb2b472c7cb11eea45e28a44cb9bceec89af15399565dc9816c38e
examples/tower.png119 KB983078bf7a23f6a7b2bddef8b3bc6364802850541cd3bf881fbddc96c45c13e3
examples/voxel-goblin.html20.7 KB678b19408549ef6856e24ead3192cca6e08deba31b9f2314fc40fc0c446088eb
examples/voxel-goblin.png376 KB9d72852e4e3e71b46f00eddd84e230164969a6a5993ccb40cd46dfaa320afc41
generation_config.json268 B929a389efa8f9418c4d6eb6d916571da62784230c1b3d9e87bccd203bb3655a6
model.safetensors3.27 GB62c4b438c6db8f1bf64c00921e8adace8320f8006fa2fafb57d3b85d8fdb2236
model.safetensors.index.json99.2 KB432b956876a081ea214a4e30843902d904e60f71321ebda99234d3664bbafa78
optiq/metadata.json26.6 KB39c94913f783733e38e7f671f6984e7a014a9a18d9f41ff28b12df7e6f91f96a
optiq_vision.safetensors667 MB42050bc54d09bda97bf0f70f20597280b57f697f3727b3b0d9f981e1127c83e7
preprocessor_config.json390 B27225450ac9c6529872ee1924fcb0962ff5634834f817040f444118116f4e516
tokenizer.json20.0 MBa5cd9732badce41de57e6efce8302930ded1c1188c5f81feb2bd6c24c4a1941f
tokenizer_config.json1.50 KB4d2fc7899270dc76b57a7aa1d5ec3234e6a25934c6e2aea6166f989f1d453892
video_preprocessor_config.json385 B7768af27c1fafa9cc9011c1dc20067e03f8915e03b63504550e11d5066986d13
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
4d50ce8223 pinned now2026-11-15 05:06 UTC24 files · 3.96 GB

Use it

$ fw get mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit
# manifest sha256 68df4136e9fd… · 3.96 GB · 24 files
$ fw verify ./Qwen3.5-4B-3D-Coder-OptiQ-4bit mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit.json --dir ./Qwen3.5-4B-3D-Coder-OptiQ-4bit $ python3 fw.py verify ./Qwen3.5-4B-3D-Coder-OptiQ-4bit ./mlx-community__Qwen3.5-4B-3D-Coder-OptiQ-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit --revision 4d50ce8223fe0f866c1e2ecf2f1ee56e3d4598ca --local-dir ./Qwen3.5-4B-3D-Coder-OptiQ-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit", revision="4d50ce8223fe0f866c1e2ecf2f1ee56e3d4598ca") model = AutoModelForCausalLM.from_pretrained("mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit", revision="4d50ce8223fe0f866c1e2ecf2f1ee56e3d4598ca", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit --revision 4d50ce8223fe0f866c1e2ecf2f1ee56e3d4598ca

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
6d5b824dd884b4420baf26949485179bcdab330f4712c5082497f82368dc9915
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.qwenSubject: Qwen3.5-4B-3D-Coder-OptiQ-4bitDate: 2026-11-15Commit: 4d50ce8Signed: 2DC28CC7B26A283B ✓
Upstream
mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit
Pinned commit
4d50ce8223fe0f866c1e2ecf2f1ee56e3d4598ca
Manifest
Qwen3.5-4B-3D-Coder-OptiQ-4bit.json · .minisig
Manifest sha256
68df4136e9fdf84b1f210e80ddfd4115fc6ddc29fbc7e746e1b499cf5d56b2eb
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:06 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit.json $ curl -O https://freeweights.allternit.com/manifests/mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit.json.minisig $ minisign -Vm Qwen3.5-4B-3D-Coder-OptiQ-4bit.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

ccore/Qwen3.5-4B-3D-Coder · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/Qwen3.5-4B-3D-Coder-OptiQ-4bit
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Qwen3.5-4B-3D-Coder-OptiQ-4bit.json. Provenance. Takedown history: none.
From: BAAI <huggingface.co/BAAI>Subject: Aquila-VL-2B-llava-qwen
From: Perciqa <huggingface.co/Perciqa>Subject: Aurora-Code-1
From: BAAI <huggingface.co/BAAI>Subject: bge-reasoner-embed-qwen3-8b-0923
From: amazon <huggingface.co/amazon>Subject: BMOJOF-primed-HQwen3-8B-Instruct
From: nbeerbower <huggingface.co/nbeerbower>Subject: Bubba-Qwen3.6-27B-LoRA
From: bartowski <huggingface.co/bartowski>Subject: bytkim_Qwen3.8-27B-pi-GGUF