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 1200 800" role="img" aria-labelledby="title desc">
  <title id="title">Lighthouse on a rocky outcrop during a storm</title>
  <desc id="desc">A red and white lighthouse shines a broad golden beam through wind-driven rain above rough seas and dark rocks.</desc>

  <rect width="1200" height="800" fill="#0B1D2A"/>

  <!-- Storm clouds -->
  <g fill="#29485A">
    <path d="M0 92C78 48 150 67 190 104c58-53 158-37 184 28 69-23 143 9 159 72H0Z"/>
    <path d="M420 42c70-42 153-16 178 39 52-35 139-15 155 47 66-25 151 15 167 82H399c-10-66-4-129 21-168Z"/>
    <path d="M832 58c54-35 126-16 151 33 74-27 171 12 217 72v92H793c4-82 13-153 39-197Z"/>
    <path d="M0 236c100-36 212-12 267 43 56-35 151-22 184 44H0Z" opacity=".65"/>
  </g>

  <!-- Lighthouse beam -->
  <path d="M584 231L1200 105V446L584 267Z" fill="#F3D36A" fill-opacity=".28"/>
  <path d="M584 240L1200 183V367L584 260Z" fill="#F3D36A" fill-opacity=".34"/>
  <path d="M585 247L1200 242V315L585 255Z" fill="#F3D36A" fill-opacity=".38"/>

  <!-- Wind streaks -->
  <g fill="none" stroke="#D9E3DE" stroke-linecap="round" opacity=".46">
    <path d="M42 310C150 280 253 286 350 311" stroke-width="5"/>
    <path d="M91 347C201 318 325 331 408 358" stroke-width="3"/>
    <path d="M732 472c119-33 245-21 363 18" stroke-width="5"/>
    <path d="M774 509c91-20 186-9 275 21" stroke-width="3"/>
    <path d="M196 179c92-27 177-17 257 8" stroke-width="4"/>
  </g>

  <!-- Driving rain -->
  <g stroke="#D9E3DE" stroke-linecap="round" opacity=".62">
    <path d="M54 142l-37 69M126 116l-45 84M212 154l-38 72M293 95l-48 90M371 138l-40 76" stroke-width="4"/>
    <path d="M470 86l-42 80M552 115l-39 74M650 72l-49 92M752 122l-42 80M840 91l-48 91" stroke-width="4"/>
    <path d="M954 120l-41 78M1060 82l-48 91M1160 137l-38 72" stroke-width="4"/>
    <path d="M38 386l-42 80M136 368l-48 91M243 409l-39 74M351 378l-48 91M432 432l-38 72" stroke-width="5"/>
    <path d="M694 350l-43 82M786 384l-49 92M900 336l-42 80M1009 391l-45 85M1131 347l-50 94" stroke-width="5"/>
    <path d="M83 253l-25 47M266 267l-28 53M462 244l-27 51M710 240l-30 57M888 263l-26 49M1084 246l-30 57" stroke-width="3"/>
  </g>

  <!-- Rough sea -->
  <path d="M0 584c71-24 126 35 196 7 75-30 137 29 207 3 75-28 134 34 213 2 77-32 141 28 215 1 82-30 148 31 215 2 57-25 110-4 154 19v182H0Z" fill="#29485A"/>
  <g fill="none" stroke="#D9E3DE" stroke-linecap="round">
    <path d="M0 625c54-38 101-37 151-2 50 34 96 34 146-3 54-40 107-36 154 5" stroke-width="8"/>
    <path d="M780 630c56-34 108-34 157 1 45 32 92 31 139-3 43-31 84-26 124 4" stroke-width="8"/>
    <path d="M25 700c58-31 115-27 166 9 47 33 97 29 147-8" stroke-width="6" opacity=".8"/>
    <path d="M860 715c59-34 114-31 166 7 49 35 103 27 156-14" stroke-width="6" opacity=".8"/>
    <path d="M94 658c30-16 58-13 85 7M992 667c32-18 62-14 89 8" stroke-width="4"/>
  </g>

  <!-- Rocky outcrop -->
  <path d="M258 800l20-72 52-31 31-68 58-31 47-49 68 10 52 34 70 20 48 60 75 30 47 97Z" fill="#17252D"/>
  <path d="M320 721l64-17 37-55 69-20 47 28 69-17 43 48 71 18 30 94H278Z" fill="#0B1D2A"/>
  <g fill="none" stroke="#29485A" stroke-width="7" stroke-linecap="round">
    <path d="M370 696l54-29 40-71"/>
    <path d="M493 741l32-65 67-39"/>
    <path d="M617 744l-9-62 60 27"/>
    <path d="M322 752l58-13"/>
  </g>
  <g fill="#D9E3DE">
    <path d="M245 678c34-25 66-24 98 2-39-10-70-5-98-2Z"/>
    <path d="M680 685c37-21 76-13 106 18-42-16-75-12-106-18Z"/>
    <path d="M720 734c49-18 94-7 129 31-50-19-88-15-129-31Z" opacity=".85"/>
  </g>

  <!-- Lighthouse tower -->
  <path d="M456 609L486 298H608l31 322c-57 27-125 23-183-11Z" fill="#D9E3DE" stroke="#0B1D2A" stroke-width="9"/>
  <path d="M472 455h151l10 92c-52 20-111 19-168-4Z" fill="#A9473B"/>
  <path d="M465 543c55 22 113 24 168 4l6 73c-58 27-126 23-183-11Z" fill="#D9E3DE"/>
  <path d="M482 350h132l9 105H472Z" fill="#D9E3DE"/>

  <!-- Door and small windows -->
  <path d="M525 604v-75c0-22 16-38 36-38s36 16 36 38v89Z" fill="#A9473B" stroke="#0B1D2A" stroke-width="8"/>
  <circle cx="578" cy="552" r="5" fill="#F3D36A"/>
  <rect x="535" y="384" width="43" height="53" rx="4" fill="#F3D36A" stroke="#0B1D2A" stroke-width="8"/>
  <path d="M556 386v49M536 410h40" stroke="#0B1D2A" stroke-width="6"/>

  <!-- Gallery -->
  <rect x="465" y="282" width="166" height="20" rx="4" fill="#17252D"/>
  <path d="M477 282v-25M500 282v-25M596 282v-25M619 282v-25M474 258h148" fill="none" stroke="#D9E3DE" stroke-width="6"/>

  <!-- Lantern room -->
  <rect x="492" y="209" width="112" height="54" fill="#F3D36A" stroke="#0B1D2A" stroke-width="9"/>
  <path d="M520 211v50M548 211v50M576 211v50" stroke="#0B1D2A" stroke-width="7"/>
  <path d="M479 210l24-35h93l22 35Z" fill="#A9473B" stroke="#0B1D2A" stroke-width="9"/>
  <path d="M500 174l47-30 49 30Z" fill="#A9473B" stroke="#0B1D2A" stroke-width="9"/>

  <!-- Wind-bent finial and flag -->
  <path d="M548 145v-38M548 112c-35-20-69-18-102-5 34 2 63 13 88 31Z" fill="#A9473B" stroke="#0B1D2A" stroke-width="6" stroke-linejoin="round"/>
  <path d="M548 108l20-19" stroke="#D9E3DE" stroke-width="5" stroke-linecap="round"/>

  <!-- Foreground spray -->
  <g fill="none" stroke="#D9E3DE" stroke-linecap="round">
    <path d="M222 741c18-40 42-53 69-67M231 751c42-22 77-22 108-4M753 757c23-40 55-57 94-58M773 771c45-28 85-27 119 1" stroke-width="7"/>
    <path d="M260 690l-7-28M285 680l10-31M825 707l8-31M852 708l28-21" stroke-width="5"/>
  </g>
</svg>

request envelope — prompt redacted

{
  "model": "openai/gpt-5.6-sol",
  "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": "90a83792-ef53-41af-8207-229c287092e6"
}