Skip to content

Instantly share code, notes, and snippets.

@simonw
Created February 20, 2026 00:41
Show Gist options
  • Select an option

  • Save simonw/a3bdd4ec9476ba9e9ba7aa61b46d8296 to your computer and use it in GitHub Desktop.

Select an option

Save simonw/a3bdd4ec9476ba9e9ba7aa61b46d8296 to your computer and use it in GitHub Desktop.

2026-02-19T18:07:05 conversation: 01khvhnnf7s4df8sa9hj807zpg id: 01khvhb23md4est1kjeft8mdxs

Model: gemini/gemini-3.1-pro-preview (resolved: gemini-3.1-pro-preview)

Prompt

Generate an SVG of a California brown pelican riding a bicycle. The bicycle must have spokes and a correctly shaped bicycle frame. The pelican must have its characteristic large pouch, and there should be a clear indication of feathers. The pelican must be clearly pedaling the bicycle. The image should show the full breeding plumage of the California brown pelican.

Response

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="100%" height="100%">
    <defs>
        <!-- Pouch Gradient (Breeding Plumage: Red to Olive/Green) -->
        <linearGradient id="pouchGrad" x1="0%" y1="0%" x2="100%" y2="100%">
            <stop offset="0%" stop-color="#E63946"/>
            <stop offset="50%" stop-color="#A8B085"/>
            <stop offset="100%" stop-color="#556B2F"/>
        </linearGradient>

        <!-- Neck Gradient (Breeding Plumage: Chestnut Nape, White/Yellow Front) -->
        <linearGradient id="neckGrad" x1="0%" y1="0%" x2="100%" y2="0%">
            <stop offset="0%" stop-color="#3A110D"/>
            <stop offset="50%" stop-color="#6B271E"/>
            <stop offset="70%" stop-color="#FFFFFF"/>
            <stop offset="100%" stop-color="#F1C40F"/>
        </linearGradient>

        <!-- Wheel Spokes (18 lines = 36 spokes) -->
        <g id="spokes">
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(10)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(20)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(30)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(40)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(50)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(60)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(70)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(80)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(90)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(100)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(110)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(120)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(130)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(140)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(150)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(160)"/>
            <line x1="0" y1="-114" x2="0" y2="114" stroke="#B0B0B0" stroke-width="1.5" transform="rotate(170)"/>
        </g>

        <!-- Single Feather (Silver edge, dark center) -->
        <path id="feather" d="M 0,0 C 10,5 15,20 0,40 C -15,20 -10,5 0,0 Z" fill="#2C1A14" stroke="#D3D3D3" stroke-width="1.5"/>
    </defs>

    <!-- Ground Shadow -->
    <ellipse cx="400" cy="520" rx="350" ry="12" fill="#000000" opacity="0.15"/>

    <!-- Wind Trails / Speed Lines -->
    <line x1="80" y1="200" x2="250" y2="200" stroke="#CCCCCC" stroke-width="3" stroke-linecap="round" opacity="0.5"/>
    <line x1="120" y1="150" x2="220" y2="150" stroke="#CCCCCC" stroke-width="3" stroke-linecap="round" opacity="0.5"/>
    <line x1="50" y1="350" x2="160" y2="350" stroke="#CCCCCC" stroke-width="3" stroke-linecap="round" opacity="0.5"/>

    <!-- Left Crank, Pedal, and Foot (Background Layer) -->
    <g id="background-drivetrain">
        <line x1="400" y1="400" x2="360" y2="330" stroke="#666666" stroke-width="10" stroke-linecap="round"/>
        <rect x="345" y="325" width="30" height="10" rx="3" fill="#111111" transform="rotate(-20 360 330)"/>
        <line x1="360" y1="280" x2="360" y2="330" stroke="#1A1A1A" stroke-width="10" stroke-linecap="round"/>
        <path d="M 360,330 L 370,340 L 340,335 Z" fill="#1A1A1A"/>
        <path d="M 200,390 L 400,370 M 200,410 L 400,430" stroke="#666666" stroke-width="4" stroke-dasharray="4,2"/>
    </g>

    <!-- Back Wheel -->
    <g id="back-wheel" transform="translate(200, 400)">
        <use href="#spokes"/>
        <circle cx="0" cy="0" r="114" stroke="#E0E0E0" stroke-width="6" fill="none"/>
        <circle cx="0" cy="0" r="120" stroke="#2C3E50" stroke-width="14" fill="none"/>
        <circle cx="0" cy="0" r="16" fill="#7F8C8D"/>
        <circle cx="0" cy="0" r="6" fill="#BDC3C7"/>
    </g>

    <!-- Main Bicycle Frame -->
    <g stroke-linecap="round" stroke-linejoin="round" fill="none">
        <!-- Base Frame Strokes (Teal) -->
        <g stroke="#2A9D8F" stroke-width="14">
            <line x1="200" y1="400" x2="400" y2="400"/>
            <line x1="200" y1="400" x2="340" y2="260"/>
            <line x1="400" y1="400" x2="340" y2="260"/>
            <line x1="400" y1="400" x2="565" y2="270"/>
            <line x1="340" y1="260" x2="550" y2="230"/>
            <line x1="550" y1="230" x2="565" y2="270" stroke-width="18"/>
            <line x1="565" y1="270" x2="620" y2="400" stroke-width="12" stroke="#21867A"/>
        </g>
        <!-- Highlight Frame Strokes (Lighter Teal) -->
        <g stroke="#48C9B0" stroke-width="6">
            <line x1="200" y1="400" x2="400" y2="400"/>
            <line x1="200" y1="400" x2="340" y2="260"/>
            <line x1="400" y1="400" x2="340" y2="260"/>
            <line x1="400" y1="400" x2="565" y2="270"/>
            <line x1="340" y1="260" x2="550" y2="230"/>
            <line x1="550" y1="230" x2="565" y2="270" stroke-width="8"/>
            <line x1="565" y1="270" x2="620" y2="400" stroke-width="4"/>
        </g>
    </g>

    <!-- Seatpost and Saddle -->
    <line x1="340" y1="260" x2="330" y2="220" stroke="#C0C0C0" stroke-width="8"/>
    <path d="M 300,220 C 300,210 350,215 360,225 C 330,230 300,230 300,220 Z" fill="#222222"/>

    <!-- Stem and Handlebars -->
    <line x1="550" y1="230" x2="555" y2="200" stroke="#C0C0C0" stroke-width="8"/>
    <path d="M 555,200 C 570,200 585,210 590,225 C 595,240 580,250 570,245" fill="none" stroke="#222222" stroke-width="8" stroke-linecap="round"/>

    <!-- Front Wheel -->
    <g id="front-wheel" transform="translate(620, 400)">
        <use href="#spokes"/>
        <circle cx="0" cy="0" r="114" stroke="#E0E0E0" stroke-width="6" fill="none"/>
        <circle cx="0" cy="0" r="120" stroke="#2C3E50" stroke-width="14" fill="none"/>
        <circle cx="0" cy="0" r="16" fill="#7F8C8D"/>
        <circle cx="0" cy="0" r="6" fill="#BDC3C7"/>
    </g>

    <!-- Pelican Tail -->
    <path d="M 320,250 L 230,280 L 245,290 L 220,305 L 260,315 L 330,290 Z" fill="#3A2E2A" stroke="#C0C0C0" stroke-width="2"/>

    <!-- Pelican Body Base -->
    <path d="M 300,220 C 300,310 400,330 460,240 C 480,200 460,160 420,150 C 380,140 330,160 300,220 Z" fill="#4B3F38"/>

    <!-- Pelican Neck (S-Curve, Breeding Colors) -->
    <path d="M 390,160 C 360,120 380,80 420,30 C 440,10 460,10 470,30 C 480,50 460,80 440,100 C 420,120 430,150 440,180 C 420,190 400,180 390,160 Z" fill="url(#neckGrad)"/>

    <!-- Pelican Head (Yellow Breeding Cap) -->
    <path d="M 415,30 C 425,0 475,0 485,30 C 490,45 470,60 450,60 C 430,60 410,45 415,30 Z" fill="#F1C40F"/>

    <!-- Eye and Orbital Skin -->
    <circle cx="452" cy="33" r="7" fill="#E74C3C"/> <!-- Red orbital skin -->
    <circle cx="452" cy="33" r="3" fill="#FFF8E7"/> <!-- Pale iris -->
    <circle cx="452" cy="33" r="1.5" fill="#000000"/> <!-- Pupil -->

    <!-- Pelican Upper Mandible (Beak) -->
    <path d="M 470,35 C 550,40 650,80 690,100 C 695,102 690,105 680,105 C 550,85 470,60 460,55 Z" fill="#D5D8DC" stroke="#99A3A4" stroke-width="2"/>
    <path d="M 680,105 C 685,115 680,120 675,120 C 670,120 675,110 670,105 Z" fill="#E67E22"/> <!-- Hooked orange tip -->

    <!-- Pelican Lower Mandible / Large Distended Pouch -->
    <path d="M 450,80 C 450,170 510,240 590,210 C 640,190 670,140 680,105 C 550,90 470,65 460,60 Z" fill="url(#pouchGrad)" stroke="#C0392B" stroke-width="2"/>
    <!-- Pouch Texture/Veins for realism -->
    <path d="M 470,95 C 480,150 520,190 580,180" fill="none" stroke="#A93226" stroke-width="2" opacity="0.5"/>
    <path d="M 490,95 C 500,140 540,170 600,150" fill="none" stroke="#A93226" stroke-width="2" opacity="0.4"/>
    <path d="M 520,95 C 530,130 570,150 620,130" fill="none" stroke="#A93226" stroke-width="2" opacity="0.3"/>

    <!-- Body Feathers (Detailed overlap using exact transforms) -->
    <g id="body-feathers">
        <!-- Row 1 -->
        <use href="#feather" transform="translate(320, 200) rotate(-60) scale(1.5)"/>
        <use href="#feather" transform="translate(340, 180) rotate(-50) scale(1.5)"/>
        <use href="#feather" transform="translate(370, 170) rotate(-40) scale(1.5)"/>
        <!-- Row 2 -->
        <use href="#feather" transform="translate(300, 220) rotate(-60) scale(1.5)"/>
        <use href="#feather" transform="translate(330, 210) rotate(-50) scale(1.5)"/>
        <use href="#feather" transform="translate(360, 200) rotate(-40) scale(1.5)"/>
        <use href="#feather" transform="translate(390, 190) rotate(-30) scale(1.5)"/>
        <!-- Row 3 -->
        <use href="#feather" transform="translate(310, 250) rotate(-50) scale(1.5)"/>
        <use href="#feather" transform="translate(340, 240) rotate(-40) scale(1.5)"/>
        <use href="#feather" transform="translate(370, 230) rotate(-30) scale(1.5)"/>
        <use href="#feather" transform="translate(400, 220) rotate(-20) scale(1.5)"/>
        <use href="#feather" transform="translate(430, 220) rotate(-10) scale(1.5)"/>
        <!-- Row 4 -->
        <use href="#feather" transform="translate(330, 270) rotate(-40) scale(1.5)"/>
        <use href="#feather" transform="translate(360, 260) rotate(-30) scale(1.5)"/>
        <use href="#feather" transform="translate(390, 250) rotate(-20) scale(1.5)"/>
        <use href="#feather" transform="translate(420, 250) rotate(-10) scale(1.5)"/>
        <use href="#feather" transform="translate(450, 240) rotate(0) scale(1.5)"/>
        <!-- Row 5 (Lower Body/Flank) -->
        <use href="#feather" transform="translate(340, 290) rotate(-30) scale(1.5)"/>
        <use href="#feather" transform="translate(370, 280) rotate(-20) scale(1.5)"/>
        <use href="#feather" transform="translate(400, 270) rotate(-10) scale(1.5)"/>
        <use href="#feather" transform="translate(430, 260) rotate(0) scale(1.5)"/>
    </g>

    <!-- Foreground Right Wing (Gripping Handlebars) -->
    <!-- Wing Base/Arm -->
    <path d="M 380,180 C 450,170 520,200 580,240 C 590,250 580,260 560,250 C 480,210 420,210 380,220 Z" fill="#3A2E2A" stroke="#D3D3D3" stroke-width="2"/>
    <!-- Flight Feathers radiating from the wing -->
    <path d="M 400,210 Q 380,280 340,310 Q 360,280 420,210 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 420,210 Q 400,290 360,320 Q 380,290 440,215 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 440,215 Q 420,300 380,330 Q 400,300 460,220 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 460,220 Q 440,310 400,340 Q 420,310 480,225 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 480,225 Q 460,320 420,350 Q 440,320 500,230 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 500,230 Q 480,320 450,350 Q 470,320 520,235 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 520,235 Q 500,310 480,340 Q 500,310 540,240 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 540,240 Q 520,300 510,320 Q 530,300 570,250 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>
    <path d="M 560,245 Q 550,280 540,290 Q 560,280 580,255 Z" fill="#221512" stroke="#A0A0A0" stroke-width="1.5"/>

    <!-- Handlebar Grip Covering (Over Wing Tip) -->
    <path d="M 565,245 C 575,235 585,250 575,255 C 570,260 560,255 565,245 Z" fill="#111111"/>

    <!-- Front Chainring and Right Crank Elements -->
    <circle cx="400" cy="400" r="30" fill="none" stroke="#555555" stroke-width="6" stroke-dasharray="6,4"/>
    <circle cx="400" cy="400" r="22" fill="none" stroke="#777777" stroke-width="3"/>
    
    <!-- Right Crank Arm -->
    <line x1="400" y1="400" x2="440" y2="470" stroke="#888888" stroke-width="12" stroke-linecap="round"/>
    
    <!-- Right Pedal Base -->
    <rect x="425" y="465" width="30" height="12" rx="4" fill="#222222"/>

    <!-- Pelican Right Leg & Foot (Pedaling actively) -->
    <path d="M 330,240 C 370,240 430,290 440,330 C 410,340 370,300 320,270 Z" fill="#4B3F38"/>
    <circle cx="435" cy="330" r="10" fill="#2A2A2A"/> <!-- Knee -->
    <line x1="435" y1="330" x2="430" y2="460" stroke="#2A2A2A" stroke-width="14" stroke-linecap="round"/>
    <path d="M 430,460 C 445,450 470,465 475,475 C 455,480 430,475 415,470 Z" fill="#2A2A2A"/> <!-- Webbed foot -->
    
    <!-- Outer edge of right pedal to trap foot realistically -->
    <line x1="425" y1="477" x2="455" y2="477" stroke="#444444" stroke-width="4" stroke-linecap="round"/>

    <!-- Action / Pedaling Motion Lines around cranks -->
    <path d="M 380,450 A 60 60 0 0 1 350,350" fill="none" stroke="#A9A9A9" stroke-width="2" stroke-dasharray="5,5"/>
    <path d="M 420,350 A 60 60 0 0 1 450,450" fill="none" stroke="#A9A9A9" stroke-width="2" stroke-dasharray="5,5"/>
</svg>

Token usage

72 input, 27,773 output, {"candidatesTokenCount": 6579, "promptTokensDetails": [{"modality": "TEXT", "tokenCount": 72}], "thoughtsTokenCount": 21194}

Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment