icon-set-weather
rendered
the brief, redacted

Produce a six-icon weather set on a shared grid, in one SVG. Tests visual consistency across repeated elements — the place where most models drift.

386 chars · 64 words · fingerprint cea26cacf025

raw output — byte exact

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 200" width="100%" height="100%">
  <defs>
    <style>
      .icon-base {
        fill: none;
        stroke: #22252a;
        stroke-width: 4;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .filled {
        fill: #22252a;
        stroke: none;
      }
    </style>
  </defs>

  <g id="sun" transform="translate(0, 0)">
    <circle class="icon-base" cx="100" cy="100" r="24" />
    <line class="icon-base" x1="100" y1="56" x2="100" y2="40" />
    <line class="icon-base" x1="100" y1="144" x2="100" y2="160" />
    <line class="icon-base" x1="56" y1="100" x2="40" y2="100" />
    <line class="icon-base" x1="144" y1="100" x2="160" y2="100" />
    <line class="icon-base" x1="68" y1="68" x2="57" y2="57" />
    <line class="icon-base" x1="132" y1="132" x2="143" y2="143" />
    <line class="icon-base" x1="132" y1="68" x2="143" y2="57" />
    <line class="icon-base" x1="68" y1="132" x2="57" y2="143" />
  </g>

  <g id="cloud" transform="translate(166.66, 0)">
    <path class="icon-base" d="M 72 120 
             L 128 120 
             A 20 20 0 0 0 148 100 
             A 18 18 0 0 0 134 84
             A 26 26 0 0 0 84 74
             A 22 22 0 0 0 54 94
             A 18 18 0 0 0 72 120 Z" />
  </g>

  <g id="rain" transform="translate(333.33, 0)">
    <path class="icon-base" d="M 72 108 
             L 128 108 
             A 20 20 0 0 0 148 88 
             A 18 18 0 0 0 134 72
             A 26 26 0 0 0 84 62
             A 22 22 0 0 0 54 82
             A 18 18 0 0 0 72 108 Z" />
    <line class="icon-base" x1="74" y1="126" x2="66" y2="144" />
    <line class="icon-base" x1="100" y1="126" x2="92" y2="144" />
    <line class="icon-base" x1="126" y1="126" x2="118" y2="144" />
  </g>

  <g id="snow" transform="translate(500, 0)">
    <path class="icon-base" d="M 72 108 
             L 128 108 
             A 20 20 0 0 0 148 88 
             A 18 18 0 0 0 134 72
             A 26 26 0 0 0 84 62
             A 22 22 0 0 0 54 82
             A 18 18 0 0 0 72 108 Z" />
    <g transform="translate(70, 134)">
      <line class="icon-base" x1="-6" y1="0" x2="6" y2="0" />
      <line class="icon-base" x1="0" y1="-6" x2="0" y2="6" />
      <circle class="filled" cx="0" cy="0" r="1.5" />
    </g>
    <g transform="translate(100, 134)">
      <line class="icon-base" x1="-6" y1="0" x2="6" y2="0" />
      <line class="icon-base" x1="0" y1="-6" x2="0" y2="6" />
      <circle class="filled" cx="0" cy="0" r="1.5" />
    </g>
    <g transform="translate(130, 134)">
      <line class="icon-base" x1="-6" y1="0" x2="6" y2="0" />
      <line class="icon-base" x1="0" y1="-6" x2="0" y2="6" />
      <circle class="filled" cx="0" cy="0" r="1.5" />
    </g>
  </g>

  <g id="fog" transform="translate(666.66, 0)">
    <path class="icon-base" d="M 72 96 
             L 128 96 
             A 20 20 0 0 0 148 76 
             A 18 18 0 0 0 134 60
             A 26 26 0 0 0 84 50
             A 22 22 0 0 0 54 70
             A 18 18 0 0 0 72 96 Z" />
    <line class="icon-base" x1="56" y1="114" x2="144" y2="114" />
    <line class="icon-base" x1="72" y1="130" x2="128" y2="130" />
  </g>

  <g id="thunderstorm" transform="translate(833.33, 0)">
    <path class="icon-base" d="M 72 104 
             L 128 104 
             A 20 20 0 0 0 148 84 
             A 18 18 0 0 0 134 68
             A 26 26 0 0 0 84 58
             A 22 22 0 0 0 54 78
             A 18 18 0 0 0 72 104 Z" />
    <polyline class="icon-base" points="106,114 90,136 108,136 94,158" />
  </g>
</svg>

request envelope — prompt redacted

{
  "model": "google/gemini-3.5-flash-lite",
  "system": "Respond with a single complete <svg> element and nothing else. No markdown fences, no explanation. Include an explicit viewBox. Do not reference external fonts, images, or stylesheets — the SVG must be fully self-contained.",
  "messages": [
    {
      "role": "user",
      "content": "«REDACTED — 68 words, 386 chars»"
    }
  ],
  "maxOutputTokens": 16000,
  "gatewayStringId": "8491f856-2274-4cba-9747-9c6bc0f0c4ae"
}