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">
  <!-- palette: #14212e sky, #2e4356 sea/cloud, #0c1520 rock, #e8eef2 white/rain, #b03434 red, #f5d76e beam -->
  <rect width="800" height="600" fill="#14212e"/>

  <!-- storm clouds, wind-streaked -->
  <g fill="#2e4356">
    <ellipse cx="140" cy="70" rx="180" ry="38"/>
    <ellipse cx="360" cy="45" rx="220" ry="30"/>
    <ellipse cx="660" cy="80" rx="200" ry="42"/>
    <ellipse cx="240" cy="115" rx="160" ry="26"/>
    <ellipse cx="580" cy="130" rx="150" ry="22"/>
  </g>
  <g stroke="#14212e" stroke-width="5" opacity="0.6">
    <line x1="40" y1="70" x2="300" y2="58"/>
    <line x1="420" y1="100" x2="740" y2="82"/>
    <line x1="120" y1="120" x2="380" y2="108"/>
  </g>

  <!-- light beams -->
  <g fill="#f5d76e">
    <polygon points="418,208 800,110 800,190" opacity="0.75"/>
    <polygon points="418,208 40,255 40,330" opacity="0.45"/>
  </g>

  <!-- rain: wind-driven diagonal strokes -->
  <g stroke="#e8eef2" stroke-width="2" opacity="0.5" stroke-linecap="round">
    <line x1="80" y1="30" x2="52" y2="90"/>
    <line x1="150" y1="140" x2="122" y2="200"/>
    <line x1="60" y1="230" x2="32" y2="290"/>
    <line x1="200" y1="60" x2="172" y2="120"/>
    <line x1="250" y1="200" x2="222" y2="260"/>
    <line x1="130" y1="330" x2="102" y2="390"/>
    <line x1="300" y1="110" x2="272" y2="170"/>
    <line x1="330" y1="290" x2="302" y2="350"/>
    <line x1="240" y1="360" x2="212" y2="420"/>
    <line x1="520" y1="40" x2="492" y2="100"/>
    <line x1="560" y1="180" x2="532" y2="240"/>
    <line x1="620" y1="60" x2="592" y2="120"/>
    <line x1="680" y1="200" x2="652" y2="260"/>
    <line x1="730" y1="90" x2="702" y2="150"/>
    <line x1="640" y1="320" x2="612" y2="380"/>
    <line x1="740" y1="260" x2="712" y2="320"/>
    <line x1="560" y1="330" x2="532" y2="390"/>
    <line x1="700" y1="400" x2="672" y2="460"/>
    <line x1="90" y1="420" x2="62" y2="480"/>
    <line x1="300" y1="430" x2="272" y2="490"/>
    <line x1="500" y1="120" x2="472" y2="180"/>
    <line x1="180" y1="260" x2="152" y2="320"/>
    <line x1="760" y1="30" x2="732" y2="90"/>
    <line x1="620" y1="440" x2="592" y2="500"/>
  </g>

  <!-- sea -->
  <path d="M0,470 Q60,445 130,465 Q200,485 270,460 Q340,438 410,462 Q480,486 550,458 Q620,435 690,460 Q750,480 800,455 L800,600 L0,600 Z" fill="#2e4356"/>
  <!-- wave crests -->
  <g stroke="#e8eef2" stroke-width="4" fill="none" stroke-linecap="round" opacity="0.8">
    <path d="M30,470 Q75,452 125,466"/>
    <path d="M180,478 Q230,455 275,464"/>
    <path d="M470,480 Q525,455 565,462"/>
    <path d="M640,470 Q690,452 735,464"/>
    <path d="M90,530 Q140,512 190,526"/>
    <path d="M560,535 Q615,515 665,528"/>
  </g>

  <!-- rocky outcrop -->
  <path d="M280,600 L295,520 L330,480 L360,495 L390,460 L440,455 L480,485 L510,470 L545,510 L560,600 Z" fill="#0c1520"/>
  <path d="M320,600 L340,540 L385,515 L430,530 L470,510 L505,555 L515,600 Z" fill="#2e4356" opacity="0.35"/>
  <!-- spray against rocks -->
  <g fill="#e8eef2" opacity="0.85">
    <circle cx="292" cy="512" r="6"/>
    <circle cx="278" cy="498" r="4"/>
    <circle cx="303" cy="492" r="3.5"/>
    <circle cx="266" cy="516" r="3"/>
    <circle cx="551" cy="500" r="5"/>
    <circle cx="562" cy="486" r="3.5"/>
    <circle cx="540" cy="486" r="3"/>
    <circle cx="573" cy="505" r="3"/>
  </g>

  <!-- lighthouse tower -->
  <polygon points="398,240 438,240 452,470 384,470" fill="#e8eef2"/>
  <!-- red bands -->
  <polygon points="396.5,268 439.5,268 442,305 394.5,305" fill="#b03434"/>
  <polygon points="392.8,340 443.6,340 446,378 390.3,378" fill="#b03434"/>
  <polygon points="388.8,415 447.7,415 450,452 386.5,452" fill="#b03434"/>
  <!-- gallery and lantern -->
  <rect x="392" y="232" width="52" height="8" fill="#0c1520"/>
  <rect x="404" y="196" width="28" height="36" fill="#0c1520"/>
  <rect x="409" y="200" width="18" height="28" fill="#f5d76e"/>
  <!-- lantern roof -->
  <polygon points="400,196 436,196 418,172 Z" fill="#b03434"/>
  <circle cx="418" cy="170" r="4" fill="#0c1520"/>
  <!-- door -->
  <rect x="408" y="438" width="20" height="32" rx="9" fill="#0c1520"/>
</svg>

request envelope — prompt redacted

{
  "model": "anthropic/claude-fable-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": "edf0793e-2e8b-4fa7-9a2c-3f5896800c71"
}
SVG · lighthouse-storm · Benchmark Prompts