Skip to content

Instantly share code, notes, and snippets.

@simonw
Created March 6, 2026 01:14
Show Gist options
  • Select an option

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

Select an option

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

2026-03-06T00:57:41 conversation: 01kk0adkyr9p3trq4e666ew6mj id: 01kk0acydxasjnx0rc4xgwqnrd

Model: gpt-5.4

Prompt

Generate an SVG of a pelican riding a bicycle

Response

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 500" width="800" height="500">
  <rect width="100%" height="100%" fill="#eef7ff"/>

  <!-- Ground -->
  <line x1="40" y1="390" x2="760" y2="390" stroke="#b8c7d9" stroke-width="4" stroke-linecap="round"/>

  <!-- Bicycle wheels -->
  <g stroke="#2f3b52" fill="none" stroke-linecap="round" stroke-linejoin="round">
    <circle cx="250" cy="350" r="85" stroke-width="8"/>
    <circle cx="520" cy="350" r="85" stroke-width="8"/>

    <!-- Spokes -->
    <g stroke-width="3" opacity="0.75">
      <line x1="250" y1="265" x2="250" y2="435"/>
      <line x1="165" y1="350" x2="335" y2="350"/>
      <line x1="190" y1="290" x2="310" y2="410"/>
      <line x1="190" y1="410" x2="310" y2="290"/>

      <line x1="520" y1="265" x2="520" y2="435"/>
      <line x1="435" y1="350" x2="605" y2="350"/>
      <line x1="460" y1="290" x2="580" y2="410"/>
      <line x1="460" y1="410" x2="580" y2="290"/>
    </g>

    <!-- Frame -->
    <line x1="250" y1="350" x2="355" y2="280" stroke-width="8"/>
    <line x1="355" y1="280" x2="430" y2="350" stroke-width="8"/>
    <line x1="430" y1="350" x2="250" y2="350" stroke-width="8"/>
    <line x1="355" y1="280" x2="500" y2="270" stroke-width="8"/>
    <line x1="430" y1="350" x2="500" y2="270" stroke-width="8"/>

    <!-- Fork / handlebar -->
    <line x1="500" y1="270" x2="520" y2="350" stroke-width="8"/>
    <line x1="488" y1="245" x2="545" y2="235" stroke-width="8"/>
    <line x1="488" y1="245" x2="475" y2="225" stroke-width="6"/>
    <line x1="545" y1="235" x2="560" y2="215" stroke-width="6"/>

    <!-- Seat -->
    <line x1="355" y1="280" x2="345" y2="245" stroke-width="7"/>
    <line x1="325" y1="240" x2="365" y2="240" stroke-width="8"/>

    <!-- Crank -->
    <circle cx="430" cy="350" r="12" stroke-width="6"/>
    <line x1="430" y1="350" x2="460" y2="330" stroke-width="6"/>
    <line x1="430" y1="350" x2="405" y2="378" stroke-width="6"/>
    <line x1="455" y1="325" x2="475" y2="325" stroke-width="6"/>
    <line x1="400" y1="383" x2="380" y2="383" stroke-width="6"/>
  </g>

  <!-- Pelican -->
  <g stroke="#44515f" stroke-linecap="round" stroke-linejoin="round">
    <!-- Tail -->
    <path d="M258 175 Q228 165 218 142 Q245 145 266 160 Z" fill="#d8dde3" stroke-width="3"/>

    <!-- Body -->
    <ellipse cx="355" cy="180" rx="105" ry="58" fill="#e8ecef" stroke-width="4"/>

    <!-- Wing -->
    <path d="M320 155
             Q365 130 415 150
             Q390 195 330 205
             Q300 185 320 155 Z"
          fill="#c7cfd8" stroke-width="3"/>

    <!-- Neck -->
    <path d="M415 150
             Q455 115 500 120
             Q485 150 465 182
             Q450 205 420 210
             Q430 180 415 150 Z"
          fill="#e8ecef" stroke-width="4"/>

    <!-- Head -->
    <circle cx="520" cy="112" r="30" fill="#e8ecef" stroke-width="4"/>

    <!-- Eye -->
    <circle cx="528" cy="106" r="4.5" fill="#1f2937" stroke="none"/>
    <circle cx="526" cy="104" r="1.5" fill="#ffffff" stroke="none"/>

    <!-- Beak upper -->
    <path d="M538 115
             Q610 118 670 135
             Q615 145 545 140 Z"
          fill="#f2b544" stroke-width="4"/>

    <!-- Beak lower / pouch -->
    <path d="M542 138
             Q615 160 660 195
             Q602 202 548 180
             Q535 165 542 138 Z"
          fill="#f7d79a" stroke-width="4"/>

    <!-- Beak line -->
    <line x1="545" y1="140" x2="666" y2="138" stroke="#44515f" stroke-width="3"/>

    <!-- Legs to pedals -->
    <path d="M365 228 Q390 270 430 350" fill="none" stroke="#d08b5b" stroke-width="8"/>
    <path d="M325 228 Q345 300 405 378" fill="none" stroke="#d08b5b" stroke-width="8"/>

    <!-- Feet -->
    <path d="M472 325 q8 0 10 8 q-10 5 -20 0 q2 -8 10 -8z" fill="#f2a65a" stroke-width="3"/>
    <path d="M378 383 q8 0 10 8 q-10 5 -20 0 q2 -8 10 -8z" fill="#f2a65a" stroke-width="3"/>

    <!-- Pelican arm/wing to handlebar -->
    <path d="M405 175 Q455 195 500 235" fill="none" stroke="#c7cfd8" stroke-width="10"/>
    <path d="M498 234 q10 -4 15 6" fill="none" stroke="#f2a65a" stroke-width="6"/>

    <!-- Pelican seated posture -->
    <path d="M300 220 Q335 245 360 238" fill="none" stroke="#c7cfd8" stroke-width="10"/>
  </g>

  <!-- Simple motion accents -->
  <g stroke="#9db4cc" stroke-width="3" stroke-linecap="round" opacity="0.7" fill="none">
    <path d="M120 320 q20 -8 40 0"/>
    <path d="M110 345 q25 -10 50 0"/>
    <path d="M620 300 q20 -8 40 0"/>
    <path d="M630 325 q25 -10 50 0"/>
  </g>
</svg>

Token usage

16 input, 1,760 output

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