lighthouse-storm
rendered
the brief, redacted

Draw a lighthouse on a rocky outcrop during a storm, as a single self-contained SVG. Tests composition, layering, and whether a model can suggest weather without raster effects.

338 chars · 53 words · fingerprint 0b46c0c31095

raw output — byte exact

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 300">
  <rect width="400" height="300" fill="#1a2332"/>
  <polygon points="0,0 120,0 80,60 0,40" fill="#2d3a4f"/>
  <polygon points="200,0 400,0 400,50 280,35 220,55" fill="#2d3a4f"/>
  <polygon points="140,20 190,5 210,45 160,50" fill="#2d3a4f"/>
  <g stroke="#5d6d7e" stroke-width="1" fill="none" opacity="0.85">
    <line x1="20" y1="10" x2="5" y2="50"/>
    <line x1="45" y1="5" x2="25" y2="55"/>
    <line x1="70" y1="15" x2="50" y2="60"/>
    <line x1="95" y1="8" x2="72" y2="58"/>
    <line x1="120" y1="12" x2="98" y2="62"/>
    <line x1="145" y1="5" x2="125" y2="50"/>
    <line x1="170" y1="18" x2="148" y2="65"/>
    <line x1="195" y1="8" x2="175" y2="55"/>
    <line x1="220" y1="15" x2="198" y2="62"/>
    <line x1="245" y1="5" x2="222" y2="58"/>
    <line x1="270" y1="12" x2="248" y2="60"/>
    <line x1="295" y1="8" x2="275" y2="52"/>
    <line x1="320" y1="18" x2="298" y2="65"/>
    <line x1="345" y1="6" x2="325" y2="55"/>
    <line x1="370" y1="14" x2="348" y2="62"/>
    <line x1="390" y1="10" x2="372" y2="50"/>
    <line x1="30" y1="70" x2="12" y2="110"/>
    <line x1="60" y1="75" x2="40" y2="120"/>
    <line x1="90" y1="68" x2="68" y2="115"/>
    <line x1="130" y1="80" x2="108" y2="125"/>
    <line x1="160" y1="72" x2="140" y2="118"/>
    <line x1="200" y1="78" x2="178" y2="128"/>
    <line x1="240" y1="70" x2="218" y2="120"/>
    <line x1="280" y1="82" x2="258" y2="130"/>
    <line x1="310" y1="75" x2="290" y2="122"/>
    <line x1="350" y1="68" x2="328" y2="118"/>
    <line x1="380" y1="80" x2="360" y2="125"/>
    <line x1="50" y1="130" x2="30" y2="175"/>
    <line x1="100" y1="140" x2="78" y2="185"/>
    <line x1="150" y1="135" x2="128" y2="180"/>
    <line x1="210" y1="145" x2="190" y2="188"/>
    <line x1="260" y1="138" x2="238" y2="182"/>
    <line x1="320" y1="142" x2="300" y2="185"/>
    <line x1="370" y1="135" x2="350" y2="178"/>
  </g>
  <g stroke="#5d6d7e" stroke-width="1.2" fill="none" opacity="0.5">
    <path d="M0,90 Q40,85 80,95"/>
    <path d="M100,100 Q150,90 200,105"/>
    <path d="M220,95 Q280,88 340,100"/>
    <path d="M10,160 Q60,150 110,165"/>
    <path d="M250,155 Q310,145 380,160"/>
  </g>
  <polygon points="280,95 400,40 400,130 320,115" fill="#f4d35e" opacity="0.35"/>
  <polygon points="280,95 400,55 400,100 300,105" fill="#f4d35e" opacity="0.55"/>
  <polygon points="280,95 400,70 400,85 290,100" fill="#f4d35e" opacity="0.75"/>
  <polygon points="0,230 40,210 90,225 140,200 190,220 250,195 310,215 360,190 400,205 400,300 0,300" fill="#3d3530"/>
  <polygon points="20,250 70,235 110,255 160,230 200,250 260,225 300,245 350,220 400,240 400,300 0,300" fill="#2a2420"/>
  <polygon points="60,270 120,255 180,275 240,250 300,270 360,255 400,265 400,300 0,300" fill="#1f1a17"/>
  <path d="M0,245 Q30,235 55,248 Q80,240 100,250" stroke="#5d6d7e" stroke-width="1.5" fill="none" opacity="0.6"/>
  <path d="M130,235 Q160,225 190,240 Q220,228 250,242" stroke="#5d6d7e" stroke-width="1.5" fill="none" opacity="0.6"/>
  <path d="M280,230 Q320,218 350,235 Q375,225 400,238" stroke="#5d6d7e" stroke-width="1.5" fill="none" opacity="0.6"/>
  <polygon points="155,210 175,210 180,100 150,100" fill="#e8e4d9"/>
  <polygon points="150,100 180,100 185,85 145,85" fill="#e8e4d9"/>
  <rect x="148" y="70" width="34" height="18" fill="#f4d35e"/>
  <rect x="152" y="73" width="10" height="12" fill="#1a2332" opacity="0.35"/>
  <rect x="168" y="73" width="10" height="12" fill="#1a2332" opacity="0.35"/>
  <polygon points="145,70 185,70 165,52" fill="#c44536"/>
  <rect x="162" y="48" width="6" height="8" fill="#e8e4d9"/>
  <circle cx="165" cy="46" r="3" fill="#c44536"/>
  <line x1="158" y1="130" x2="172" y2="130" stroke="#2d3a4f" stroke-width="1"/>
  <line x1="157" y1="155" x2="173" y2="155" stroke="#2d3a4f" stroke-width="1"/>
  <line x1="156" y1="180" x2="174" y2="180" stroke="#2d3a4f" stroke-width="1"/>
  <rect x="160" y="140" width="8" height="12" fill="#1a2332" opacity="0.4"/>
  <rect x="161" y="165" width="7" height="10" fill="#1a2332" opacity="0.4"/>
  <polygon points="140,210 190,210 195,218 135,218" fill="#3d3530"/>
  <circle cx="280" cy="95" r="4" fill="#f4d35e"/>
</svg>

request envelope — prompt redacted

{
  "model": "xai/grok-4.5",
  "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 — 58 words, 338 chars»"
    }
  ],
  "maxOutputTokens": 16000,
  "gatewayStringId": "79967a98-155d-437c-bc43-1a033488fd6d"
}