alt.freeweights.text / AesCode-32B
From: microsoft <huggingface.co/microsoft>Newsgroups: alt.freeweights.textSubject:

AesCode-32B

Date: 2026-11-15Commit: 3f9157fSigned: 2DC28CC7B26A283B ✓

Image text to text model with 33.4B parameters. Safetensors weights, 66.7 GB in all. Published by microsoft under Apache-2.0.

33.4B params66.7GBAesCode-32Bsafetensorspermissive
FactsParams33.4BSize66.7 GBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get microsoft/AesCode-32B
# manifest sha256 f1cdae42f4fa… · 66.7 GB · 29 files
$ fw verify ./AesCode-32B microsoft/AesCode-32B
From sourceHosted (signed)microsoft/AesCode-32BLast check: 2026-11-15 03:33 UTC

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

Fine-tune of Qwen3-VL-32B-Instruct.

Runs withAIBrixBentoMLCTranslate2ExLlamaV2ExLlamaV3exofastllmFlashInferKTransformersLitServeLMCacheLMDeployLocalAImistral.rsMLC LLMMooncakeSGLangText Generation WebUItinygradTransformersTriton Inference ServervLLMXinferenceFine-tune withAccelerateAlignment HandbookAxolotlColossal-AIDeepSpeedEasyR1FlashAttentionH2O LLM StudioJAXKerasLiger KernelLitGPTLLaMA-FactoryMegatron-LMms-swiftnanotronOLMo-coreOpenRLHFOumiPEFTPyTorch Lightningsd-scriptsSimpleTunerTorchTitantorchtuneTransformer EngineTRLUnslothverlConvert withAQLMAutoRoundCore ML ToolsExecuTorchGPTQModelLLM CompressormergekitNeural CompressorOliveONNXOptimum QuantoOptimumsafetensorsTensorRT Model OptimizertorchaoEvaluate withAutoevalsDeepEvalEvaluateHELMLightEvallm-evaluation-harnessOpenCompassOpikRagassimple-evalsSWE-benchTruLensWeaveScan withAgentDojoAI Fairness 360DeepTeamDetoxifyFairlearngarakGiskardGuardrailsMCP ScannerModelScanNeMo GuardrailspicklescanpromptfooWorks withAgent Development KitAG2Google AI Edge GalleryAiderany-llmAnythingLLMBAMLbrowser-useCAMELHugging Face Chat UIChatboxCherry StudioClineCodex CLICogneeCrewAIDeerFlowdocTRDSPyEasyOCREnchantedGemini CLIGitHub MCP ServergooseGPT ResearcherGradioGraphitiGuidanceHollamaInstructorKilo CodeLangflowLangGraphLiteLLMLlamaIndexLLMLocalAGILoLLMs WebUIMCP Python SDKMem0MetaGPTNextChatOllama JavaScriptOllama PythonolmOCROpenAI Agents SDKopencodeOpenHandsotermOutlinesPage AssistPlaywright MCPPortkey AI GatewayPrivateGPTQwen CodeRWKV RunnerSemantic KernelsmolagentsStrands AgentsSuryaVaneXGrammar

Overview

Size
66.7 GB
Weights
66.7 GB (safetensors)
Parameters
33.4B
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
29, each with a sha256
Publisher
microsoft
Added
2026-11-15
Section
alt.freeweights.text
Lineage

Original release from the publisher.

Base model: Qwen/Qwen3-VL-32B-Instruct

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 03:33 UTCpassed

Model card

From the publisher at commit 3f9157f. Shown as plain text with links; images open at the publisher.

AesCode-32B#

AesCode generates information-rich visual artifacts such as slides, posters, and dashboards as HTML/CSS. The output remains structured, editable, and verifiable, but the task poses a distinct challenge: code models cannot see how layout, hierarchy, and color come together on the canvas.

Image generators offer the opposite strength. They compose visually compelling pages but often misrender text, numbers, and logical relationships. AesCode uses an image generated from the same prompt as an aesthetic reference while following the prompt for the required content.

Reference input alone does not solve the problem. Off-the-shelf vision-language models may copy hallucinated content or ignore the reference layout. AesCode separates semantic requirements from visual cues through graph-structured supervision and decoupled cross-modal rewards.

AesCode-32B starts from Qwen3-VL-32B-Instruct and is trained with cold-start SFT followed by GDPO across seven reward channels. It is the larger released checkpoint and leads the aggregate benchmark results.

Image: Infographics generated as editable HTML and CSS by AesCode

Intended Use#

AesCode is designed to generate information-rich visual artifacts as structured HTML/CSS. It is suited for creating editable slides, posters, dashboards, and reports, as well as for research on multimodal code generation and verifiable visual design.

Results#

We evaluate on 300 infographic samples. Rule averages the programmatic Text, Bound, and Chart checks. Visual averages the Content, Layout, and Style checklist dimensions. Overall is the mean of Rule and Visual. Scores are percentages averaged over three generations per prompt with no selection.

Ref. indicates whether the model receives an image-generated reference together with the prompt. Bold marks the best score in each column and underline the second best.

ModelRef.TextBoundChartRuleContentLayoutStyleVisualOverall
GPT-5.5No88.6786.1882.8585.9079.2768.0952.8066.7276.31
GPT-5.5Yes89.2286.8581.3585.8082.4489.9357.9176.7681.28
Claude Opus 4.8No91.4085.0387.6988.0484.9864.8846.7265.5376.78
Claude Opus 4.8Yes92.4584.4373.7583.5586.4289.7655.5177.2380.39
Qwen3-VL-8BNo58.3277.2343.3059.6138.3323.9713.2225.1742.39
Qwen3-VL-8BYes64.0770.9942.3559.1452.9051.3329.9244.7251.93
Qwen3-VL-32BNo66.0080.3141.3662.5549.8134.8519.3434.6748.61
Qwen3-VL-32BYes71.1979.6150.7767.1962.0464.5938.4355.0261.10
AesCode-8BYes94.0688.3687.7990.0786.4187.8053.2175.8082.94
AesCode-32BYes95.3497.2790.3794.3385.7690.5855.9977.4485.89

AesCode-32B improves Visual over its reference-conditioned Qwen3-VL-32B backbone by 22.4 points and Overall by 24.8. It leads the comparison on Overall at 85.89 and reaches Rule 94.33, compared with 85.90 for GPT-5.5 and 88.04 for Claude Opus 4.8.

Two results stand out. Table/Chart at 90.37 leads all models: requiring tables to use HTML table structures and charts to use ECharts constrains the solution space to executable, directly verifiable implementations. Boundary at 97.27 reflects a sharp reduction in canvas overflow: a severe boundary failure recurs on 4.3% of the 300 samples, against 34.7% for GPT-5.5.

Style is the shared ceiling for every system. It awards credit only when a design needs no further visual revision before delivery, and no model clears 60.

Usage#

The model follows the Qwen3-VL chat interface and requires transformers>=4.57. Supply a detailed content prompt and, when available, a reference image for layout and style guidance. The weights are bf16; plan for roughly 65 GB of accelerator memory for the parameters alone.

from transformers import AutoProcessor, AutoModelForImageTextToText

model_id = "microsoft/AesCode-32B"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id, dtype="auto", device_map="auto"
)

messages = [{
    "role": "user",
    "content": [
        {"type": "image", "image": "reference.png"},
        {"type": "text", "text": "<your content prompt>"},
    ],
}]

inputs = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt",
).to(model.device)

out = model.generate(
    **inputs, do_sample=True, temperature=0.8, top_p=0.95, max_new_tokens=12000
)
print(processor.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

For batched generation, serve with vLLM and allow two images per prompt:

vllm serve microsoft/AesCode-32B --tensor-parallel-size 4 \
  --limit-mm-per-prompt image=2 --max-model-len 24576

Reported scores use three rollouts per prompt at temperature 0.8, top-p 0.95, up to 12,000 output tokens and a 24,576-token context.

The model emits a complete HTML document. Tables use HTML table structures and charts use ECharts specifications, keeping both directly inspectable and verifiable.

The reference image is optional. Reference-conditioned training internalizes visual planning into the policy. Measured on AesCode-8B, withholding the reference at inference costs only 1.00 Visual point, against 19.55 for the Qwen3-VL-8B-Instruct backbone and 10.04 for GPT-5.5. Quality is still highest when a reference is supplied.

The repository provides the training prompt template and a pipeline that turns a short idea into the prompt and reference pair the model expects.

Training#

Cold-start SFT. 3,000 demonstrations at learning rate 1e-5.

Reinforcement learning. GDPO over 7,408 prompts for 520 steps, using verl's FSDP-vLLM hybrid engine with no critic and no separately trained reward model. AdamW at a constant 5e-6, no warmup, weight decay 0.01, 128 prompts per step with 8 rollouts each, KL and entropy coefficients both 0.001, rollout temperature 1.0 and top-p 1.0, prompt and response each capped at 8,192 tokens. AesCode-8B uses the same recipe and a shorter 400-step run.

The reward is not a single scalar. Each target is represented as a design graph describing the whole canvas, which makes every property individually attributable. From that graph come two complementary reward families: deterministic verifiers score the properties parsable from the code and its rendering, while a VLM judge scores the non-parsable ones using a sample-specific Visual Graph Rubric tied to the graph's elements and relations. These form seven channels: execution, text, boundary, tablechart, layout, whitespace, and design. Each is normalized within its rollout group before aggregation, so a dominant signal cannot drown out a weaker one.

Candidate HTML is scored by rendering it in a sandboxed Playwright browser with external requests blocked, which exports the DOM, computed styles, bounding boxes, console status and a screenshot.

Training code, the verifier stack and the Visual Graph Rubric builder are released at https://github.com/microsoft/AesCode.

Citation#

@article{gao2026aescode,
  title   = {AesCode: Aesthetic Code Generation with Decoupled Cross-Modal Rewards},
  author  = {Gao, Xin and Yang, Yifan and Li, Xin and Wang, Pan and Li, Yan and Tian, Muzhao and Cheng, Mingxi and Liu, Bei and Qiu, Kai and Dai, Qi and Chen, Dong and Dong, Yue and Tassiulas, Leandros and Ying, Rex and Li, Ji and Luo, Chong},
  journal = {arXiv preprint arXiv:2610.18860},
  year    = {2026}
}

License#

Released under the Apache 2.0 license, following the Qwen3-VL backbone.

Files

29 files · 66.7 GBWeights 66.7 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 29 files with their sha256
FileSizesha256
.gitattributes1.75 KB1e5df5e9b850e0896f69f7e46ef9af0e011e489efc8c3bfcc87f2cc26a43d9a4
README.md8.76 KB10ccdc2a1b2f3fb7c9fd112bb74d613e9e071b3b198f7234671e0899d41ee207
added_tokens.json707 Bc0284b582e14987fbd3d5a2cb2bd139084371ed9acbae488829a1c900833c680
assets/teaser.png400 KB334db1958d6e1b2a4a341e8a00e5c9fbceb09617dba58b3cd5e639db9b67f34a
chat_template.jinja5.29 KB3636d0f0bd6bef02654cdffdc447b79cb2cef8ab02cc75267345946291a489e4
config.json1.59 KBad0bb42428d1d5173f872953da0bbf9b4c93fe0fdd9e3a89588a546b8e920686
generation_config.json199 B73047766b236c16f95f1205f5f3bb14680e85e2c6be0f99fc18232cf8ec7a7eb
merges.txt1.67 MB8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
model-00001-of-00014.safetensors4.83 GBf096ff01ecffb2a96dee446801b59e21e33c8a3dda29c314a49a6762d2e33490
model-00002-of-00014.safetensors4.85 GBc36b59eaf48f9e14a3f3a9b5d647a1d44a8661be786989555c5edb4ad66d47df
model-00003-of-00014.safetensors4.79 GBb76cb799311be6876a36183d96dbae5320a5b1751c51399fdc13e24e0b561455
model-00004-of-00014.safetensors4.77 GBac8273d8f93e500c78fa4e27b6d60dace2c98d5fd3c6cb9242950080aca02be8
model-00005-of-00014.safetensors4.94 GB859106c3590fdb2706473ea58253672d7615495edb03b70c35ef5c77a3f07666
model-00006-of-00014.safetensors4.79 GBe96450199152209ef2df95ba39e45a2fc93246f988a9284a889bd6d6bd6b04dd
model-00007-of-00014.safetensors4.91 GB190ad923d23428b3e58f64280218115b4e03cd9dbd7d1ff17ef873f1b73bdcfd
model-00008-of-00014.safetensors4.89 GB19c91cdba699f542e9f9138d67aef551dce714f3e1fdbbc35c01854d3f88661a
model-00009-of-00014.safetensors4.96 GBb4cc0893c72446ecca27cadb2281ad4bb7285d1ddd6f38c0543587ba8bbace86
model-00010-of-00014.safetensors4.88 GB4f538182c7f86e9b380cda58cf312dbcce9bdb899a22b96075c987622c768c55
model-00011-of-00014.safetensors4.80 GB24f1f528df546bd8668eecd0e4762b7c00f2ef5a66d01a60bab0fb7181cfabda
model-00012-of-00014.safetensors4.89 GBfb72d6b075701797e1c584a302339ead83b11059ba28b5b4d253dfb05a0815ee
model-00013-of-00014.safetensors4.87 GB53fb8de9a201957c864760d35dbbfba3f03db5e53e493f33de57705a8bd97aa9
model-00014-of-00014.safetensors3.52 GB5da571f128c9a78f749c240ac38a07cac1533bf0eb356a4c1a97e4f5acc5ba2e
model.safetensors.index.json97.9 KBf1cfa08116b6a416823f293462a52c988a946ec5a7c8066717ac49be4ea781b5
preprocessor_config.json782 B93585062a80db5e8ca038efc7726a3e6411d9db948472d81d63c6303993be8c5
special_tokens_map.json613 B76862e765266b85aa9459767e33cbaf13970f327a0e88d1c65846c2ddd3a1ecd
tokenizer.json11.4 MBaeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
tokenizer_config.json5.47 KBcf43a5bf1a49ee69ecced02f419b169e72559034dcf15af47cf775bd253830f0
video_preprocessor_config.json817 B59c5c9eb52182eb14c06ffb10ca9effd29adce5f238a95de23ca14a38dbd2cb1
vocab.json2.78 MBca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
3f9157f331 pinned now2026-11-15 03:33 UTC29 files · 66.7 GB

Use it

$ fw get microsoft/AesCode-32B
# manifest sha256 f1cdae42f4fa… · 66.7 GB · 29 files
$ fw verify ./AesCode-32B microsoft/AesCode-32B
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/microsoft/AesCode-32B.json --dir ./AesCode-32B $ python3 fw.py verify ./AesCode-32B ./microsoft__AesCode-32B.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download microsoft/AesCode-32B --revision 3f9157f331c574b470149ddd88e67d5bd13481f8 --local-dir ./AesCode-32B
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("microsoft/AesCode-32B", revision="3f9157f331c574b470149ddd88e67d5bd13481f8") model = AutoModelForImageTextToText.from_pretrained("microsoft/AesCode-32B", revision="3f9157f331c574b470149ddd88e67d5bd13481f8", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve microsoft/AesCode-32B --revision 3f9157f331c574b470149ddd88e67d5bd13481f8

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
10ccdc2a1b2f3fb7c9fd112bb74d613e9e071b3b198f7234671e0899d41ee207
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: microsoft <huggingface.co/microsoft>Newsgroups: alt.freeweights.textSubject: AesCode-32BDate: 2026-11-15Commit: 3f9157fSigned: 2DC28CC7B26A283B ✓
Upstream
microsoft/AesCode-32B
Pinned commit
3f9157f331c574b470149ddd88e67d5bd13481f8
Manifest
AesCode-32B.json · .minisig
Manifest sha256
f1cdae42f4faf5f40fcfcf2006c00d901cf07b56ceeae680011bc9fda5584abc
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:33 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/microsoft/AesCode-32B.json $ curl -O https://freeweights.allternit.com/manifests/microsoft/AesCode-32B.json.minisig $ minisign -Vm AesCode-32B.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

Qwen/Qwen3-VL-32B-Instruct · this model is a finetune of it

1 model in the catalog name this one as their parent.

Quantizations
1
Quantizations 1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download microsoft/AesCode-32B
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. AesCode-32B.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of AesCode-32B. Each has its own license check and page.

From: laion <huggingface.co/laion>Subject: a2-rl-e2egit_large-50-32B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-large-15-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_e2egit-v2-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_pymethods2test-large-80-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_exp_rpt_unitsyn-python-large-10-8B
From: laion <huggingface.co/laion>Subject: a3-rl-DCAgent_mix_h2_language_proportional-65-8B