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

I’ll generate an SVG scene of a storm-battered lighthouse on a rocky outcrop, with the beam cutting through rain and wind as the main visual anchor.
```svg
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600">
    <defs>
        <linearGradient id="beamGrad" x1="0%" y1="100%" x2="100%" y2="0%">
            <stop offset="0%" stop-color="#F9DC5C" stop-opacity="0.9" />
            <stop offset="40%" stop-color="#F9DC5C" stop-opacity="0.5" />
            <stop offset="100%" stop-color="#F9DC5C" stop-opacity="0.0" />
        </linearGradient>
        <linearGradient id="beamCore" x1="0%" y1="100%" x2="100%" y2="0%">
            <stop offset="0%" stop-color="#F4F4F9" stop-opacity="0.8" />
            <stop offset="100%" stop-color="#F4F4F9" stop-opacity="0.0" />
        </linearGradient>
    </defs>

    <!-- Background Sky -->
    <rect width="800" height="600" fill="#0A1128" />

    <!-- Storm Clouds -->
    <path d="M -50,-20 Q 100,-50 250,0 T 550,30 T 850,-20 L 850,0 L -50,0 Z" fill="#182848" opacity="0.4" />
    <path d="M -50,50 Q 150,20 300,80 T 600,60 T 850,140 L 850,0 L -50,0 Z" fill="#182848" opacity="0.5" />
    <path d="M -50,150 Q 150,100 300,180 T 600,120 T 800,160 L 850,200 L 850,0 L -50,0 Z" fill="#182848" opacity="0.6" />

    <!-- Wind Swirls (Background) -->
    <path d="M -50,120 C 100,80 200,200 400,150 C 600,100 700,250 850,200" fill="none" stroke="#F4F4F9" stroke-width="2" opacity="0.15" stroke-dasharray="15, 8" />
    <path d="M -50,280 C 150,230 250,370 500,320 C 700,270 750,420 850,370" fill="none" stroke="#F4F4F9" stroke-width="3" opacity="0.1" stroke-dasharray="20, 12" />

    <!-- Rain in Background -->
    <g stroke="#F4F4F9" stroke-linecap="round" opacity="0.15">
        <line x1="50" y1="-10" x2="-10" y2="110" stroke-width="2" />
        <line x1="150" y1="20" x2="80" y2="160" stroke-width="1.5" />
        <line x1="80" y1="200" x2="0" y2="350" stroke-width="2" />
        <line x1="200" y1="280" x2="100" y2="480" stroke-width="2.5" />
        <line x1="300" y1="400" x2="180" y2="600" stroke-width="1.5" />
        <line x1="600" y1="-10" x2="500" y2="190" stroke-width="2" />
        <line x1="700" y1="50" x2="580" y2="290" stroke-width="1.5" />
        <line x1="850" y1="100" x2="720" y2="360" stroke-width="2" />
        <line x1="800" y1="250" x2="680" y2="500" stroke-width="1.5" />
        <line x1="900" y1="400" x2="750" y2="700" stroke-width="3" />
    </g>

    <!-- Light Beam (Wide Layer) -->
    <polygon points="250,135 800,-300 800,500 250,135" fill="url(#beamGrad)" />
    
    <!-- Light Beam (Narrow Core Layer) -->
    <polygon points="250,135 650,-100 650,300 250,135" fill="url(#beamCore)" />

    <!-- Rain & Particles inside the Beam -->
    <g stroke="#F4F4F9" stroke-linecap="round" opacity="0.8">
        <line x1="280" y1="150" x2="450" y2="80" stroke-width="2" />
        <line x1="350" y1="120" x2="550" y2="10" stroke-width="2.5" />
        <line x1="400" y1="160" x2="650" y2="-20" stroke-width="2" />
        <line x1="300" y1="200" x2="500" y2="60" stroke-width="1.5" />
        <line x1="450" y1="200" x2="700" y2="20" stroke-width="2" />
        <line x1="320" y1="180" x2="480" y2="100" stroke-width="1.5" />
        <line x1="500" y1="150" x2="600" y2="80" stroke-width="1" />
    </g>
    <g fill="#F9DC5C">
        <circle cx="300" cy="100" r="2" opacity="0.8" />
        <circle cx="350" cy="80" r="1.5" opacity="0.6" />
        <circle cx="400" cy="50" r="3" opacity="0.9" />
        <circle cx="280" cy="140" r="2" opacity="0.7" />
        <circle cx="320" cy="120" r="1" opacity="0.9" />
        <circle cx="450" cy="30" r="2.5" opacity="0.8" />
        <circle cx="500" cy="0" r="1.5" opacity="0.5" />
    </g>

    <!-- Deep Ocean Layers -->
    <path d="M 200,600 Q 300,480 500,500 T 800,450 L 800,600 Z" fill="#182848" />
    <path d="M 400,600 Q 500,500 700,520 T 800,500 L 800,600 Z" fill="#0A1128" />

    <!-- Left Rocks Outcrop -->
    <path d="M 0,500 L 50,420 L 100,440 L 150,380 L 220,360 L 300,370 L 350,420 L 450,390 L 550,450 L 600,600 L 0,600 Z" fill="#0E1116" />
    <path d="M 0,550 L 100,480 L 180,450 L 260,480 L 350,550 L 400,600 L 0,600 Z" fill="#0E1116" />
    
    <!-- Rock Highlights -->
    <path d="M 50,420 L 80,460 L 150,380 L 220,360" stroke="#182848" stroke-width="4" fill="none" stroke-linecap="round" />
    <path d="M 300,370 L 280,430 L 350,420 L 400,390" stroke="#182848" stroke-width="6" fill="none" stroke-linecap="round" />
    <path d="M 150,380 L 180,410 L 220,360" stroke="#182848" stroke-width="3" fill="none" stroke-linecap="round" />

    <!-- Right Rocks Outcrop -->
    <path d="M 600,600 L 630,500 L 680,520 L 720,450 L 770,480 L 800,430 L 800,600 Z" fill="#0E1116" />
    <path d="M 630,500 L 650,540 L 720,450" fill="none" stroke="#182848" stroke-width="3" stroke-linecap="round" />

    <!-- Lighthouse Base Shadow -->
    <path d="M 220,380 L 280,380 L 270,390 L 230,390 Z" fill="#0E1116" />

    <!-- Lighthouse Main Tower -->
    <polygon points="220,380 280,380 265,150 235,150" fill="#F4F4F9" />
    
    <!-- Lighthouse Red Stripe -->
    <polygon points="228.5,250 271.5,250 267.6,190 232.4,190" fill="#E63946" />

    <!-- Tower Window -->
    <rect x="242" y="300" width="16" height="20" rx="8" fill="#0E1116" />
    <rect x="242" y="300" width="16" height="20" rx="8" fill="none" stroke="#182848" stroke-width="2" />
    <rect x="245" y="303" width="5" height="7" fill="#F9DC5C" opacity="0.9" />
    <rect x="253" y="310" width="3" height="5" fill="#F9DC5C" opacity="0.7" />

    <!-- Door -->
    <path d="M 240,380 L 240,360 Q 250,350 260,360 L 260,380 Z" fill="#0E1116" />
    <circle cx="255" cy="368" r="1.5" fill="#F9DC5C" />

    <!-- Lantern Deck & Railing -->
    <rect x="225" y="145" width="50" height="10" fill="#0E1116" rx="2" />
    <!-- Railing Posts -->
    <line x1="225" y1="145" x2="225" y2="155" stroke="#0E1116" stroke-width="2" />
    <line x1="235" y1="145" x2="235" y2="155" stroke="#0E1116" stroke-width="2" />
    <line x1="245" y1="145" x2="245" y2="155" stroke="#0E1116" stroke-width="2" />
    <line x1="255" y1="145" x2="255" y2="155" stroke="#0E1116" stroke-width="2" />
    <line x1="265" y1="145" x2="265" y2="155" stroke="#0E1116" stroke-width="2" />
    <line x1="275" y1="145" x2="275" y2="155" stroke="#0E1116" stroke-width="2" />
    <!-- Railing Top Bar -->
    <line x1="223" y1="155" x2="277" y2="155" stroke="#0E1116" stroke-width="2" />

    <!-- Lantern Room -->
    <rect x="233" y="125" width="34" height="20" fill="#F9DC5C" opacity="0.9" />
    <rect x="233" y="125" width="34" height="20" fill="none" stroke="#0E1116" stroke-width="2" />
    <!-- Lantern Bars -->
    <line x1="242" y1="125" x2="242" y2="145" stroke="#0E1116" stroke-width="2" />
    <line x1="258" y1="125" x2="258" y2="145" stroke="#0E1116" stroke-width="2" />

    <!-- Lighthouse Roof -->
    <polygon points="225,125 275,125 250,100" fill="#E63946" />
    
    <!-- Lightning Rod -->
    <line x1="250" y1="100" x2="250" y2="80" stroke="#0E1116" stroke-width="3" stroke-linecap="round" />
    <circle cx="250" cy="80" r="2" fill="#0E1116" />

    <!-- Ambiance Glow around Lantern -->
    <circle cx="250" cy="135" r="25" fill="#F9DC5C" opacity="0.3" />
    <circle cx="250" cy="135" r="12" fill="#F4F4F9" opacity="0.6" />
    <ellipse cx="250" cy="135" rx="15" ry="8" fill="#F4F4F9" opacity="0.9" />

    <!-- Foreground Waves & Surf (Left) -->
    <g fill="none" stroke="#F4F4F9" stroke-width="3" stroke-linecap="round" opacity="0.7">
        <path d="M 250,550 Q 280,520 320,540 T 380,520" />
        <path d="M 420,560 Q 450,530 500,550" />
    </g>
    <g fill="#F4F4F9" opacity="0.8">
        <circle cx="280" cy="535" r="3" />
        <circle cx="310" cy="530" r="4" />
        <circle cx="350" cy="525" r="2" />
        <circle cx="460" cy="540" r="5" />
    </g>

    <!-- Foreground Waves & Surf (Right) -->
    <g fill="none" stroke="#F4F4F9" stroke-width="3" stroke-linecap="round" opacity="0.8">
        <path d="M 480,530 Q 510,490 580,510 T 650,480" />
        <path d="M 700,520 Q 720,490 760,510 T 800,480" />
    </g>
    <g fill="#F4F4F9" opacity="0.9">
        <circle cx="520" cy="500" r="4" />
        <circle cx="560" cy="495" r="5" />
        <circle cx="620" cy="490" r="3" />
        <circle cx="730" cy="505" r="4" />
        <circle cx="770" cy="495" r="3" />
    </g>

    <!-- Foreground Atmospheric Wind and Rain -->
    <g stroke="#F4F4F9" stroke-linecap="round" opacity="0.35">
        <line x1="150" y1="450" x2="80" y2="550" stroke-width="2" />
        <line x1="350" y1="500" x2="250" y2="650" stroke-width="2.5" />
        <line x1="550" y1="550" x2="400" y2="750" stroke-width="3" />
        <line x1="700" y1="600" x2="580" y2="800" stroke-width="2" />
        <line x1="800" y1="450" x2="650" y2="650" stroke-width="2" />
    </g>

    <!-- Wind Sweeps (Foreground) -->
    <path d="M -50,500 Q 150,430 350,520 T 750,450" fill="none" stroke="#F4F4F9" stroke-width="2" opacity="0.25" stroke-dasharray="25, 10" />
    <path d="M 100,600 Q 250,550 450,600 T 800,550" fill="none" stroke="#F4F4F9" stroke-width="1.5" opacity="0.2" stroke-dasharray="10, 8" />
</svg>
```
The composition places the lighthouse prominently on a dark rocky mass at left, while slanting rain, wind streaks, and layered clouds build a strong storm atmosphere. The glowing beam expands into the dark sky over rough water, and the restrained blue-black, white, red, and yellow palette keeps the image dramatic but cohesive.

request envelope — prompt redacted

{
  "model": "deepseek/deepseek-v4-pro",
  "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": "fe6a6f66-4ed7-4df8-8302-305b7500d370"
}