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 800 1000" width="100%" height="100%">
  <rect width="800" height="1000" fill="#0b131f"/>

  <path d="M 0 0 L 800 0 L 800 260 Q 700 190 600 240 Q 450 160 300 230 Q 150 170 0 250 Z" fill="#1e293b"/>
  <path d="M 0 140 Q 180 70 350 150 Q 500 90 680 170 Q 750 110 800 150 L 800 340 Q 650 270 500 330 Q 320 250 180 320 Q 80 290 0 360 Z" fill="#385170" opacity="0.6"/>
  <path d="M 150 0 Q 350 80 500 30 Q 650 110 800 40 L 800 180 Q 600 220 400 140 Q 200 220 0 130 L 0 0 Z" fill="#0b131f" opacity="0.5"/>

  <path d="M 670 0 L 630 110 L 655 120 L 600 230 L 625 238 L 560 340 L 580 345 L 520 440 L 538 350 L 518 342 L 570 240 L 545 230 L 605 120 L 580 110 Z" fill="#f1f5f9"/>
  <path d="M 600 230 L 540 290 L 550 300 L 490 370" stroke="#f1f5f9" stroke-width="3" fill="none"/>
  <path d="M 630 110 L 700 170 L 685 180" stroke="#f1f5f9" stroke-width="2" fill="none"/>

  <polygon points="370,254 800,20 800,680" fill="#fde047" opacity="0.12"/>
  <polygon points="370,254 800,90 800,560" fill="#fde047" opacity="0.22"/>
  <polygon points="370,254 800,170 800,450" fill="#f1f5f9" opacity="0.35"/>
  <polygon points="370,254 800,230 800,360" fill="#fde047" opacity="0.55"/>
  <polygon points="370,254 800,270 800,300" fill="#f1f5f9" opacity="0.8"/>

  <polygon points="370,254 0,170 0,330" fill="#fde047" opacity="0.15"/>
  <polygon points="370,254 0,220 0,280" fill="#f1f5f9" opacity="0.25"/>

  <path d="M 0 900 L 0 760 L 90 730 L 140 770 L 210 650 L 260 670 L 310 620 L 440 620 L 490 680 L 570 730 L 630 830 L 690 880 L 800 920 L 800 1000 L 0 1000 Z" fill="#1e293b"/>

  <path d="M 210 650 L 310 620 L 360 680 L 280 740 Z" fill="#385170"/>
  <path d="M 310 620 L 440 620 L 420 680 L 360 680 Z" fill="#0b131f"/>
  <path d="M 440 620 L 490 680 L 430 750 L 360 680 Z" fill="#385170"/>
  <path d="M 140 770 L 210 650 L 280 740 L 190 820 Z" fill="#0b131f"/>
  <path d="M 280 740 L 360 680 L 430 750 L 340 850 Z" fill="#1e293b"/>
  <path d="M 490 680 L 570 730 L 510 820 L 430 750 Z" fill="#0b131f"/>
  <path d="M 0 760 L 90 730 L 140 770 L 80 840 Z" fill="#385170"/>
  <path d="M 570 730 L 630 830 L 550 860 L 510 820 Z" fill="#385170"/>
  <path d="M 630 830 L 690 880 L 610 930 L 550 860 Z" fill="#0b131f"/>

  <path d="M 310 620 L 440 620 L 430 626 L 315 626 Z" fill="#f1f5f9" opacity="0.7"/>
  <path d="M 210 650 L 310 620 L 290 638 Z" fill="#94a3b8" opacity="0.6"/>
  <path d="M 140 770 L 210 650 L 195 675 Z" fill="#f1f5f9" opacity="0.4"/>

  <polygon points="320,620 420,620 414,530 326,530" fill="#1e293b"/>
  <polygon points="326,530 414,530 408,440 332,440" fill="#f1f5f9"/>
  <polygon points="332,440 408,440 402,350 338,350" fill="#1e293b"/>
  <polygon points="338,350 402,350 396,290 344,290" fill="#f1f5f9"/>

  <path d="M 320 620 L 358 620 L 352 290 L 344 290 L 338 350 L 332 440 L 326 530 Z" fill="#0b131f" opacity="0.35"/>

  <path d="M 362 620 L 378 620 L 378 585 Q 370 575 362 585 Z" fill="#0b131f"/>
  <rect x="364" y="470" width="12" height="22" rx="6" fill="#0b131f"/>
  <rect x="365" y="380" width="10" height="20" rx="5" fill="#0b131f"/>
  <rect x="366" y="382" width="8" height="16" rx="4" fill="#fde047" opacity="0.8"/>

  <polygon points="332,290 408,290 403,280 337,280" fill="#1e293b"/>
  <polygon points="336,290 340,299 345,290" fill="#0b131f"/>
  <polygon points="355,290 359,301 364,290" fill="#0b131f"/>
  <polygon points="376,290 380,301 385,290" fill="#0b131f"/>
  <polygon points="395,290 399,299 404,290" fill="#0b131f"/>

  <path d="M 335 280 L 405 280 M 337 270 L 403 270 M 341 280 L 341 270 M 353 280 L 353 270 M 370 280 L 370 270 M 387 280 L 387 270 M 399 280 L 399 270" stroke="#0b131f" stroke-width="2"/>

  <rect x="347" y="238" width="46" height="32" fill="#fde047"/>
  <circle cx="370" cy="254" r="14" fill="#f1f5f9"/>
  <circle cx="370" cy="254" r="7" fill="#f1f5f9"/>

  <rect x="347" y="238" width="46" height="32" fill="none" stroke="#0b131f" stroke-width="2.5"/>
  <line x1="358" y1="238" x2="358" y2="270" stroke="#0b131f" stroke-width="2"/>
  <line x1="370" y1="238" x2="370" y2="270" stroke="#0b131f" stroke-width="2"/>
  <line x1="382" y1="238" x2="382" y2="270" stroke="#0b131f" stroke-width="2"/>

  <path d="M 344 238 C 344 208 396 208 396 238 Z" fill="#1e293b"/>
  <line x1="370" y1="208" x2="370" y2="182" stroke="#0b131f" stroke-width="3"/>
  <circle cx="370" cy="180" r="3" fill="#f1f5f9"/>

  <path d="M 0 820 Q 200 770 400 840 T 800 790 L 800 1000 L 0 1000 Z" fill="#385170"/>
  <path d="M 0 870 Q 150 790 300 860 T 600 830 T 800 880 L 800 1000 L 0 1000 Z" fill="#1e293b"/>
  <path d="M 680 1000 L 610 900 Q 560 850 490 890 Q 430 930 360 840 Q 290 770 190 820 Q 110 860 0 810 L 0 1000 Z" fill="#0b131f"/>

  <path d="M 190 820 Q 220 760 270 790 Q 230 810 190 820 Z" fill="#f1f5f9"/>
  <path d="M 360 840 Q 390 780 440 810 Q 400 830 360 840 Z" fill="#f1f5f9"/>
  <path d="M 490 890 Q 520 820 570 850 Q 530 870 490 890 Z" fill="#f1f5f9"/>

  <path d="M 130 780 Q 90 700 150 640 Q 175 700 195 730 Q 165 750 130 780 Z" fill="#f1f5f9" opacity="0.9"/>
  <path d="M 150 640 Q 180 590 220 630 Q 190 660 175 700 Z" fill="#94a3b8" opacity="0.7"/>

  <path d="M 440 760 C 470 680 520 610 560 590 C 550 650 520 700 480 740 Z" fill="#f1f5f9"/>
  <path d="M 520 610 C 560 540 620 530 660 570 C 610 600 570 630 550 680 Z" fill="#94a3b8" opacity="0.8"/>
  <path d="M 420 630 C 450 570 500 560 520 590 C 490 600 460 620 440 650 Z" fill="#f1f5f9" opacity="0.9"/>

  <polygon points="530,580 523,555 536,562" fill="#f1f5f9"/>
  <polygon points="580,530 568,500 585,512" fill="#f1f5f9"/>
  <polygon points="630,510 618,475 638,492" fill="#f1f5f9"/>
  <polygon points="670,540 660,515 675,525" fill="#94a3b8"/>
  <polygon points="210,610 198,580 215,592" fill="#f1f5f9"/>
  <polygon points="160,590 148,555 165,568" fill="#f1f5f9"/>
  <polygon points="120,620 110,595 125,605" fill="#94a3b8"/>
  <polygon points="470,590 460,565 478,575" fill="#f1f5f9"/>

  <path d="M 800 80 Q 500 160 200 100" fill="none" stroke="#94a3b8" stroke-width="2.5" opacity="0.3"/>
  <path d="M 800 200 Q 450 280 0 180" fill="none" stroke="#f1f5f9" stroke-width="1.5" opacity="0.45"/>
  <path d="M 800 420 Q 550 500 100 390" fill="none" stroke="#94a3b8" stroke-width="2" opacity="0.3"/>
  <path d="M 800 640 Q 400 700 0 610" fill="none" stroke="#f1f5f9" stroke-width="2.5" opacity="0.4"/>

  <g stroke="#94a3b8" stroke-width="1.2" stroke-linecap="round" opacity="0.4">
    <line x1="90" y1="20" x2="30" y2="200"/>
    <line x1="210" y1="10" x2="150" y2="190"/>
    <line x1="330" y1="30" x2="270" y2="210"/>
    <line x1="450" y1="10" x2="390" y2="190"/>
    <line x1="570" y1="40" x2="510" y2="220"/>
    <line x1="710" y1="20" x2="650" y2="200"/>

    <line x1="50" y1="250" x2="-10" y2="430"/>
    <line x1="150" y1="230" x2="90" y2="410"/>
    <line x1="250" y1="240" x2="190" y2="420"/>

    <line x1="70" y1="470" x2="10" y2="650"/>
    <line x1="170" y1="450" x2="110" y2="630"/>
    <line x1="270" y1="480" x2="210" y2="660"/>

    <line x1="630" y1="440" x2="570" y2="620"/>
    <line x1="750" y1="420" x2="690" y2="600"/>

    <line x1="90" y1="690" x2="30" y2="870"/>
    <line x1="190" y1="670" x2="130" y2="850"/>
    <line x1="570" y1="680" x2="510" y2="860"/>
    <line x1="710" y1="660" x2="650" y2="840"/>
  </g>

  <g stroke="#f1f5f9" stroke-width="2" stroke-linecap="round" opacity="0.85">
    <line x1="430" y1="180" x2="370" y2="360" stroke="#fde047"/>
    <line x1="500" y1="150" x2="440" y2="330"/>
    <line x1="570" y1="120" x2="510" y2="300" stroke="#fde047"/>
    <line x1="640" y1="90" x2="580" y2="270"/>
    <line x1="700" y1="130" x2="640" y2="310" stroke="#fde047"/>
    <line x1="770" y1="100" x2="710" y2="280"/>

    <line x1="460" y1="260" x2="400" y2="440"/>
    <line x1="530" y1="230" x2="470" y2="410" stroke="#fde047"/>
    <line x1="600" y1="210" x2="540" y2="390"/>
    <line x1="670" y1="190" x2="610" y2="370" stroke="#fde047"/>
    <line x1="740" y1="170" x2="680" y2="350"/>

    <line x1="490" y1="340" x2="430" y2="520"/>
    <line x1="560" y1="310" x2="500" y2="490" stroke="#fde047"/>
    <line x1="630" y1="290" x2="570" y2="470"/>
    <line x1="700" y1="27

request envelope — prompt redacted

{
  "model": "google/gemini-3.6-flash",
  "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": "9e39b87d-ae31-440f-8c37-8afce7ef7aba"
}
SVG · lighthouse-storm · Benchmark Prompts