Downloads · 30 days
21
16% of all-time downloads
PatronusAI/Qwen3.8-27B-Figmatrace-SFT
Qwen3.8-27B-Figmatrace-SFT is a image-text-to-text model from PatronusAI. 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 cc-by-4.0.
A 27B vision-language GUI agent, produced by full-parameter supervised fine-tuning of Qwen/Qwen3.8-27B on FigmaTrace which contains 3,469 trajectories distilled from 200+ hours of screen-recorded expert Figma work. Tr…
Downloads · 30 days
21
16% of all-time downloads
All-time downloads
133
Public
Parameters
27.4B
54.7 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors54.7 GB · 100%
From the Hugging Face model README
A 27B vision-language GUI agent, produced by full-parameter supervised fine-tuning of
Qwen/Qwen3.8-27B on FigmaTrace which contains
3,469 trajectories distilled from 200+ hours of screen-recorded expert Figma work. Training on
in-domain design workflows transfers out of domain: the model beats its base checkpoint on six of the
seven benchmark configurations and outscores both closed frontier baselines on two of them.
FigmaTrace converts expert design sessions into agent trajectories using design phase-based segmentation rather than fixed-length sharding. This model is the best-performing arm of that study. It predicts the next GUI action from a screenshot plus an instruction, emitting Playwright-MCP-style tool calls with norm-1000 coordinates (both axes scaled to 0–1000, not raw pixels).
qwen3_5, Qwen3_5ForConditionalGeneration)Qwen/Qwen3.8-27B base model; see that repository for terms. Training data is released under CC-BY-4.0.Next-action prediction for GUI and design agents: given a screenshot and a task instruction, the model returns the tool call to execute. It was trained on Figma workflows but evaluated out of domain on mobile, web, and desktop navigation, and generalizes to all three.
A starting checkpoint for further SFT or RL on computer-use tasks, or a base for design-specific agents (component construction, layout blocking, theming, accessibility remediation).
Failure modes below come from a manual inspection of every item where fine-tuning flipped the base model's outcome (paper §5, RQ3):
De-normalize the model's norm-1000 output against actual viewport dimensions before dispatching clicks. Add a repeat-action guard in agent loops. Prefer step-directed prompting over open-ended goals, and keep a human in the loop for irreversible actions.
from transformers import AutoProcessor, AutoModelForImageTextToText
model_id = "PatronusAI/Qwen3.8-27B-Figmatrace-SFT"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id, dtype="bfloat16", device_map="auto")
messages = [{
"role": "user",
"content": [
{"type": "image", "url": "screenshot.png"},
{"type": "text", "text": "Open the color picker and set the fill to #00DC82."},
],
}]
inputs = processor.apply_chat_template(
messages,
tools=PLAYWRIGHT_MCP_TOOLS, # 17-tool Playwright-MCP schema used in training (or other compatible design toolset)
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
out = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(processor.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
Coordinates in the returned tool call are norm-1000: multiply x by width/1000 and y by
height/1000. Evaluation used greedy decoding with reasoning off and tool use forced.
FigmaTrace — 126 long-horizon tasks across 8 designer workflow categories, covering a 10-skill expert taxonomy. This run used 92,472 actions sampled from 35 sessions, averaging 47.6 hours of expert work, packed into 1,554 phase-aware training rows of up to 44 frames each.
OS-level events were filtered (~95% removed, mostly idle mouse movement) and mapped to the closest
Playwright-MCP action. Frames were extracted in two passes with settle detection: a candidate at
time t pairs the frame at t−0.15s with the first frame in [t+0.2, t+2.0] where consecutive
frames satisfy mean |Δ| < 0.75. Action-frame pairs whose changed-pixel fraction fell below 5×10⁻⁴
were dropped as having no visible effect. observe probes were inserted every 2s inside gaps longer
than 4s so input-free screen transitions become first-class steps. Phase boundaries were assigned by
Gemini-3.6-Flash over a closed 12-label vocabulary, keeping only boundaries that ≥2 of three
shardings (3/6/12-way) placed within ±30s. Total compaction: 179× versus raw OS events.
checkpoint-259Checkpoint is 54.7 GB in bf16 across 12 safetensors shards. Wall-clock training time and hardware were not recorded in the released artifacts.
Four out-of-distribution GUI agent benchmarks — GUI-Odyssey (multi-app, multi-viewport navigation), AndroidControl (instruction granularity), Mind2Web (open-web instruction grounding, two viewport configurations), and VideoGUI (planning, narration, execution), plus the in-domain ScreenSpot-Pro Creative split. VideoGUI matters as a generalization check because it is built with a different video-to-trajectory pipeline than FigmaTrace's.

Fine-tuning on FigmaTrace lifts the base model on six of the seven benchmark configurations, most sharply on AndroidControl (+16.4) and GUI-Odyssey (+9.7), and by +8.3 on the in-domain ScreenSpot-Pro Creative split. At 27B it exceeds Claude Opus 5 on GUI-Odyssey (+6.4) and AndroidControl (+11.8), while remaining well behind both frontier models on Mind2Web and on undirected VideoGUI. Phase-based trajectory construction beats length-based sharding by 7.3 points on average, confirming that the gains come from the segmentation method and not merely from more design data.
Manual inspection of every flipped item identified three sources of gain:
Qwen3_5ForConditionalGeneration, a hybrid-attention VLM: hidden size 5120, head dim 256, one full
attention layer every four (the rest linear attention), 248k-token vocabulary, Qwen3VLProcessor
vision stack (patch size 16, merge size 2). Objective is standard next-token cross-entropy over
assistant tool-call turns.
ms-swift, Megatron-LM (mcore-bridge), PyTorch, Transformers, FlashAttention.
BibTeX:
@article{deshpande2026figmatrace,
title={FigmaTrace: Capturing Creative Nuances in Human Figma Design Workflows},
author={Deshpande, Darshan and Fujinuma, Yoshinari and Markiewicz, Martyna
and Bansal, Devanshu and Jain, Shivani and Saban, Nicholas
and Maheshwari, Chirag and Kannappan, Anand},
journal={https://cdn.patronus.ai/FigmaTrace.pdf},
year={2026}
}
blocking_layout, componentising, refinement_polish as listed in the paper).observe probe — a synthetic no-input step inserted where the screen changes on its own, such
as a render completing or a plugin loading.Patronus AI