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 pale lighthouse casts a strong golden beam across a dark, rain-filled sky above crashing waves and jagged rocks.</desc>

  <!-- Palette: #101827 #26384A #5B7180 #DCE6DF #F2D27A #A84B3F -->
  <rect width="1200" height="800" fill="#101827"/>

  <!-- Layered storm clouds -->
  <path d="M0 84C90 31 174 79 239 61C326 37 385 9 479 48C558 80 610 68 683 39C778 1 852 47 921 61C1014 80 1090 30 1200 55V203H0Z" fill="#26384A"/>
  <path d="M0 157C78 119 156 168 218 139C292 105 350 119 414 151C487 188 545 150 614 123C702 88 754 139 830 154C928 174 1021 109 1200 145V274H0Z" fill="#5B7180"/>
  <path d="M0 209C109 179 172 223 268 203C347 187 414 205 482 238C547 269 626 209 705 207C788 205 850 255 939 234C1033 212 1110 224 1200 252V339H0Z" fill="#26384A"/>

  <!-- Distant squall -->
  <path d="M0 335C160 311 305 341 449 315C592 290 741 322 891 303C1000 289 1097 303 1200 327V468H0Z" fill="#101827"/>

  <!-- Lighthouse beam -->
  <path d="M842 229L50 145L50 376L842 264Z" fill="#F2D27A" opacity=".30"/>
  <path d="M842 239L70 211L70 301L842 255Z" fill="#F2D27A" opacity=".43"/>
  <path d="M842 246L74 257" fill="none" stroke="#F2D27A" stroke-width="5" stroke-linecap="round" opacity=".75"/>

  <!-- Wind streaks -->
  <g fill="none" stroke="#5B7180" stroke-width="5" stroke-linecap="round">
    <path d="M28 291C148 270 249 276 350 292"/>
    <path d="M118 363C231 336 338 340 435 357"/>
    <path d="M18 426C126 399 246 407 327 421"/>
    <path d="M908 105C1011 80 1101 88 1180 105"/>
    <path d="M958 171C1041 151 1112 158 1189 172"/>
  </g>

  <!-- Driving rain -->
  <g stroke="#DCE6DF" stroke-width="4" stroke-linecap="round" opacity=".65">
    <path d="M71 122l-31 57M153 94l-39 72M247 133l-32 59M343 73l-43 80M444 116l-36 67M544 69l-42 76M649 111l-35 64M747 72l-40 73M957 91l-38 70M1070 74l-43 80M1175 111l-35 64"/>
    <path d="M103 250l-36 67M210 221l-42 78M310 272l-33 60M426 233l-39 72M539 286l-34 62M645 236l-43 79M751 293l-33 61M965 248l-40 74M1082 284l-35 65M1178 230l-41 76"/>
    <path d="M54 399l-35 64M181 385l-43 80M294 430l-34 62M411 376l-41 76M523 421l-35 65M645 385l-39 71M760 425l-34 63M970 390l-42 78M1095 422l-36 66M1180 370l-39 72"/>
  </g>

  <!-- Sea -->
  <path d="M0 532C71 495 132 505 190 544C257 589 315 571 375 529C440 483 501 495 563 539C630 587 694 584 754 536C816 487 883 491 944 538C1012 591 1071 576 1200 515V800H0Z" fill="#26384A"/>
  <path d="M0 617C62 573 126 579 185 620C247 663 313 661 374 613C434 565 497 571 556 620C617 671 681 671 744 620C807 568 875 568 940 618C1008 670 1073 666 1200 592V800H0Z" fill="#5B7180"/>

  <!-- Wave crests -->
  <g fill="none" stroke="#DCE6DF" stroke-linecap="round" stroke-linejoin="round">
    <path d="M0 562C52 525 105 526 151 553C104 544 79 566 63 591" stroke-width="12"/>
    <path d="M189 605C247 564 304 568 347 600C300 587 267 607 244 635" stroke-width="10"/>
    <path d="M419 560C470 523 525 529 568 562C524 548 490 565 462 595" stroke-width="11"/>
    <path d="M670 598C730 551 789 557 833 593C783 577 745 597 720 626" stroke-width="10"/>
    <path d="M962 568C1017 526 1073 530 1121 563C1068 549 1036 570 1008 601" stroke-width="12"/>
    <path d="M46 704C100 669 157 674 202 708M291 730C353 687 409 696 451 729M722 716C784 674 843 681 889 718M1014 699C1076 657 1130 666 1192 704" stroke-width="8" opacity=".8"/>
  </g>

  <!-- Rocky outcrop -->
  <path d="M585 800L614 730L658 704L681 648L726 622L755 566L798 546L824 494L875 478L922 503L950 554L1008 577L1025 634L1082 665L1108 729L1166 758L1200 800Z" fill="#101827"/>
  <path d="M614 800L654 738L706 722L732 660L788 641L813 579L859 554L898 577L924 633L977 651L1001 709L1058 733L1094 800Z" fill="#26384A"/>
  <path d="M662 741l70-19 40-72 43 9 35-77 49 17 35 68 55 16 27 59 73 20-21 38H662Z" fill="#5B7180"/>
  <path d="M704 720l43-15 25-38M820 648l32-52 37 14M927 671l46 18 20 47M1058 741l37 24" fill="none" stroke="#101827" stroke-width="10" stroke-linecap="round"/>

  <!-- Lighthouse tower shadow -->
  <path d="M764 506L786 291H901L930 506Z" fill="#26384A"/>

  <!-- Lighthouse tower -->
  <path d="M779 506L799 290H880L907 506Z" fill="#DCE6DF"/>
  <path d="M791 378H891L898 433H785Z" fill="#A84B3F"/>
  <path d="M779 506H908L922 531H765Z" fill="#A84B3F"/>

  <!-- Tower details -->
  <path d="M820 333h35v48h-39Z" fill="#101827"/>
  <path d="M808 453h51v53h-56Z" fill="#101827"/>
  <path d="M833 333v48M830 453v53" stroke="#F2D27A" stroke-width="5" opacity=".8"/>
  <path d="M797 407L891 392M788 470L900 451" stroke="#5B7180" stroke-width="5" opacity=".55"/>

  <!-- Lantern gallery -->
  <path d="M776 289H906L899 307H782Z" fill="#A84B3F"/>
  <path d="M785 271H898V289H785Z" fill="#26384A"/>
  <path d="M794 221H889V271H794Z" fill="#F2D27A"/>
  <path d="M806 221V271M830 221V271M854 221V271M878 221V271" stroke="#101827" stroke-width="7"/>
  <path d="M784 215H900V227H784Z" fill="#DCE6DF"/>
  <path d="M775 211H908V220H775Z" fill="#A84B3F"/>

  <!-- Roof and finial -->
  <path d="M785 211L841 166L899 211Z" fill="#A84B3F"/>
  <path d="M814 190L841 166L872 190Z" fill="#26384A" opacity=".45"/>
  <path d="M841 166V143" stroke="#DCE6DF" stroke-width="7" stroke-linecap="round"/>
  <path d="M829 145H853" stroke="#DCE6DF" stroke-width="6" stroke-linecap="round"/>

  <!-- Gallery railing -->
  <g fill="none" stroke="#DCE6DF" stroke-width="5">
    <path d="M770 274H913"/>
    <path d="M777 274v29M796 274v25M889 274v25M906 274v29"/>
  </g>

  <!-- Spray against rocks -->
  <g fill="none" stroke="#DCE6DF" stroke-linecap="round">
    <path d="M570 679C604 654 631 654 657 674C628 635 627 606 643 580" stroke-width="10"/>
    <path d="M1092 650C1120 613 1151 601 1191 611C1154 581 1142 548 1154 516" stroke-width="11"/>
    <path d="M1038 614C1070 590 1098 588 1124 605" stroke-width="7"/>
  </g>

  <!-- Foreground rain -->
  <g stroke="#DCE6DF" stroke-width="5" stroke-linecap="round" opacity=".8">
    <path d="M138 494l-41 76M350 501l-45 83M528 544l-36 67M690 488l-40 75M1003 471l-42 78M1145 493l-40 74"/>
  </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"
}