Image-Text-to-Text
Safetensors
MLX
mlx-vlm
qwen3_vl
vision
multimodal
code-generation
html
design
reinforcement-learning
conversational
Instructions to use divinetribe/AesCode-8B-MLX-bf16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use divinetribe/AesCode-8B-MLX-bf16 with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("divinetribe/AesCode-8B-MLX-bf16") config = load_config("divinetribe/AesCode-8B-MLX-bf16") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use divinetribe/AesCode-8B-MLX-bf16 with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "divinetribe/AesCode-8B-MLX-bf16"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "divinetribe/AesCode-8B-MLX-bf16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent
How to use divinetribe/AesCode-8B-MLX-bf16 with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "divinetribe/AesCode-8B-MLX-bf16"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default divinetribe/AesCode-8B-MLX-bf16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use divinetribe/AesCode-8B-MLX-bf16 with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "divinetribe/AesCode-8B-MLX-bf16"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "divinetribe/AesCode-8B-MLX-bf16" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
|
Download README.md from divinetribe/AesCode-8B-MLX-bf16: direct link, hf CLI and curl.
- Browser
- Download file 6.13 kB
-
https://huggingface.co/divinetribe/AesCode-8B-MLX-bf16/resolve/main/README.md
- Command line
-
hf download hf://divinetribe/AesCode-8B-MLX-bf16/README.md
-
curl -L -o README.md https://huggingface.co/divinetribe/AesCode-8B-MLX-bf16/resolve/main/README.md
6.13 kB
| license: apache-2.0 | |
| base_model: microsoft/AesCode-8B | |
| tags: | |
| - mlx | |
| - mlx-vlm | |
| - vision | |
| - multimodal | |
| - image-text-to-text | |
| - code-generation | |
| - html | |
| - design | |
| - reinforcement-learning | |
| pipeline_tag: image-text-to-text | |
| library_name: mlx-vlm | |
| # AesCode-8B — Vision + Code (bf16, MLX) | |
| Full-precision **bf16** MLX conversion of Microsoft's **AesCode-8B**, with the **vision tower | |
| kept intact** so it reads a design or screenshot and writes the HTML/CSS back on Apple | |
| Silicon. No quantization: every weight is the original bf16. **750 tensors**, 17.5 GB, four | |
| shards. | |
| **This is the full-quality build. Smaller sizes that passed the same vision check: | |
| [8-bit (about half the size, for 16 GB machines)](https://huggingface.co/divinetribe/AesCode-8B-MLX-8bit) | |
| · [4-bit (smallest, for 8 GB machines)](https://huggingface.co/divinetribe/AesCode-8B-MLX-4bit).** | |
| AesCode generates information-rich visual artifacts (slides, posters, dashboards, reports) | |
| as structured, editable, verifiable HTML/CSS. It starts from | |
| [Qwen3-VL-8B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct) and is trained with | |
| cold-start SFT followed by GDPO across seven reward channels, separating semantic | |
| requirements from visual cues through graph-structured supervision and decoupled cross-modal | |
| rewards. | |
| ## What it is | |
| - **Base:** [`Qwen/Qwen3-VL-8B-Instruct`](https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct) (Qwen team). | |
| - **Source checkpoint:** [`microsoft/AesCode-8B`](https://huggingface.co/microsoft/AesCode-8B) (Apache-2.0). | |
| - **Architecture:** `Qwen3VLForConditionalGeneration` — a `qwen3_vl` vision tower feeding the | |
| `qwen3_vl_text` decoder. 8.8B parameters. | |
| - **This repo:** bf16 MLX weights, vision kept, for [`mlx-vlm`](https://github.com/Blaizzy/mlx-vlm). | |
| - **Other sizes:** [8-bit](https://huggingface.co/divinetribe/AesCode-8B-MLX-8bit) · [4-bit](https://huggingface.co/divinetribe/AesCode-8B-MLX-4bit). | |
| ## Running it (MLX) | |
| ```python | |
| from mlx_vlm import load, generate | |
| from mlx_vlm.prompt_utils import apply_chat_template | |
| model, processor = load("divinetribe/AesCode-8B-MLX-bf16") | |
| prompt = apply_chat_template(processor, model.config, | |
| "Rebuild this screenshot as a single HTML file.", num_images=1) | |
| print(generate(model, processor, prompt, image=["design.png"], max_tokens=1024)) | |
| ``` | |
| Text-only works with `num_images=0` and no `image=` argument. | |
| ## Worked vision example — pose-match QC | |
| A real frame from a motion game (a translucent target avatar drawn over a live camera | |
| scene) was fed to this converted bf16 model, asking whether the drawn figure is a correct | |
| human pose and whether any limbs are extra or wrong. The model's unedited on-device answer: | |
| > The translucent avatar shows a standing human pose. Arms are bent at the sides, elbows | |
| > slightly raised, hands near the waist. Legs are straight with knees slightly bent, feet | |
| > flat on the ground. The torso is upright, and the head is centered. No extra limbs or | |
| > reversed joints are visible. Overall, the pose is anatomically plausible for a neutral | |
| > standing position. | |
| This is grounded in the actual pixels: it reads the translucency of the overlay, the single | |
| standing figure, the bent elbows and bent knees, feet flat and head centered, and correctly | |
| answers the core QC question — no extra limbs and no reversed joints. It placed the hands at | |
| the waist rather than up in a full guard, so it is a genuine, imperfect QC read, shown | |
| unedited. The same vision path that reads this frame also reads a design or screenshot and | |
| writes **alt-text** and the **HTML/CSS** back, which is what AesCode is built for. | |
| ## Benchmarks | |
| The single most reputable benchmark that genuinely applies is **AesCode's own evaluation** | |
| from the paper (*AesCode: Aesthetic Code Generation with Decoupled Cross-Modal Rewards*, | |
| [arXiv:2610.18860](https://arxiv.org/abs/2610.18860)): 300 infographic prompts scored on a | |
| programmatic `Rule` track (Text, Bound, Chart) and a `Visual` checklist (Content, Layout, | |
| Style), with `Overall` the mean of the two, averaged over three generations with no | |
| selection. AesCode-8B reaches **Overall 82.94** and **Rule 90.07**, improving Visual over its | |
| reference-conditioned Qwen3-VL-8B backbone by **31.1 points**; the paper reports this 8B | |
| result exceeding the reference-conditioned GPT-5.5 (81.28) and Claude Opus 4.8 (80.39) rows | |
| in the same table. All numbers are quoted from the AesCode paper and model card, not invented. | |
| ## Credits | |
| Enormous thanks to the people whose work this conversion simply repackages: | |
| - **The Microsoft AesCode authors** — Xin Gao, Yifan Yang, Xin Li, Pan Wang, Yan Li, Muzhao | |
| Tian, Mingxi Cheng, Bei Liu, Kai Qiu, Qi Dai, Dong Chen, Yue Dong, Leandros Tassiulas, Rex | |
| Ying, Ji Li, and Chong Luo — who built and released AesCode-8B under Apache-2.0: | |
| [model](https://huggingface.co/microsoft/AesCode-8B) · | |
| [paper](https://arxiv.org/abs/2610.18860) · | |
| [project page](https://microsoft.github.io/AesCode/) · | |
| [code](https://github.com/microsoft/AesCode). | |
| - **The Qwen team** at Alibaba — for the | |
| [Qwen3-VL-8B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct) base and the | |
| Qwen3-VL vision-language architecture. | |
| - **Prince Canuma and the [mlx-vlm](https://github.com/Blaizzy/mlx-vlm) project**, and the | |
| **Apple MLX team**, for the tooling that makes vision-language models run natively on | |
| Apple Silicon. | |
| The conversion to bf16 MLX is the only work done here. All model quality is theirs. | |
| --- | |
| <!-- ccl-frontdoor --> | |
| ## Part of Claude Code Local | |
| This model is one of the fighters in **[Claude Code Local](https://github.com/nicedreamzapp/claude-code-local)** (3.2k★), which runs Claude Code 100% on-device on Apple Silicon through an MLX-native Anthropic-API server. Not sure which local model to run as an agent? Check the **[Agent-12 local agent leaderboard](https://nicedreamzapp.github.io/agent12/)**: real agent tasks, judged by the filesystem, same hardware for every row. | |
| Built by [Matt Macosko](https://github.com/nicedreamzapp) in Humboldt, CA. Open to work on local-AI and Apple Silicon inference: matt@ineedhemp.com. | |