Skip to content

Instantly share code, notes, and snippets.

@simonw
Created July 16, 2026 15:55
Show Gist options
  • Select an option

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

Select an option

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

2026-07-16T15:45:21 conversation: 01kxnt2pket8x14n0y6szz9xf4 id: 01kxnsn5k9zd8n0qkkj202872k

Model: openrouter/moonshotai/kimi-k3

Prompt

Generate an SVG of a pelican riding a bicycle

Response

Here's an SVG of a cheerful pelican riding a bicycle:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="800" height="600">
  <title>Pelican riding a bicycle</title>
  <defs>
    <linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0" stop-color="#D9F0FF"/>
      <stop offset="1" stop-color="#A8D8F0"/>
    </linearGradient>
  </defs>

  <!-- Background -->
  <rect width="800" height="600" fill="url(#sky)"/>
  <circle cx="705" cy="80" r="52" fill="#F6E05E" opacity="0.35"/>
  <circle cx="705" cy="80" r="40" fill="#F6E05E"/>
  <g fill="#FFFFFF" opacity="0.9">
    <ellipse cx="130" cy="98" rx="32" ry="18"/>
    <ellipse cx="162" cy="86" rx="36" ry="22"/>
    <ellipse cx="196" cy="98" rx="28" ry="16"/>
    <ellipse cx="395" cy="62" rx="24" ry="14"/>
    <ellipse cx="422" cy="52" rx="28" ry="17"/>
    <ellipse cx="450" cy="62" rx="22" ry="13"/>
  </g>
  <path d="M110,160 q7,-9 14,0 q7,-9 14,0" stroke="#4A5568" stroke-width="2.5" fill="none" stroke-linecap="round"/>
  <path d="M175,138 q5,-7 10,0 q5,-7 10,0" stroke="#4A5568" stroke-width="2" fill="none" stroke-linecap="round"/>

  <!-- Ground and road -->
  <rect y="500" width="800" height="100" fill="#68D391"/>
  <rect y="500" width="800" height="52" fill="#A0AEC0"/>
  <line x1="0" y1="500" x2="800" y2="500" stroke="#4A5568" stroke-width="3"/>
  <line x1="0" y1="526" x2="800" y2="526" stroke="#FFFFFF" stroke-width="5" stroke-dasharray="28 22"/>
  <ellipse cx="400" cy="503" rx="245" ry="9" fill="#1A202C" opacity="0.12"/>
  <g>
    <line x1="120" y1="577" x2="120" y2="586" stroke="#38A169" stroke-width="2"/>
    <circle cx="120" cy="572" r="5" fill="#FFFFFF"/><circle cx="120" cy="572" r="2" fill="#F6E05E"/>
    <line x1="660" y1="575" x2="660" y2="584" stroke="#38A169" stroke-width="2"/>
    <circle cx="660" cy="570" r="5" fill="#FFFFFF"/><circle cx="660" cy="570" r="2" fill="#F6E05E"/>
    <line x1="730" y1="585" x2="730" y2="593" stroke="#38A169" stroke-width="2"/>
    <circle cx="730" cy="580" r="5" fill="#FFFFFF"/><circle cx="730" cy="580" r="2" fill="#F6E05E"/>
  </g>

  <!-- Motion lines -->
  <g stroke="#FFFFFF" stroke-width="6" stroke-linecap="round" opacity="0.85">
    <line x1="55" y1="255" x2="135" y2="255"/>
    <line x1="35" y1="310" x2="105" y2="310"/>
    <line x1="65" y1="365" x2="150" y2="365"/>
  </g>

  <!-- Wheels -->
  <g>
    <circle cx="250" cy="420" r="80" fill="none" stroke="#2D3748" stroke-width="14"/>
    <circle cx="250" cy="420" r="66" fill="none" stroke="#A0AEC0" stroke-width="4"/>
    <g stroke="#CBD5E0" stroke-width="2.5">
      <line x1="250" y1="420" x2="316" y2="420"/><line x1="250" y1="420" x2="297" y2="373"/>
      <line x1="250" y1="420" x2="250" y2="354"/><line x1="250" y1="420" x2="203" y2="373"/>
      <line x1="250" y1="420" x2="184" y2="420"/><line x1="250" y1="420" x2="203" y2="467"/>
      <line x1="250" y1="420" x2="250" y2="486"/><line x1="250" y1="420" x2="297" y2="467"/>
    </g>
    <circle cx="550" cy="420" r="80" fill="none" stroke="#2D3748" stroke-width="14"/>
    <circle cx="550" cy="420" r="66" fill="none" stroke="#A0AEC0" stroke-width="4"/>
    <g stroke="#CBD5E0" stroke-width="2.5">
      <line x1="550" y1="420" x2="616" y2="420"/><line x1="550" y1="420" x2="597" y2="373"/>
      <line x1="550" y1="420" x2="550" y2="354"/><line x1="550" y1="420" x2="503" y2="373"/>
      <line x1="550" y1="420" x2="484" y2="420"/><line x1="550" y1="420" x2="503" y2="467"/>
      <line x1="550" y1="420" x2="550" y2="486"/><line x1="550" y1="420" x2="597" y2="467"/>
    </g>
  </g>

  <!-- Far leg (behind frame) -->
  <path d="M336,284 L310,346 L346,390" stroke="#ED8936" stroke-width="12" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M338,382 Q362,374 374,384 Q370,396 350,398 Q338,394 338,382 Z" fill="#ED8936" stroke="#C05621" stroke-width="2"/>

  <!-- Bicycle frame -->
  <g stroke="#E53E3E" stroke-width="10" fill="none" stroke-linecap="round">
    <line x1="250" y1="420" x2="380" y2="430"/>
    <line x1="250" y1="420" x2="328" y2="286"/>
    <line x1="380" y1="430" x2="330" y2="284"/>
    <line x1="382" y1="428" x2="536" y2="324"/>
    <line x1="334" y1="284" x2="516" y2="274"/>
  </g>
  <line x1="518" y1="270" x2="540" y2="322" stroke="#E53E3E" stroke-width="13" stroke-linecap="round"/>
  <line x1="536" y1="320" x2="550" y2="416" stroke="#E53E3E" stroke-width="9" stroke-linecap="round"/>
  <path d="M300,274 Q330,258 362,270 L357,280 Q330,273 305,282 Z" fill="#2D3748"/>
  <path d="M522,272 L512,240 Q509,228 496,227 L484,228" stroke="#4A5568" stroke-width="8" fill="none" stroke-linecap="round"/>
  <line x1="498" y1="227" x2="480" y2="229" stroke="#1A202C" stroke-width="11" stroke-linecap="round"/>

  <!-- Drivetrain -->
  <line x1="379" y1="409" x2="252" y2="412" stroke="#718096" stroke-width="3"/>
  <line x1="379" y1="451" x2="252" y2="428" stroke="#718096" stroke-width="3"/>
  <circle cx="250" cy="420" r="11" fill="none" stroke="#4A5568" stroke-width="4"/>
  <circle cx="250" cy="420" r="5" fill="#4A5568"/>
  <circle cx="380" cy="430" r="21" fill="#EDF2F7" stroke="#4A5568" stroke-width="4"/>
  <circle cx="380" cy="430" r="6" fill="#4A5568"/>
  <line x1="380" y1="430" x2="414" y2="466" stroke="#2D3748" stroke-width="7" stroke-linecap="round"/>
  <line x1="380" y1="430" x2="346" y2="394" stroke="#2D3748" stroke-width="7" stroke-linecap="round"/>
  <rect x="400" y="462" width="28" height="9" rx="4" fill="#2D3748"/>
  <rect x="332" y="390" width="28" height="9" rx="4" fill="#2D3748"/>

  <!-- Near leg -->
  <path d="M358,284 L402,348 L414,460" stroke="#F6AD55" stroke-width="13" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M404,452 Q432,444 445,455 Q441,468 419,472 Q405,468 404,452 Z" fill="#F6AD55" stroke="#DD6B20" stroke-width="2"/>
  <path d="M421,451 L425,466 M433,451 L436,464" stroke="#DD6B20" stroke-width="1.5" fill="none"/>

  <!-- Pelican tail and body -->
  <path d="M270,198 L214,180 L242,212 L204,212 L246,240 L224,258 L274,252 Z" fill="#EDF2F7" stroke="#A0AEC0" stroke-width="2.5" stroke-linejoin="round"/>
  <ellipse cx="348" cy="228" rx="96" ry="66" transform="rotate(-8 348 228)" fill="#FFFFFF" stroke="#CBD5E0" stroke-width="3"/>
  <ellipse cx="352" cy="252" rx="72" ry="38" transform="rotate(-8 352 252)" fill="#EDF2F7" opacity="0.55"/>

  <!-- Wing reaching to handlebar -->
  <path d="M378,188 C430,178 478,198 496,224 C501,234 494,244 483,241 C452,224 418,217 386,213 C371,207 368,194 378,188 Z" fill="#E2E8F0" stroke="#A0AEC0" stroke-width="2.5"/>
  <path d="M398,197 Q438,203 470,221 M392,208 Q425,214 452,226" stroke="#A0AEC0" stroke-width="1.5" fill="none"/>

  <!-- Neck -->
  <path d="M392,192 C415,165 435,150 458,132" stroke="#CBD5E0" stroke-width="38" fill="none" stroke-linecap="round"/>
  <path d="M392,192 C415,165 435,150 458,132" stroke="#FFFFFF" stroke-width="32" fill="none" stroke-linecap="round"/>

  <!-- Scarf -->
  <path d="M426,148 Q384,120 340,130 Q356,140 348,152 Q392,144 424,160 Z" fill="#E53E3E" stroke="#C53030" stroke-width="2"/>
  <path d="M424,136 Q444,126 463,138 L459,157 Q441,146 426,153 Z" fill="#E53E3E" stroke="#C53030" stroke-width="2"/>
  <circle cx="430" cy="150" r="9" fill="#E53E3E" stroke="#C53030" stroke-width="2"/>

  <!-- Head -->
  <circle cx="478" cy="118" r="27" fill="#FFFFFF" stroke="#CBD5E0" stroke-width="3"/>
  <path d="M458,100 Q446,82 464,86 Q458,70 474,80 Q486,72 488,88 Q472,86 458,100 Z" fill="#FFFFFF" stroke="#CBD5E0" stroke-width="2.5" stroke-linejoin="round"/>

  <!-- Beak with pouch -->
  <path d="M498,124 Q575,192 652,133 Q642,127 630,131 Q570,170 506,117 Z" fill="#FBD38D" stroke="#DD6B20" stroke-width="2.5" stroke-linejoin="round"/>
  <path d="M496,105 Q575,114 652,126 Q661,130 652,136 L498,126 Q492,115 496,105 Z" fill="#F6AD55" stroke="#DD6B20" stroke-width="2.5" stroke-linejoin="round"/>
  <path d="M522,111 Q570,118 628,126" stroke="#DD6B20" stroke-width="2" fill="none" stroke-linecap="round"/>
  <path d="M504,127 Q580,140 646,134" stroke="#DD6B20" stroke-width="1.5" fill="none"/>

  <!-- Eye -->
  <circle cx="485" cy="109" r="5" fill="#1A202C"/>
  <circle cx="487" cy="107" r="1.7" fill="#FFFFFF"/>
</svg>

The scene features a white pelican with the signature long orange beak and throat pouch, pedaling a red road bike. Its wing tips rest on the handlebars, webbed feet are on the pedals, and a little red scarf flows behind for a sense of speed. The background includes a sunny sky, clouds, distant birds, a road with a dashed center line, and flowers.

Feel free to ask if you'd like any changes — different colors, a basket on the bike, a helmet on the pelican, or a different background!

Token usage

95 input, 16,658 output, {"completion_tokens_details": {"reasoning_tokens": 13241}, "cost": 0.250155, "cost_details": {"upstream_inference_cost": 0.250155, "upstream_inference_prompt_cost": 0.000285, "upstream_inference_completions_cost": 0.24987}}

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