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="#162536"/>
  
  <path d="M0 118 C104 82 170 137 260 101 C354 63 438 110 534 79 C638 45 711 96 800 60 L800 0 L0 0Z" fill="#364657"/>
  <path d="M0 154 C95 114 190 171 289 135 C399 95 484 153 578 115 C665 80 733 119 800 96" fill="none" stroke="#7894a5" stroke-width="4"/>
  <path d="M0 204 C110 166 190 216 288 181 C392 145 481 197 577 164 C671 131 731 166 800 142" fill="none" stroke="#364657" stroke-width="18"/>
  
  <g stroke="#7894a5" stroke-width="4" stroke-linecap="round" opacity="0.85">
    <path d="M28 174 L5 211"/><path d="M94 128 L67 169"/><path d="M154 220 L124 265"/>
    <path d="M229 150 L204 189"/><path d="M307 77 L282 116"/><path d="M382 173 L352 218"/>
    <path d="M471 102 L444 144"/><path d="M550 204 L518 253"/><path d="M636 119 L606 166"/>
    <path d="M728 176 L697 224"/><path d="M783 112 L754 157"/><path d="M49 304 L19 350"/>
    <path d="M117 263 L91 304"/><path d="M185 340 L153 390"/><path d="M269 246 L239 293"/>
    <path d="M343 307 L316 350"/><path d="M432 247 L402 294"/><path d="M514 323 L482 372"/>
    <path d="M613 267 L585 310"/><path d="M699 328 L667 377"/><path d="M772 259 L745 301"/>
  </g>

  <path d="M435 207 L800 129 L800 311 L435 257Z" fill="#e8d894" opacity="0.78"/>
  <path d="M439 219 L800 165 M439 245 L800 280" fill="none" stroke="#e8d894" stroke-width="3" opacity="0.9"/>

  <g stroke="#7894a5" stroke-width="4" stroke-linecap="round" opacity="0.9">
    <path d="M22 411 L0 445"/><path d="M81 373 L52 419"/><path d="M151 426 L119 475"/>
    <path d="M243 365 L215 409"/><path d="M326 434 L295 482"/><path d="M519 411 L490 456"/>
    <path d="M595 363 L567 406"/><path d="M680 430 L648 479"/><path d="M770 385 L739 432"/>
  </g>

  <path d="M0 444 C56 424 104 438 151 466 C202 496 235 477 277 452 C319 427 365 438 407 469 C458 506 508 496 547 462 C594 421 650 428 704 459 C746 483 777 486 800 479 L800 600 L0 600Z" fill="#364657"/>
  <path d="M0 510 C64 485 107 507 162 530 C212 551 256 526 302 507 C354 486 406 500 455 530 C505 560 556 541 597 516 C647 486 707 507 800 539 L800 600 L0 600Z" fill="#162536"/>
  
  <path d="M144 499 L209 451 L258 463 L301 412 L357 429 L397 382 L455 402 L505 450 L569 469 L628 530 L0 540 L0 516 L73 492Z" fill="#364657"/>
  <path d="M177 486 L233 470 L269 431 L306 446 L349 400 L386 416 L414 389 L453 416 L490 458" fill="none" stroke="#7894a5" stroke-width="4" stroke-linejoin="round"/>
  <path d="M231 470 L249 510 M306 446 L325 494 M386 416 L401 472 M453 416 L467 476 M177 486 L195 520 M505 450 L526 500" fill="none" stroke="#162536" stroke-width="7"/>

  <g>
    <path d="M337 397 L357 245 L438 245 L462 397Z" fill="#d9d3bc" stroke="#162536" stroke-width="7" stroke-linejoin="round"/>
    <path d="M350 307 L448 307 L454 342 L345 342Z" fill="#b44b3f"/>
    <path d="M344 360 L455 360" stroke="#162536" stroke-width="6"/>
    <path d="M359 245 L367 397 M415 245 L424 397" stroke="#7894a5" stroke-width="4" opacity="0.75"/>
    
    <path d="M327 244 L337 205 L457 205 L470 244Z" fill="#b44b3f" stroke="#162536" stroke-width="7" stroke-linejoin="round"/>
    <path d="M342 205 L349 170 L445 170 L454 205Z" fill="#d9d3bc" stroke="#162536" stroke-width="7" stroke-linejoin="round"/>
    <path d="M358 174 L358 205 M382 174 L382 205 M406 174 L406 205 M430 174 L430 205" stroke="#162536" stroke-width="4"/>
    <path d="M333 170 L349 143 L445 143 L462 170Z" fill="#b44b3f" stroke="#162536" stroke-width="7" stroke-linejoin="round"/>
    <path d="M397 143 L397 113" stroke="#7894a5" stroke-width="6"/>
    <path d="M381 113 L413 113" stroke="#7894a5" stroke-width="5"/>
    <path d="M397 113 L418 92" stroke="#7894a5" stroke-width="5"/>
    
    <rect x="370" y="323" width="29" height="47" rx="3" fill="#162536"/>
    <path d="M379 323 L379 370 M389 323 L389 370" stroke="#7894a5" stroke-width="3"/>
    <path d="M350 279 L369 279 M426 279 L445 279" stroke="#162536" stroke-width="6"/>
  </g>

  <g fill="none" stroke="#7894a5" stroke-width="5" stroke-linecap="round">
    <path d="M7 552 C52 531 87 536 127 554 C162 570 194 571 228 555"/>
    <path d="M522 565 C564 540 605 540 643 558 C688 579 738 572 794 548"/>
    <path d="M41 579 C82 559 120 565 154 582"/>
  </g>

  <g stroke="#7894a5" stroke-width="4" stroke-linecap="round" opacity="0.8">
    <path d="M68 452 L39 496"/><path d="M120 475 L90 521"/><path d="M584 462 L554 508"/>
    <path d="M669 487 L638 535"/><path d="M751 449 L721 494"/>
  </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"
}