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" role="img" aria-label="A lighthouse standing on a rocky outcrop during a storm">
  <title>Lighthouse in a storm</title>
  <rect width="800" height="600" fill="#17283d"/>
  
  <path d="M0 150 Q90 105 180 145 T360 132 T540 150 T800 125 L800 220 L0 220Z" fill="#17283d" opacity=".72"/>
  <path d="M0 205 Q110 165 220 205 T430 193 T650 212 T800 185" fill="none" stroke="#86a9b8" stroke-width="5" opacity=".55" stroke-linecap="round"/>
  <path d="M-20 255 Q90 220 195 250 T405 243 T620 260 T825 235" fill="none" stroke="#86a9b8" stroke-width="4" opacity=".42" stroke-linecap="round"/>
  
  <path d="M0 345 Q115 318 230 340 T460 333 T680 349 T800 332 L800 600 L0 600Z" fill="#29465b"/>
  <path d="M0 390 Q120 362 250 389 T500 380 T800 391" fill="none" stroke="#86a9b8" stroke-width="4" opacity=".55"/>
  <path d="M0 455 Q120 425 250 451 T510 447 T800 456" fill="none" stroke="#86a9b8" stroke-width="3" opacity=".4"/>
  
  <g stroke="#86a9b8" stroke-linecap="round">
    <path d="M82 92 l-23 48" stroke-width="5" opacity=".7"/>
    <path d="M145 68 l-23 49" stroke-width="4" opacity=".55"/>
    <path d="M213 118 l-22 47" stroke-width="5" opacity=".68"/>
    <path d="M278 70 l-22 49" stroke-width="4" opacity=".58"/>
    <path d="M520 73 l-22 48" stroke-width="5" opacity=".62"/>
    <path d="M590 120 l-21 48" stroke-width="4" opacity=".55"/>
    <path d="M663 68 l-22 49" stroke-width="5" opacity=".7"/>
    <path d="M738 112 l-21 47" stroke-width="4" opacity=".55"/>
    <path d="M45 220 l-20 44" stroke-width="4" opacity=".52"/>
    <path d="M118 270 l-21 46" stroke-width="5" opacity=".65"/>
    <path d="M190 218 l-21 47" stroke-width="4" opacity=".5"/>
    <path d="M265 278 l-21 47" stroke-width="5" opacity=".62"/>
    <path d="M505 218 l-22 47" stroke-width="4" opacity=".54"/>
    <path d="M578 275 l-21 46" stroke-width="5" opacity=".66"/>
    <path d="M655 224 l-21 46" stroke-width="4" opacity=".5"/>
    <path d="M735 270 l-22 47" stroke-width="5" opacity=".62"/>
  </g>
  
  <path d="M392 167 L800 92 L800 194 L392 185Z" fill="#f1d77d" opacity=".82"/>
  <path d="M392 177 L800 145 L800 184 L392 184Z" fill="#f1d77d" opacity=".42"/>
  
  <g fill="#ddd5bc" stroke="#202833" stroke-width="7" stroke-linejoin="round">
    <path d="M345 191 L447 191 L432 420 L360 420Z"/>
    <path d="M334 187 L458 187 L450 201 L341 201Z"/>
    <rect x="350" y="145" width="92" height="42" rx="4"/>
    <path d="M338 145 L454 145 L471 163 L321 163Z"/>
    <path d="M330 142 L462 142 L443 119 L349 119Z"/>
    <path d="M388 119 L388 92 L402 92 L402 119Z"/>
  </g>
  
  <rect x="369" y="151" width="54" height="28" fill="#f1d77d" stroke="#202833" stroke-width="5"/>
  <path d="M382 151 V179 M410 151 V179" stroke="#202833" stroke-width="4"/>
  <path d="M367 231 L425 231 M365 276 L423 276 M363 322 L421 322" fill="none" stroke="#202833" stroke-width="5" opacity=".7"/>
  <path d="M382 352 L407 352 L407 420 L382 420Z" fill="#202833"/>
  
  <path d="M0 600 L0 548 Q55 515 103 535 Q151 496 207 526 Q249 480 304 510 Q351 469 407 501 Q457 470 514 509 Q567 478 621 518 Q674 490 731 532 Q766 514 800 530 L800 600Z" fill="#202833"/>
  <path d="M238 520 L287 478 L342 501 L383 464 L429 495 L480 475 L535 519 L495 548 L425 531 L374 552 L315 532Z" fill="#202833" stroke="#17283d" stroke-width="6" stroke-linejoin="round"/>
  <path d="M286 479 L342 501 L383 464 L429 495" fill="none" stroke="#86a9b8" stroke-width="4" opacity=".55"/>
  
  <g fill="none" stroke="#86a9b8" stroke-linecap="round">
    <path d="M20 307 Q90 282 157 306" stroke-width="5" opacity=".62"/>
    <path d="M63 335 Q128 312 195 330" stroke-width="3" opacity=".48"/>
    <path d="M575 329 Q650 300 725 323" stroke-width="5" opacity=".6"/>
    <path d="M645 355 Q720 330 790 350" stroke-width="3" opacity=".48"/>
  </g>
</svg>

request envelope — prompt redacted

{
  "model": "openai/gpt-5.6-luna",
  "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": "cb3bc47b-271f-4c9b-a222-cd70fff1d39b"
}