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 600" width="800" height="600" role="img" aria-label="A lighthouse on a rocky outcrop in a storm, its beam cutting through wind-driven rain">
  <!-- palette: #1e2f45 sky, #101822 dark, #33485f mid, #e8e6df light, #f2b544 amber, #b1483c red -->
  <rect x="0" y="0" width="800" height="600" fill="#1e2f45"/>

  <!-- storm clouds -->
  <g fill="#101822">
    <path d="M-20,-10 H820 V70 q-40,26 -90,10 q-50,-16 -95,10 q-45,24 -100,4 q-55,-20 -108,8 q-53,28 -110,2 q-57,-26 -112,6 q-55,32 -105,4 q-50,-28 -100,-8 Z" opacity="0.9"/>
    <path d="M-20,60 q90,-30 165,-2 q75,28 150,-6 q75,-34 150,2 q75,36 155,-4 q80,-40 200,-6 v-40 H-20 Z" opacity="0.5"/>
    <path d="M-20,110 q120,-24 210,6 q90,30 180,-8 q90,-38 200,0 q110,38 250,-14 v-40 H-20 Z" opacity="0.35"/>
  </g>

  <!-- wind streaks -->
  <g fill="none" stroke="#e8e6df" stroke-linecap="round">
    <path d="M-20,150 Q170,108 360,158 T780,120" opacity="0.13" stroke-width="2"/>
    <path d="M-20,205 Q200,168 400,215 T800,178" opacity="0.10" stroke-width="1.6"/>
    <path d="M-20,95 Q160,62 330,102 T760,68" opacity="0.10" stroke-width="1.6"/>
    <path d="M-20,300 Q190,262 390,308 T810,272" opacity="0.09" stroke-width="2"/>
    <path d="M-20,370 Q210,336 420,382 T820,346" opacity="0.08" stroke-width="2"/>
  </g>

  <!-- light beams -->
  <g fill="#f2b544">
    <polygon points="400,192 -20,10 -20,320" opacity="0.10"/>
    <polygon points="400,192 -20,110 -20,250" opacity="0.16"/>
    <polygon points="400,192 -20,160 -20,208" opacity="0.20"/>
    <polygon points="400,192 820,80 820,196" opacity="0.08"/>
    <polygon points="400,192 820,130 820,168" opacity="0.12"/>
  </g>

  <!-- rocky outcrop -->
  <g>
    <path d="M120,600 L180,540 L232,506 L272,514 L306,472 L344,452 L366,440 L438,440 L470,456 L512,470 L552,500 L604,522 L664,566 L700,600 Z" fill="#101822"/>
    <path d="M306,472 L344,452 L366,440 L438,440 L470,456 L446,478 L392,468 L344,486 Z" fill="#33485f" opacity="0.45"/>
    <path d="M232,506 L272,514 L306,472 L288,520 L246,540 Z" fill="#33485f" opacity="0.25"/>
    <path d="M512,470 L552,500 L604,522 L556,530 L516,506 Z" fill="#33485f" opacity="0.25"/>
  </g>

  <!-- lighthouse tower -->
  <g>
    <path d="M358,448 L382,215 L418,215 L442,448 Z" fill="#e8e6df"/>
    <polygon points="378.3,250 421.7,250 426.9,300 373.1,300" fill="#b1483c"/>
    <polygon points="367.9,350 432.1,350 437.3,400 362.7,400" fill="#b1483c"/>
    <path d="M358,448 L382,215 L392,215 L376,448 Z" fill="#101822" opacity="0.14"/>
    <!-- gallery -->
    <rect x="370" y="205" width="60" height="12" fill="#101822"/>
    <rect x="372" y="196" width="56" height="4" fill="#101822" opacity="0.7"/>
    <!-- lantern room -->
    <rect x="381" y="172" width="38" height="26" fill="#f2b544"/>
    <g stroke="#101822" stroke-width="2.5">
      <line x1="390" y1="172" x2="390" y2="198"/>
      <line x1="400" y1="172" x2="400" y2="198"/>
      <line x1="410" y1="172" x2="410" y2="198"/>
    </g>
    <polygon points="374,172 426,172 400,148 " fill="#101822"/>
    <line x1="400" y1="148" x2="400" y2="134" stroke="#101822" stroke-width="3"/>
    <!-- door and windows -->
    <path d="M390,448 v-30 a10,10 0 0 1 20,0 v30 Z" fill="#101822"/>
    <rect x="393" y="322" width="14" height="18" fill="#101822"/>
    <rect x="393" y="256" width="12" height="16" fill="#101822"/>
    <!-- base -->
    <path d="M350,448 H450 L456,462 H344 Z" fill="#e8e6df"/>
    <path d="M350,448 H450 L456,462 H344 Z" fill="#101822" opacity="0.15"/>
  </g>

  <!-- sea -->
  <g>
    <rect x="0" y="470" width="800" height="130" fill="#101822"/>
    <path d="M0,486 q60,-16 120,0 t120,0 t120,0 t120,0 t120,0 t200,0 V600 H0 Z" fill="#33485f" opacity="0.35"/>
    <path d="M0,520 q80,-22 160,-2 q80,20 160,-4 q80,-24 160,0 q80,24 160,-2 q80,-26 160,-2 V600 H0 Z" fill="#33485f" opacity="0.30"/>
    <path d="M0,566 q100,-30 200,-4 q100,26 200,-6 q100,-32 200,-2 q100,30 200,-4 V600 H0 Z" fill="#33485f" opacity="0.35"/>
    <g fill="none" stroke="#e8e6df" stroke-linecap="round" opacity="0.35" stroke-width="2">
      <path d="M40,500 q40,-12 90,-2"/>
      <path d="M600,494 q46,-14 100,-2"/>
      <path d="M120,552 q60,-20 130,-4"/>
      <path d="M470,546 q70,-24 150,-2"/>
      <path d="M250,584 q80,-22 160,-4"/>
    </g>
    <!-- spray against rocks -->
    <g fill="#e8e6df" opacity="0.55">
      <path d="M200,530 q-14,-42 10,-70 q-2,34 24,52 q-18,4 -34,18 Z"/>
      <path d="M628,548 q22,-46 4,-82 q22,32 52,42 q-32,10 -56,40 Z"/>
      <path d="M298,516 q-8,-26 6,-44 q0,22 18,34 Z"/>
    </g>
    <g fill="#e8e6df" opacity="0.25">
      <circle cx="196" cy="452" r="4"/><circle cx="214" cy="432" r="3"/><circle cx="230" cy="470" r="2.5"/>
      <circle cx="646" cy="452" r="4.5"/><circle cx="668" cy="430" r="3"/><circle cx="620" cy="474" r="2.5"/>
    </g>
  </g>

  <!-- rain: three depths -->
  <g stroke="#e8e6df" stroke-linecap="round" opacity="0.18" stroke-width="1">
    <path d="M20,30 l-18,44 M75,140 l-18,44 M130,60 l-18,44 M185,200 l-18,44 M240,90 l-18,44 M295,10 l-18,44 M350,170 l-18,44 M405,110 l-18,44 M460,50 l-18,44 M515,220 l-18,44 M570,80 l-18,44 M625,150 l-18,44 M680,20 l-18,44 M735,190 l-18,44 M790,120 l-18,44 M48,260 l-18,44 M158,300 l-18,44 M268,240 l-18,44 M378,330 l-18,44 M488,280 l-18,44 M598,350 l-18,44 M708,300 l-18,44 M92,390 l-18,44 M312,410 l-18,44 M532,400 l-18,44 M752,420 l-18,44"/>
  </g>
  <g stroke="#e8e6df" stroke-linecap="round" opacity="0.30" stroke-width="1.4">
    <path d="M5,250 l-26,62 M52,60 l-26,62 M99,330 l-26,62 M146,140 l-26,62 M193,400 l-26,62 M240,200 l-26,62 M287,20 l-26,62 M334,290 l-26,62 M381,120 l-26,62 M428,360 l-26,62 M475,240 l-26,62 M522,80 l-26,62 M569,410 l-26,62 M616,180 l-26,62 M663,300 l-26,62 M710,50 l-26,62 M757,340 l-26,62 M804,220 l-26,62 M28,470 l-26,62 M215,480 l-26,62 M402,466 l-26,62 M589,488 l-26,62 M776,462 l-26,62"/>
  </g>
  <g stroke="#e8e6df" stroke-linecap="round" opacity="0.45" stroke-width="2.1">
    <path d="M30,120 l-34,84 M120,300 l-34,84 M210,40 l-34,84 M300,380 l-34,84 M390,210 l-34,84 M480,90 l-34,84 M570,330 l-34,84 M660,160 l-34,84 M750,420 l-34,84 M840,260 l-34,84 M170,470 l-34,84 M520,490 l-34,84 M700,510 l-34,84"/>
  </g>
</svg>

request envelope — prompt redacted

{
  "model": "anthropic/claude-opus-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": "e1ccbf59-1f3c-41f8-b074-88ee6a731c02"
}
SVG · lighthouse-storm · Benchmark Prompts