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 on a rocky outcrop in a windblown rainstorm">
  <rect width="800" height="600" fill="#101a2b"/>
  
  <path d="M0 106 C95 72 145 118 238 88 S408 55 500 89 S691 126 800 71 L800 0 L0 0Z" fill="#25364b"/>
  <path d="M0 194 C88 155 161 205 254 170 S409 125 518 164 S694 199 800 142 L800 83 C699 137 616 111 507 89 S352 80 238 111 S95 95 0 130Z" fill="#25364b"/>
  
  <g fill="none" stroke="#60758b" stroke-width="4" stroke-linecap="round" opacity="0.62">
    <path d="M-15 145 C53 120 93 123 144 139 C185 152 222 153 277 129"/>
    <path d="M394 82 C462 59 522 69 574 91 C625 112 681 106 743 77"/>
    <path d="M567 207 C643 172 707 175 819 134"/>
    <path d="M-22 265 C65 237 126 245 198 218"/>
    <path d="M44 64 C108 42 159 48 213 68"/>
  </g>

  <path d="M394 218 L795 109 L795 272 L399 277Z" fill="#f5d66b" opacity="0.22"/>
  <path d="M397 232 L796 145" fill="none" stroke="#f5d66b" stroke-width="3" opacity="0.72"/>
  <path d="M397 268 L786 252" fill="none" stroke="#f5d66b" stroke-width="2" opacity="0.48"/>

  <g fill="none" stroke="#d8e1dc" stroke-width="3" stroke-linecap="round" opacity="0.65">
    <path d="M-18 174 L50 132"/>
    <path d="M23 251 L104 201"/>
    <path d="M96 330 L167 286"/>
    <path d="M162 211 L224 173"/>
    <path d="M218 301 L286 258"/>
    <path d="M284 145 L352 102"/>
    <path d="M330 204 L395 164"/>
    <path d="M462 137 L529 95"/>
    <path d="M545 329 L616 285"/>
    <path d="M604 186 L673 142"/>
    <path d="M681 344 L752 300"/>
    <path d="M737 215 L808 171"/>
    <path d="M-3 413 L66 370"/>
    <path d="M123 422 L194 378"/>
  </g>
  <g fill="none" stroke="#60758b" stroke-width="2" stroke-linecap="round" opacity="0.7">
    <path d="M-5 305 L45 274"/>
    <path d="M68 166 L117 136"/>
    <path d="M185 113 L236 81"/>
    <path d="M244 380 L294 349"/>
    <path d="M312 72 L362 41"/>
    <path d="M429 337 L480 305"/>
    <path d="M502 190 L553 158"/>
    <path d="M584 56 L634 25"/>
    <path d="M649 430 L700 398"/>
    <path d="M713 95 L765 63"/>
  </g>

  <path d="M0 441 C53 411 99 422 147 446 C190 468 239 463 280 442 C333 414 377 421 419 447 C462 474 507 476 553 448 C604 417 661 414 718 441 C752 457 779 456 800 447 L800 600 L0 600Z" fill="#25364b"/>
  <g fill="none" stroke="#60758b" stroke-width="5" stroke-linecap="round">
    <path d="M-10 479 C42 453 92 458 139 481 C185 503 230 496 274 474"/>
    <path d="M294 489 C344 462 390 466 433 490 C476 513 526 509 568 483"/>
    <path d="M580 497 C637 463 697 469 750 495 C773 506 792 505 813 494"/>
    <path d="M10 551 C68 520 121 528 164 549"/>
    <path d="M602 559 C655 530 718 533 783 560"/>
  </g>

  <path d="M205 520 L257 457 L310 445 L350 391 L404 404 L449 359 L500 389 L562 382 L614 425 L676 451 L728 520Z" fill="#101a2b"/>
  <path d="M189 542 L251 479 L311 468 L350 412 L405 425 L451 378 L500 407 L558 400 L611 443 L683 469 L740 542Z" fill="#25364b"/>
  <g fill="none" stroke="#60758b" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
    <path d="M223 520 L288 496 L324 507 L367 463 L407 485 L456 436 L493 459"/>
    <path d="M449 519 L508 476 L545 488 L581 450 L635 481 L688 496"/>
    <path d="M280 478 L309 445 L342 454"/>
    <path d="M534 420 L565 401 L593 428"/>
  </g>

  <path d="M337 413 L365 253 L430 253 L462 413Z" fill="#d8e1dc"/>
  <path d="M337 413 L365 253 L383 253 L366 413Z" fill="#60758b"/>
  <path d="M430 253 L462 413 L445 413 L415 253Z" fill="#60758b"/>
  <path d="M351 332 L449 332" stroke="#25364b" stroke-width="8"/>
  <path d="M360 283 L435 283" stroke="#25364b" stroke-width="7"/>
  <path d="M343 414 L456 414 L471 433 L328 433Z" fill="#b96b5d"/>
  
  <path d="M353 252 L362 217 L434 217 L444 252Z" fill="#25364b"/>
  <path d="M363 217 L372 187 L425 187 L434 217Z" fill="#d8e1dc"/>
  <path d="M372 187 L386 169 L411 169 L425 187Z" fill="#b96b5d"/>
  <path d="M379 169 L398 143 L418 169Z" fill="#25364b"/>
  <path d="M397 143 L397 119" stroke="#d8e1dc" stroke-width="5" stroke-linecap="round"/>
  <path d="M365 218 L432 218" stroke="#f5d66b" stroke-width="5"/>
  <path d="M376 190 L376 216 M397 188 L397 216 M419 190 L419 216" stroke="#25364b" stroke-width="4"/>
  
  <path d="M345 253 L450 253" stroke="#b96b5d" stroke-width="7"/>
  <path d="M382 305 L407 305 L410 331 L379 331Z" fill="#25364b"/>
  <path d="M379 352 L414 352 L419 413 L374 413Z" fill="#25364b"/>
  
  <g fill="none" stroke="#d8e1dc" stroke-width="3" stroke-linecap="round" opacity="0.72">
    <path d="M266 424 L321 390"/>
    <path d="M475 343 L537 304"/>
    <path d="M525 252 L588 213"/>
    <path d="M647 128 L710 89"/>
  </g>
</svg>

request envelope — prompt redacted

{
  "model": "openai/gpt-5.6-terra",
  "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": "9bd8bad1-4193-4e89-a67d-78fe58951673"
}