qwen3-vl-32b-instruct

2026-05-16T10-03-11Z_openrouter_qwen_qwen3-vl-32b-instruct

Reference run: Codex CLI, OpenCode, or OpenRouter baseline, included as a comparison target rather than a local-model result.

pass Visual sample result
3/3 Automated checks
1/1 SVG artifact

Verdict

visual sample
pass

1 artifact · 3/3 checks · pass

no failure labels
Prompt set v1_city_plan_svg.json
Run type reference
Temperature 0
Top P 1
Missed tasks 0/1

SVG Artifacts

1 artifact · 3/3 checks · pass
city_plan_3d_buildings_svg 3/3 · v1_city_plan_svg.json open SVG
city_plan_3d_buildings_svg SVG output

Task Results

Compact view; open a row for prompt and raw answer
Task Category Score Failed Checks Failure Types Prompt / Answer
city_plan_3d_buildings_svg svg 3/3 none none
Open

Prompt

Generate a valid standalone SVG of a city plan with a 3D-style representation of buildings.

Rules:
- SVG only
- no Markdown
- no external images
- no JavaScript
- include roads or city blocks
- include multiple buildings
- make at least some buildings appear 3D or isometric
- use simple vector shapes

Model answer

<svg width="800" height="600" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
  <!-- Background -->
  <rect width="100%" height="100%" fill="#e0e0e0" />

  <!-- Roads (grid) -->
  <!-- Horizontal roads -->
  <g stroke="#333" stroke-width="2">
    <line x1="0" y1="100" x2="800" y2="100" />
    <line x1="0" y1="200" x2="800" y2="200" />
    <line x1="0" y1="300" x2="800" y2="300" />
    <line x1="0" y1="400" x2="800" y2="400" />
    <line x1="0" y1="500" x2="800" y2="500" />
  </g>

  <!-- Vertical roads -->
  <g stroke="#333" stroke-width="2">
    <line x1="100" y1="0" x2="100" y2="600" />
    <line x1="200" y1="0" x2="200" y2="600" />
    <line x1="300" y1="0" x2="300" y2="600" />
    <line x1="400" y1="0" x2="400" y2="600" />
    <line x1="500" y1="0" x2="500" y2="600" />
    <line x1="600" y1="0" x2="600" y2="600" />
    <line x1="700" y1="0" x2="700" y2="600" />
  </g>

  <!-- Buildings -->
  <!-- Isometric building 1 -->
  <g transform="translate(120, 120)" fill="#999">
    <!-- Base -->
    <polygon points="0,0 40,0 60,20 20,20" />
    <!-- Top -->
    <polygon points="0,0 40,0 40,30 0,30" />
    <!-- Right side -->
    <polygon points="40,0 60,20 60,50 40,30" />
    <!-- Left side -->
    <polygon points="0,0 20,20 20,50 0,30" />
    <!-- Front face -->
    <polygon points="0,30 40,30 40,50 0,50" />
    <!-- Back face -->
    <polygon points="20,20 60,20 60,50 20,50" />
    <!-- Windows -->
    <rect x="5" y="5" width="10" height="10" fill="#fff" />
    <rect x="5" y="25" width="10" height="10" fill="#fff" />
    <rect x="25" y="5" width="10" height="10" fill="#fff" />
  </g>

  <!-- Isometric building 2 -->
  <g transform="translate(250, 120)" fill="#888">
    <!-- Base -->
    <polygon points="0,0 50,0 70,20 20,20" />
    <!-- Top -->
    <polygon points="0,0 50,0 50,35 0,35" />
    <!-- Right side -->
    <polygon points="50,0 70,20 70,60 50,35" />
    <!-- Left side -->
    <polygon points="0,0 20,20 20,60 0,35" />
    <!-- Front face -->
    <polygon points="0,35 50,35 50,60 0,60" />
    <!-- Back face -->
    <polygon points="20,20 70,20 70,60 20,60" />
    <!-- Windows -->
    <rect x="10" y="10" width="10" height="10" fill="#fff" />
    <rect x="10" y="30" width="10" height="10" fill="#fff" />
    <rect x="30" y="10" width="10" height="10" fill="#fff" />
    <rect x="30" y="30" width="10" height="10" fill="#fff" />
  </g>

  <!-- Isometric building 3 -->
  <g transform="translate(380, 120)" fill="#777">
    <!-- Base -->
    <polygon points="0,0 30,0 50,20 20,20" />
    <!-- Top -->
    <polygon points="0,0 30,0 30,30 0,30" />
    <!-- Right side -->
    <polygon points="30,0 50,20 50,50 30,30" />
    <!-- Left side -->
    <polygon points="0,0 20,20 20,50 0,30" />
    <!-- Front face -->
    <polygon points="0,30 30,30 30,50 0,50" />
    <!-- Back face -->
    <polygon points="20,20 50,20 50,50 20,50" />
    <!-- Windows -->
    <rect x="5" y="5" width="10" height="10" fill="#fff" />
    <rect x="5" y="25" width="10" height="10" fill="#fff" />
  </g>

  <!-- Simple rectangular building 1 -->
  <g transform="translate(120, 300)" fill="#aaa">
    <rect x="0" y="0" width="40" height="60" />
    <rect x="5" y="10" width="10" height="10" fill="#fff" />
    <rect x="5" y="30" width="10" height="10" fill="#fff" />
    <rect x="25" y="10" width="10" height="10" fill="#fff" />
  </g>

  <!-- Simple rectangular building 2 -->
  <g transform="translate(250, 300)" fill="#999">
    <rect x="0" y="0" width="50" height="70" />
    <rect x="10" y="15" width="10" height="10" fill="#fff" />
    <rect x="10" y="35" width="10" height="10" fill="#fff" />
    <rect x="30" y="15" width="10" height="10" fill="#fff" />
    <rect x="30" y="35" width="10" height="10" fill="#fff" />
  </g>

  <!-- Simple rectangular building 3 -->
  <g transform="translate(380, 300)" fill="#888">
    <rect x="0" y="0" width="30" height="50" />
    <rect x="5" y="10" width="10" height="10" fill="#fff" />
    <rect x="5" y="30" width="10" height="10" fill="#fff" />
  </g>

  <!-- Simple rectangular building 4 -->
  <g transform="translate(120, 480)" fill="#bbb">
    <rect x="0" y="0" width="40" height="40" />
    <rect x="10" y="10" width="10" height="10" fill="#fff" />
    <rect x="20" y="10" width="10" height="10" fill="#fff" />
  </g>

  <!-- Simple rectangular building 5 -->
  <g transform="translate(250, 480)" fill="#aaa">
    <rect x="0" y="0" width="50" height="50" />
    <rect x="10" y="10" width="10" height="10" fill="#fff" />
    <rect x="10" y="30" width="10" height="10" fill="#fff" />
    <rect x="30" y="10" width="10" height="10" fill="#fff" />
    <rect x="30" y="30" width="10" height="10" fill="#fff" />
  </g>

  <!-- Simple rectangular building 6 -->
  <g transform="translate(380, 480)" fill="#999">
    <rect x="0" y="0" width="30" height="40" />
    <rect x="5" y="10" width="10" height="10" fill="#fff" />
    <rect x="5" y="25" width="10" height="10" fill="#fff" />
  </g>

  <!-- City blocks (gray rectangles behind roads) -->
  <g fill="#f0f0f0" stroke="#ccc" stroke-width="1">
    <rect x="100" y="100" width="100" height="100" />
    <rect x="200" y="100" width="100" height="100" />
    <rect x="300" y="100" width="100" height="100" />
    <rect x="400" y="100" width="100" height="100" />
    <rect x="500" y="100" width="100" height="100" />
    <rect x="600" y="100" width="100" height="100" />
    <rect x="100" y="200" width="100" height="100" />
    <rect x="200" y="200" width="100" height="100" />
    <rect x="300" y="200" width="100" height="100" />
    <rect x="400" y="200" width="100" height="100" />
    <rect x="500" y="200" width="100" height="100" />
    <rect x="600" y="200" width="100" height="100" />
    <rect x="100" y="300" width="100" height="100" />
    <rect x="200" y="300" width="100" height="100" />
    <rect x="300" y="300" width="100" height="100" />
    <rect x="400" y="300" width="100" height="100" />
    <rect x="500" y="300" width="100" height="100" />
    <rect x="600" y="300" width="100" height="100" />
    <rect x="100" y="400" width="100" height="100" />
    <rect x="200" y="400" width="100" height="100" />
    <rect x="300" y="400" width="100" height="100" />
    <rect x="400" y="400" width="100" height="100" />
    <rect x="500" y="400" width="100" height="100" />
    <rect x="600" y="400" width="100" height="100" />
  </g>
</svg>