Pixels or Code? Benchmarking Instruction-Guided Visual Artifact Operation
Organizations: Tongji University · Shanghai Jiao Tong University
Abstract
Visual artifacts such as charts, technical diagrams, webpages, and document pages underpin scientific, commercial, and engineering workflows. Editing these artifacts requires direct modification, dependency-aware updates, preservation of unaffected content, and compliance with domain constraints. We define this capability as Visual Artifact Operation (VAO). Prior benchmarks test parts of this problem, including cascading updates in charts. We study direct edits, dependent updates, and preservation across visual domains and pixel, code, and agent paradigms under one image-only protocol. We introduce Visual Artifact Operation Bench (VAO-Bench), comprising 1,573 manually screened tasks across nine artifact categories and three difficulty levels. VAO-Bench uses executable artifacts and deterministic rendering to trace reference transformations and annotate direct edits, dependent updates, and preservation constraints. All systems receive the same source image and instruction; we evaluate pixel-space editors, code-generating multimodal systems, and tool-using agents on direct-edit accuracy, dependency-aware update, content preservation, domain validity, and visual quality. Experiments show that executable-code systems better support dependent updates, while pixel-space editors offer faster execution and strong visual quality. Explicitly stating dependencies improves both paradigms, identifying implicit-update inference as a central bottleneck. VAO-Bench provides a reproducible foundation for dependable visual artifact editing across generation paradigms.
Figures & tables
| Track | Method | Time (s) | Comp. | Auto-zero | Completed-only | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dir. | Der. | Inv. | VQ | DQ | Dir. | Der. | Inv. | VQ | DQ | ||||
| Direct | GPT-Image-2 | 154.2 | 100% | 0.730 | 0.527 | 0.916 | 4.47 | 3.79 | 0.730 | 0.527 | 0.916 | 4.47 | 3.79 |
| Seedream-5.0-Pro | 226.8 | 94.0% | 0.756 | 0.622 | 0.890 | 4.20 | 3.81 | 0.804 | 0.661 | 0.949 | 4.47 | 4.05 | |
| Native | GPT-5.6-Sol | 300 | 97.2% | 0.806 | 0.664 | 0.925 | 4.06 | 4.10 | 0.831 | 0.683 | 0.951 | 4.17 | 4.22 |
| DeepSeek-Flash | 354 | 94.7% | 0.778 | 0.631 | 0.826 | 3.99 | 3.81 | 0.825 | 0.671 | 0.874 | 4.21 | 4.02 | |
| GLM-5.3-Flash | 1353 | 50.4% | 0.415 | 0.322 | 0.458 | 2.24 | 2.13 | 0.848 | 0.664 | 0.919 | 4.45 | 4.22 | |
| Condition | Time (s) | Comp. | Auto-zero | Completed-only | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dir. | Der. | Inv. | VQ | DQ | Dir. | Der. | Inv. | VQ | DQ | |||
| GPT-Image-2 | 157.5 | 100% | 0.733 | 0.551 | 0.908 | 4.45 | 3.83 | 0.733 | 0.551 | 0.908 | 4.45 | 3.83 |
| + Explicit instruction | 195.6 | 99.4% | 0.916 | 0.868 | 0.928 | 4.45 | 4.31 | 0.923 | 0.876 | 0.933 | 4.48 | 4.34 |
| A1: image-to-source reconstruction | ||||||
|---|---|---|---|---|---|---|
| Condition | Completion | SSIM | PSNR | MAE | MSE | SSIM-0 |
| DeepSeek-Flash A1 | 92.1% | 0.796 | 16.4 | 0.0475 | 0.0276 | 0.733 |
| System | Episodes | Completed | Avg. tool calls | Writes artifact | Renders | Views preview |
|---|---|---|---|---|---|---|
| Codex–GPT-5.6-Sol | 1573 | 1525 | 10.6 | 1562 | 1499 | 1334 |
| Codex–GLM-5.3-Flash | 1573 | 1032 | 25.9 | 1572 | 1550 | 514 |
| CC–GLM-5.3-Flash | 1573 | 72 | 29.4 | 365 | 343 | 103 |
Appendix figures & tables32 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | Renderer | Sources | Easy | Medium | Hard | Main | Subset |
|---|---|---|---|---|---|---|---|
| Business webpages | HTML | 160 | 73 | 67 | 56 | 196 | 40 |
| Scientific documents | HTML | 112 | 49 | 45 | 45 | 139 | 28 |
| Interactive dashboards | HTML | 154 | 71 | 62 | 58 | 191 | 38 |
| Flowcharts and workflows | DOT | 187 | 87 | 78 | 64 | 229 | 46 |
| Systems and architecture | TikZ | 107 | 55 | 45 | 34 | 134 | 26 |
| Circuits and logic | CircuitikZ | 138 | 68 | 55 | 38 | 161 | 33 |
| Operation | Difficulty | Tasks |
|---|---|---|
| Rename labels and text | Easy | 200 |
| Change colors, styles, markers, or badges | Easy | 128 |
| Edit annotations, captions, or legends | Easy | 149 |
| Change highlights, states, or selections | Easy | 123 |
| Update local values and synchronize visual elements | Medium | 178 |
| Insert or delete local components, reconnect, and reflow | Medium | 114 |
| Field | Meaning and verification |
|---|---|
| visible_objects , visible_element_ids | Visible text, nodes, values, and graphical objects with unique or identifiable visual anchors. |
| dependency_graph , data_or_logic_relations | Data, structural, or logical dependencies among visible objects that support linked updates. |
| visual_recoverability_contract | How labels, tables, or connections provide the evidence needed for an edit. |
| editable_objects , operation_affordance_matrix | Candidate objects and their supported operations. |
| stable_regions , stable_invariants | Regions, identities, values, or relations to preserve, extending beyond rectangular pixel regions. |
| ID | Method / track | Configuration |
|---|---|---|
| M1 | GPT-Image-2 / direct | quality=high ; concurrency 5; launch interval 1 s. |
| M2 | Seedream-5.0-Pro / direct | Service ID: doubao-seedream-5-0-pro-260628 1.5K; watermark disabled; concurrency 10; interval 1 s. |
| M3 | GPT-5.6-Sol / native | reasoning_effort=xhigh ; maximum output 65,536 tokens. |
| M4 | DeepSeek-Flash / native | Thinking enabled; reasoning_effort=max ; maximum output 65,536 tokens. |
| M5 | GLM-5.3-Flash / native | reasoning_effort=max ; maximum output 65,536 tokens. |
| M6 | Codex-GPT / agent | Codex + GPT-5.6-Sol; reasoning level medium. |
| Mode | Settings and constraints |
|---|---|
| HTML | Headless Chromium; 1440 1000 viewport; full-page screenshot; 60 s rendering timeout; self-contained HTML/CSS/JS with no remote resources. |
| DOT | Graphviz; PNG at 600 DPI; white background; 24 px crop margin; 90 s rendering timeout. |
| TikZ | pdflatex followed by pdftoppm for PNG conversion; 600 DPI; white background; 96 px crop margin; 90 s timeout; tikz, xcolor, and amsmath allowed. |
| CircuitikZ | TikZ settings with circuitikz additionally allowed; recorded as a separate rendering mode. |
| Python | Code runs in the evaluation environment and produces PNG output; allowed packages include Pillow, Matplotlib, NumPy, SciPy, NetworkX, and RDKit. |
| Difficulty | Tasks | Direct | Derived | Invariant | No Derived |
|---|---|---|---|---|---|
| Easy | 600 | 691 / 1.15 | 9 / 0.01 | 1546 / 2.58 | 592 |
| Medium | 533 | 995 / 1.87 | 884 / 1.66 | 1594 / 2.99 | 0 |
| Hard | 440 | 1468 / 3.34 | 1523 / 3.46 | 1635 / 3.72 | 0 |
| Method | Registered | Normal | Recovered | Timeout | Other |
|---|---|---|---|---|---|
| GPT-Image-2 | 1573 | 1573 | 0 | 0 | 0 |
| Seedream-5.0-Pro | 1573 | 1478 | 0 | 95 | 0 |
| GPT-5.6-Sol | 1573 | 1529 | 0 | 44 | 0 |
| DeepSeek-Flash | 1573 | 1489 | 0 | 84 | 0 |
| GLM-5.3-Flash | 1573 | 793 | 0 | 774 | 6 |
| Codex-GPT | 1573 | 1525 | 31 | 33 | 15 |
| Condition | Inputs | Evaluation and interpretation |
|---|---|---|
| Baseline | Source image, original instruction | Main-experiment baseline on the same tasks. |
| A1 | Source image; no editing instruction or ground-truth code | Source reconstruction only; offline pixel metrics and rendering success. |
| A2 | Source image, A1 code, original instruction | Edit the reconstructed representation; standard editing evaluation. |
| B | Source image, ground-truth source code, original instruction | Control source-representation availability; standard editing evaluation. |
| C | Source image, expanded instruction; no ground-truth code | Control instruction explicitness; standard editing evaluation. |
| Mode | Success/total | SSIM | PSNR | SSIM-0 |
|---|---|---|---|---|
| HTML | 106/106 | .8147 | 18.44 | .8147 |
| DOT | 32/46 | .7787 | 15.39 | .5417 |
| TikZ | 25/26 | .7159 | 14.33 | .6883 |
| CircuitikZ | 31/33 | .8809 | 15.63 | .8275 |
| Python | 97/105 | .7740 | 15.20 | .7151 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 166.2 | 100.0% | 0.689 | 0.371 | 0.951 | 4.821 | 3.740 |
| M2 | 266.7 | 100.0% | 0.810 | 0.590 | 0.944 | 4.770 | 4.010 |
| M3 | 358.8 | 100.0% | 0.785 | 0.448 | 0.971 | 4.689 | 4.005 |
| M4 | 275.7 | 99.0% | 0.795 | 0.445 | 0.932 | 4.740 | 3.974 |
| M5 | 1106.4 | 83.7% | 0.640 | 0.345 | 0.760 | 4.036 | 3.454 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 177.9 | 100.0% | 0.724 | 0.515 | 0.921 | 4.417 | 3.583 |
| M2 | 271.8 | 100.0% | 0.748 | 0.671 | 0.939 | 4.331 | 3.957 |
| M3 | 334.2 | 100.0% | 0.784 | 0.662 | 0.980 | 4.345 | 4.043 |
| M4 | 364.5 | 99.3% | 0.781 | 0.649 | 0.912 | 4.504 | 3.978 |
| M5 | 1257.9 | 64.7% | 0.515 | 0.416 | 0.606 | 2.986 | 2.640 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 160.5 | 100.0% | 0.702 | 0.381 | 0.956 | 4.651 | 3.413 |
| M2 | 260.1 | 100.0% | 0.808 | 0.570 | 0.958 | 4.607 | 3.817 |
| M3 | 337.8 | 100.0% | 0.740 | 0.492 | 0.986 | 4.539 | 3.869 |
| M4 | 342.0 | 100.0% | 0.743 | 0.495 | 0.929 | 4.723 | 3.885 |
| M5 | 1087.2 | 77.0% | 0.621 | 0.455 | 0.718 | 3.618 | 3.204 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 170.7 | 100.0% | 0.721 | 0.632 | 0.898 | 4.240 | 3.969 |
| M2 | 150.3 | 59.4% | 0.478 | 0.443 | 0.580 | 2.642 | 2.576 |
| M3 | 362.4 | 98.3% | 0.803 | 0.724 | 0.891 | 3.852 | 3.974 |
| M4 | 279.6 | 96.5% | 0.771 | 0.710 | 0.815 | 3.747 | 3.664 |
| M5 | 1288.2 | 44.1% | 0.367 | 0.329 | 0.394 | 1.847 | 1.939 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 156.0 | 100.0% | 0.798 | 0.628 | 0.820 | 4.246 | 4.246 |
| M2 | 239.7 | 100.0% | 0.813 | 0.660 | 0.960 | 4.373 | 4.470 |
| M3 | 290.4 | 88.1% | 0.786 | 0.654 | 0.719 | 2.448 | 3.761 |
| M4 | 511.2 | 85.8% | 0.739 | 0.612 | 0.716 | 3.239 | 3.657 |
| M5 | 1610.4 | 23.9% | 0.179 | 0.165 | 0.201 | 0.881 | 1.060 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 133.2 | 100.0% | 0.720 | 0.659 | 0.952 | 4.385 | 3.975 |
| M2 | 217.5 | 100.0% | 0.781 | 0.731 | 0.963 | 4.435 | 4.062 |
| M3 | 221.1 | 90.7% | 0.695 | 0.659 | 0.837 | 3.106 | 3.689 |
| M4 | 545.7 | 84.5% | 0.649 | 0.560 | 0.743 | 3.410 | 3.280 |
| M5 | 1644.9 | 18.0% | 0.141 | 0.121 | 0.160 | 0.814 | 0.758 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 166.8 | 100.0% | 0.815 | 0.502 | 0.949 | 4.258 | 3.450 |
| M2 | 250.8 | 100.0% | 0.861 | 0.648 | 0.966 | 4.291 | 3.907 |
| M3 | 282.3 | 99.3% | 0.904 | 0.736 | 0.981 | 4.046 | 4.311 |
| M4 | 267.6 | 99.3% | 0.911 | 0.728 | 0.928 | 3.861 | 4.066 |
| M5 | 1435.2 | 50.3% | 0.457 | 0.347 | 0.487 | 2.086 | 2.093 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 138.9 | 100.0% | 0.664 | 0.390 | 0.877 | 4.263 | 3.359 |
| M2 | 218.4 | 100.0% | 0.794 | 0.641 | 0.912 | 4.174 | 3.701 |
| M3 | 277.2 | 95.8% | 0.918 | 0.896 | 0.942 | 4.245 | 4.677 |
| M4 | 343.5 | 95.2% | 0.876 | 0.876 | 0.817 | 3.826 | 4.198 |
| M5 | 1373.1 | 46.1% | 0.394 | 0.351 | 0.410 | 1.964 | 2.084 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 120.3 | 100.0% | 0.770 | 0.706 | 0.903 | 4.785 | 4.278 |
| M2 | 199.2 | 99.0% | 0.809 | 0.752 | 0.927 | 4.566 | 4.258 |
| M3 | 216.3 | 99.5% | 0.850 | 0.752 | 0.954 | 4.688 | 4.488 |
| M4 | 343.5 | 90.2% | 0.745 | 0.636 | 0.650 | 3.668 | 3.615 |
| M5 | 1490.1 | 37.6% | 0.306 | 0.280 | 0.292 | 1.532 | 1.566 |
| Method | Population | Direct | Derived | Invariant |
|---|---|---|---|---|
| GPT-Image-2 | Auto-zero | 3154 | 2416 | 4775 |
| GPT-Image-2 | Completed-only | 3154 | 2416 | 4775 |
| Seedream-5.0-Pro | Auto-zero | 3154 | 2416 | 4775 |
| Seedream-5.0-Pro | Completed-only | 2967 | 2275 | 4477 |
| GPT-5.6-Sol | Auto-zero | 3154 | 2416 | 4775 |
| GPT-5.6-Sol | Completed-only | 3060 | 2348 | 4643 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 150.3 | 100.0% | 0.897 | 0.556 | 0.929 | 4.570 | 4.520 |
| M2 | 210.0 | 93.3% | 0.884 | 0.667 | 0.900 | 4.300 | 4.338 |
| M3 | 307.2 | 97.0% | 0.916 | 0.556 | 0.920 | 4.115 | 4.368 |
| M4 | 339.3 | 95.3% | 0.909 | 0.556 | 0.810 | 4.027 | 4.097 |
| M5 | 1304.7 | 52.0% | 0.501 | 0.556 | 0.457 | 2.327 | 2.363 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 153.3 | 100.0% | 0.772 | 0.546 | 0.925 | 4.413 | 3.616 |
| M2 | 224.7 | 94.7% | 0.777 | 0.640 | 0.898 | 4.176 | 3.764 |
| M3 | 296.7 | 97.7% | 0.846 | 0.656 | 0.933 | 4.036 | 4.002 |
| M4 | 358.8 | 94.9% | 0.826 | 0.619 | 0.833 | 3.993 | 3.707 |
| M5 | 1348.2 | 52.2% | 0.457 | 0.336 | 0.487 | 2.330 | 2.161 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 160.2 | 100.0% | 0.622 | 0.515 | 0.895 | 4.396 | 3.000 |
| M2 | 251.7 | 93.9% | 0.682 | 0.611 | 0.872 | 4.084 | 3.136 |
| M3 | 294.6 | 96.8% | 0.728 | 0.668 | 0.921 | 4.002 | 3.845 |
| M4 | 372.0 | 93.4% | 0.683 | 0.639 | 0.835 | 3.927 | 3.530 |
| M5 | 1420.5 | 46.1% | 0.345 | 0.313 | 0.429 | 2.018 | 1.770 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 167.4 | 100.0% | 0.703 | 0.414 | 0.944 | 4.653 | 3.580 |
| M2 | 265.8 | 100.0% | 0.793 | 0.604 | 0.948 | 4.595 | 3.926 |
| M3 | 344.7 | 100.0% | 0.768 | 0.522 | 0.979 | 4.544 | 3.966 |
| M4 | 323.1 | 99.4% | 0.772 | 0.519 | 0.925 | 4.671 | 3.943 |
| M5 | 1139.4 | 76.2% | 0.600 | 0.405 | 0.703 | 3.607 | 3.148 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 170.7 | 100.0% | 0.721 | 0.632 | 0.898 | 4.240 | 3.969 |
| M2 | 150.3 | 59.4% | 0.478 | 0.443 | 0.580 | 2.642 | 2.576 |
| M3 | 362.4 | 98.3% | 0.803 | 0.724 | 0.891 | 3.852 | 3.974 |
| M4 | 279.6 | 96.5% | 0.771 | 0.710 | 0.815 | 3.747 | 3.664 |
| M5 | 1288.2 | 44.1% | 0.367 | 0.329 | 0.394 | 1.847 | 1.939 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 156.0 | 100.0% | 0.798 | 0.628 | 0.820 | 4.246 | 4.246 |
| M2 | 239.7 | 100.0% | 0.813 | 0.660 | 0.960 | 4.373 | 4.470 |
| M3 | 290.4 | 88.1% | 0.786 | 0.654 | 0.719 | 2.448 | 3.761 |
| M4 | 511.2 | 85.8% | 0.739 | 0.612 | 0.716 | 3.239 | 3.657 |
| M5 | 1610.4 | 23.9% | 0.179 | 0.165 | 0.201 | 0.881 | 1.060 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 133.2 | 100.0% | 0.720 | 0.659 | 0.952 | 4.385 | 3.975 |
| M2 | 217.5 | 100.0% | 0.781 | 0.731 | 0.963 | 4.435 | 4.062 |
| M3 | 221.1 | 90.7% | 0.695 | 0.659 | 0.837 | 3.106 | 3.689 |
| M4 | 545.7 | 84.5% | 0.649 | 0.560 | 0.743 | 3.410 | 3.280 |
| M5 | 1644.9 | 18.0% | 0.141 | 0.121 | 0.160 | 0.814 | 0.758 |
| Auto-zero | |||||||
|---|---|---|---|---|---|---|---|
| ID | Time (s) | Completion | Dir. | Der. | Inv. | VQ | DQ |
| M1 | 139.8 | 100.0% | 0.749 | 0.539 | 0.908 | 4.466 | 3.746 |
| M2 | 220.2 | 99.6% | 0.819 | 0.684 | 0.934 | 4.361 | 3.979 |
| M3 | 254.7 | 98.3% | 0.888 | 0.795 | 0.958 | 4.361 | 4.497 |
| M4 | 321.6 | 94.5% | 0.836 | 0.744 | 0.782 | 3.774 | 3.931 |
| M5 | 1437.0 | 44.0% | 0.379 | 0.324 | 0.385 | 1.830 | 1.883 |
Image Editing Evaluation
Image editing evaluation measures whether edits follow instructions while preserving identity, context, and visual quality.
See all 92 papers