Skip to content

Instantly share code, notes, and snippets.

@simonw
Created November 18, 2025 18:44
Show Gist options
  • Select an option

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

Select an option

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

2025-11-18T18:40:24 conversation: 01kac4ab6396vhxggvtdp66bd9 id: 01kac4974v0aq3t5q2nbjwt1j3

Model: gemini/gemini-3-pro-preview (resolved: gemini-3-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

Here is the SVG image of a California Brown Pelican in full breeding plumage riding a bicycle.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 500">
  <!-- Definitions for Gradients and Filters -->
  <defs>
    <!-- Breeding Plumage Neck Gradient -->
    <linearGradient id="neckGrad" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:#3E2723;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#5D4037;stop-opacity:1" />
    </linearGradient>
    <!-- Pouch Gradient (Breeding Red) -->
    <linearGradient id="pouchGrad" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:#FF7043;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#D84315;stop-opacity:1" />
    </linearGradient>
    <!-- Head Gradient (Yellow/White) -->
    <radialGradient id="headGrad" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:#FFFDE7;stop-opacity:1" />
      <stop offset="70%" style="stop-color:#FBC02D;stop-opacity:1" />
    </radialGradient>
    <!-- Feather Texture Pattern -->
    <pattern id="featherPat" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse">
      <path d="M0,5 Q5,0 10,5" fill="none" stroke="#8D6E63" stroke-width="1" opacity="0.5"/>
    </pattern>
  </defs>

  <!-- Background (Simple Ground) -->
  <rect x="0" y="400" width="600" height="100" fill="#E0E0E0" />

  <!-- BICYCLE -->
  <g id="bicycle">
    <!-- Wheels -->
    <g id="wheels" fill="none" stroke="#333" stroke-width="4">
      <!-- Back Wheel -->
      <circle cx="120" cy="350" r="80" stroke-width="8" stroke="#111" />
      <circle cx="120" cy="350" r="75" stroke="#DDD" stroke-width="2"/>
      <!-- Spokes (simplified radial lines) -->
      <g stroke="#888" stroke-width="1">
        <line x1="120" y1="350" x2="120" y2="270" />
        <line x1="120" y1="350" x2="120" y2="430" />
        <line x1="120" y1="350" x2="40" y2="350" />
        <line x1="120" y1="350" x2="200" y2="350" />
        <line x1="120" y1="350" x2="63" y2="293" />
        <line x1="120" y1="350" x2="176" y2="293" />
        <line x1="120" y1="350" x2="63" y2="406" />
        <line x1="120" y1="350" x2="176" y2="406" />
      </g>

      <!-- Front Wheel -->
      <circle cx="480" cy="350" r="80" stroke-width="8" stroke="#111" />
      <circle cx="480" cy="350" r="75" stroke="#DDD" stroke-width="2"/>
      <!-- Spokes -->
      <g stroke="#888" stroke-width="1">
        <line x1="480" y1="350" x2="480" y2="270" />
        <line x1="480" y1="350" x2="480" y2="430" />
        <line x1="480" y1="350" x2="400" y2="350" />
        <line x1="480" y1="350" x2="560" y2="350" />
        <line x1="480" y1="350" x2="423" y2="293" />
        <line x1="480" y1="350" x2="536" y2="293" />
        <line x1="480" y1="350" x2="423" y2="406" />
        <line x1="480" y1="350" x2="536" y2="406" />
      </g>
    </g>

    <!-- Frame -->
    <g stroke="#1565C0" stroke-width="8" stroke-linecap="round" stroke-linejoin="round" fill="none">
      <!-- Rear Triangle -->
      <path d="M120 350 L280 350 L250 200 L120 350" />
      <!-- Main Triangle -->
      <path d="M250 200 L440 200 L280 350 L250 200" />
      <!-- Fork -->
      <line x1="440" y1="200" x2="480" y2="350" stroke="#333" />
      <!-- Handlebars Stem -->
      <line x1="440" y1="200" x2="435" y2="160" stroke="#333" />
      <!-- Seat Post -->
      <line x1="250" y1="200" x2="240" y2="170" stroke="#333" />
      <!-- Saddle -->
      <path d="M220 170 L260 170 L265 175 L215 175 Z" fill="#111" stroke="none" />
    </g>

    <!-- Crank and Chain -->
    <circle cx="280" cy="350" r="15" fill="#555" />
    <line x1="120" y1="350" x2="280" y2="350" stroke="#333" stroke-width="2" />
  </g>

  <!-- PELICAN -->
  <g id="pelican">
    <!-- Left Leg (Behind) -->
    <path d="M280 250 L260 320 L240 340" stroke="#424242" stroke-width="12" fill="none" stroke-linecap="round"/>
    <!-- Left Foot (Pedaling Back) -->
    <path d="M230 340 L250 340 L260 360 L220 360 Z" fill="#212121" />

    <!-- Body -->
    <ellipse cx="260" cy="220" rx="60" ry="45" fill="#6D4C41" />
    <!-- Wing -->
    <path d="M240 190 Q320 190 340 240 Q300 280 220 260 Z" fill="#8D6E63" stroke="#5D4037" stroke-width="2" />
    <!-- Feather details on wing -->
    <g stroke="#A1887F" stroke-width="2" fill="none">
      <path d="M250 200 Q270 210 290 200" />
      <path d="M255 220 Q280 230 300 220" />
      <path d="M260 240 Q285 250 310 240" />
      <path d="M320 210 L330 230" />
    </g>

    <!-- Neck (S-Shape, Dark Brown for Breeding) -->
    <path d="M300 190 Q340 180 330 140 Q320 100 350 80 L370 85 Q350 110 360 140 Q370 190 300 210 Z" fill="url(#neckGrad)" />

    <!-- Head -->
    <circle cx="370" cy="80" r="25" fill="url(#headGrad)" />

    <!-- Eye -->
    <circle cx="375" cy="75" r="4" fill="#E1F5FE" stroke="#F48FB1" stroke-width="1" />
    <circle cx="375" cy="75" r="1.5" fill="#000" />

    <!-- Bill and Pouch -->
    <!-- Upper Mandible -->
    <path d="M390 70 Q480 90 550 110 L550 115 Q480 100 390 85 Z" fill="#9E9E9E" stroke="#616161" stroke-width="1"/>
    
    <!-- Large Gular Pouch (Red/Orange for Breeding) -->
    <path d="M390 85 Q450 180 540 120 L550 115 Q480 100 390 85" fill="url(#pouchGrad)" stroke="#BF360C" stroke-width="1" opacity="0.95"/>

    <!-- Head Tuft/Crest -->
    <path d="M360 60 Q350 50 340 65" stroke="#FFFDE7" stroke-width="2" fill="none"/>

    <!-- Right Leg (Front, Pedaling) -->
    <path d="M280 250 L300 300 L290 340" stroke="#424242" stroke-width="12" fill="none" stroke-linecap="round"/>
    <!-- Right Foot on Pedal -->
    <path d="M280 340 L310 340 L315 360 L270 360 Z" fill="#212121" />
  </g>

  <!-- Foreground Bike Parts -->
  <g id="foreground_bike">
    <!-- Right Pedal Arm -->
    <line x1="280" y1="350" x2="290" y2="345" stroke="#777" stroke-width="6" stroke-linecap="round"/>
    <!-- Handlebars -->
    <path d="M435 160 Q460 160 470 180" stroke="#333" stroke-width="6" fill="none" />
    <rect x="465" y="175" width="10" height="20" fill="#000" rx="3" />
  </g>

</svg>

Token usage

72 input, 4,725 output, {"candidatesTokenCount": 2905, "promptTokensDetails": [{"modality": "TEXT", "tokenCount": 72}], "thoughtsTokenCount": 1820}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment