Downloads · 30 days
55
24% of all-time downloads
vectionlabs/Maestro-2-9B-Preview
Maestro-2-9B-Preview is a image-text-to-text model from vectionlabs. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
Downloads · 30 days
55
24% of all-time downloads
All-time downloads
229
Public
Parameters
9.7B
19.3 GB on disk
Likes
10
Public
Click a slice to open those files.
.safetensors19.3 GB · 100%
How the weights are stored.
BF169.7B · 100%
From the Hugging Face model README
Math, code, and deep thinking that can see. Now small enough to actually run.
Vection Labs
Weights · Quickstart · Limitations
</div>Preview release. An early build, published for the people who follow us. This has been trained in parallel with Salience-1.5-Pro, with the same data, but in a smaller model! Bugs you report in the Community tab get fixed in Maestro 2.1.
Maestro 2 is a 9B dense multimodal model built for engineering work you can run on one GPU.
It thinks natively inside <think> blocks, writes and debugs real code, designs frontends that do
not look machine-generated, and reads images, screenshots, diagrams and video as first-class input.
Context window: 262,144 tokens.
It is the successor to Maestro 1 — the most-liked model we have shipped — and it keeps that model idea intact: one small brain that reasons, codes, and sees, rather than three specialists you have to switch between.
<think> reasoning on by default; switch it off with
enable_thinking=False when you want an instant answer.| Parameters | 9.65B dense |
| Modalities | text, image, video -> text |
| Context window | 262,144 tokens native(In version 2.1, the context will be updated to 1M.) |
| Precision | bfloat16 |
| Architecture | Qwen3.5 (dense) + native vision encoder |
| License | Apache-2.0 |
| Library | transformers (AutoModelForImageTextToText) |
Larger MoE siblings: Maestro-2-9B-Preview (35B-A3B) and Salience-1.5-Flash (30B-A3B).
Thinking is on by default — the model reasons inside <think>...</think> before answering, and
serving stacks surface it as reasoning_content. Pass enable_thinking=False to
apply_chat_template for direct answers.
Maestro 2 emits XML-style tool calls (<tool_call><function=...><parameter=...>), parsed
natively by the vLLM and SGLang tool parsers for this model family. Provide schemas through the
chat template tools argument.
from transformers import AutoModelForImageTextToText, AutoProcessor
repo = "vectionlabs/Maestro-2-9B-Preview"
proc = AutoProcessor.from_pretrained(repo)
model = AutoModelForImageTextToText.from_pretrained(repo, dtype="auto", device_map="auto")
messages = [{
"role": "user",
"content": [{"type": "text", "text": "Build a responsive pricing card in React + Tailwind."}],
}]
text = proc.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = proc(text=[text], return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=2048)
print(proc.batch_decode(out[:, inputs.input_ids.shape[1]:], skip_special_tokens=True)[0])
Requires a recent transformers (>= 5.8). Images work the same way with
{"type": "image", "image": ...} content items.
Dense 9B quantizes gracefully, unlike the sparse-MoE tiers of this family:
| quant | size | fits |
|---|---|---|
| Q8_0 | ~10 GB | 12 GB card, best quality |
| Q5_K_M | ~6.5 GB | 8 GB card [recommended] |
| Q4_K_M | ~5.6 GB | 6 GB card, still coherent |
viewBox and a stated grid; it plans geometry before drawing.temperature=0.7, top_p=0.95, top_k=20, presence_penalty=1.1. Lower the
temperature to ~0.3 for precise patches.@misc{vectionlabs2026maestro2,
title = {Maestro 2 Preview: A 9B Multimodal Engineering Model},
author = {Vection Labs},
year = {2026},
url = {https://huggingface.co/vectionlabs/Maestro-2-9B-Preview}
}