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 viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#1e3c72"/>
      <stop offset="100%" stop-color="#0a1d33"/>
    </linearGradient>
    <linearGradient id="beamGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="transparent"/>
      <stop offset="50%" stop-color="rgba(255,255,180,0.15)"/>
      <stop offset="100%" stop-color="transparent"/>
    </linearGradient>
  </defs>

  <!-- Sky -->
  <rect x="0" y="0" width="800" height="600" fill="url(#skyGradient)" />

  <!-- Stormy clouds -->
  <path d="M-50,80 C-30,50 50,60 100,50 C150,40 200,60 240,55 C280,50 330,65 380,60 C430,55 480,70 530,65 C580,60 640,75 700,60 C760,45 820,70 850,90 L850,0 L-50,0 Z" fill="#3a4a66" opacity="0.8"/>
  <path d="M200,40 C230,20 300,30 340,25 C380,20 430,35 470,30 C510,25 560,40 600,35 C640,30 690,45 730,40 C770,35 800,50 830,60 L830,0 L200,0 Z" fill="#2e3b55" opacity="0.7"/>

  <!-- Rain lines -->
  <g stroke="#a0c4e0" stroke-width="1" opacity="0.4">
    <line x1="50" y1="80" x2="70" y2="140"/>
    <line x1="100" y1="90" x2="120" y2="150"/>
    <line x1="150" y1="85" x2="170" y2="145"/>
    <line x1="200" y1="95" x2="220" y2="155"/>
    <line x1="250" y1="88" x2="270" y2="148"/>
    <line x1="300" y1="92" x2="320" y2="152"/>
    <line x1="350" y1="87" x2="370" y2="147"/>
    <line x1="400" y1="94" x2="420" y2="154"/>
    <line x1="450" y1="89" x2="470" y2="149"/>
    <line x1="500" y1="96" x2="520" y2="156"/>
    <line x1="550" y1="90" x2="570" y2="150"/>
    <line x1="600" y1="93" x2="620" y2="153"/>
    <line x1="650" y1="86" x2="670" y2="146"/>
    <line x1="700" y1="91" x2="720" y2="151"/>
    <line x1="750" y1="88" x2="770" y2="148"/>
  </g>

  <!-- Lighthouse beam -->
  <polygon points="400,150 300,400 500,400" fill="url(#beamGradient)" />
  <polygon points="400,150 320,350 480,350" fill="rgba(255,255,200,0.1)" />
  <polygon points="400,150 350,300 450,300" fill="rgba(255,255,220,0.2)" />

  <!-- Lighthouse tower -->
  <rect x="380" y="200" width="40" height="150" fill="#f0f0f0" stroke="#ccc" stroke-width="1"/>
  <rect x="380" y="200" width="40" height="20" fill="#8b4513"/>
  <rect x="380" y="220" width="40" height="10" fill="#d3d3d3"/>
  <rect x="380" y="230" width="40" height="20" fill="#f0f0f0"/>
  <rect x="380" y="250" width="40" height="10" fill="#d3d3d3"/>
  <rect x="380" y="260" width="40" height="20" fill="#f0f0f0"/>
  <rect x="380" y="280" width="40" height="10" fill="#d3d3d3"/>
  <rect x="380" y="290" width="40" height="20" fill="#f0f0f0"/>
  <rect x="380" y="310" width="40" height="10" fill="#d3d3d3"/>
  <rect x="380" y="320" width="40" height="20" fill="#f0f0f0"/>
  <rect x="380" y="340" width="40" height="10" fill="#d3d3d3"/>

  <!-- Lighthouse lantern room -->
  <rect x="375" y="160" width="50" height="40" fill="#1e3c72" stroke="#8b4513" stroke-width="2"/>
  <rect x="385" y="165" width="30" height="30" fill="#87ceeb" opacity="0.6"/>
  <circle cx="400" cy="150" r="15" fill="#ffcc00"/>

  <!-- Roof -->
  <polygon points="375,160 425,160 400,140" fill="#8b4513"/>

  <!-- Rocky outcrop -->
  <path d="M250,350 
           C280,330 320,340 350,335 
           C380,330 400,340 420,335 
           C440,330 470,340 500,335 
           C530,330 560,345 580,350 
           L580,600 L250,600 Z" fill="#4a4a4a" stroke="#333" stroke-width="1"/>

  <!-- Wind lines -->
  <g stroke="#ffffff" stroke-width="1" opacity="0.3">
    <path d="M100,200 C130,190 160,210 190,200" stroke-dasharray="4,4"/>
    <path d="M120,250 C150,240 180,260 210,250" stroke-dasharray="3,3"/>
    <path d="M140,300 C170,290 200,310 230,300" stroke-dasharray="4,4"/>
    <path d="M600,220 C630,210 660,230 690,220" stroke-dasharray="3,3"/>
    <path d="M620,270 C650,260 680,280 710,270" stroke-dasharray="4,4"/>
    <path d="M640,320 C670,310 700,330 730,320" stroke-dasharray="3,3"/>
  </g>
</svg>

request envelope — prompt redacted

{
  "model": "alibaba/qwen-3-235b",
  "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": "dfb92529-6711-4845-b6bc-0818572a0de8"
}