Skip to content

Instantly share code, notes, and snippets.

@simonw
Created August 7, 2025 17:26
Show Gist options
  • Select an option

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

Select an option

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

2025-08-07T13:47:13 conversation: 01k22cn4zgyav4nmbz8gh98tvv id: 01k22cjaqzr88e2btwmeb6kme9

Model: nectarine-alpha-new-minimal-effort-2025-07-25

Prompt

Generate an SVG of a pelican riding a bicycle

Response

<svg xmlns="http://www.w3.org/2000/svg" width="800" height="600" viewBox="0 0 800 600" role="img" aria-label="Pelican riding a bicycle">
  <defs>
    <linearGradient id="beakGrad" x1="0" y1="0" x2="1" y2="0">
      <stop offset="0" stop-color="#f6d365"/>
      <stop offset="1" stop-color="#f4a261"/>
    </linearGradient>
    <linearGradient id="pouchGrad" x1="0" y1="0" x2="1" y2="1">
      <stop offset="0" stop-color="#f4a261"/>
      <stop offset="1" stop-color="#e67e22"/>
    </linearGradient>

    <g id="wheel">
      <circle r="95" fill="none" stroke="#222" stroke-width="16"/>
      <circle r="78" fill="none" stroke="#cfd2d8" stroke-width="4"/>
      <g stroke="#a8a8a8" stroke-width="2">
        <line x1="0" y1="0" x2="78" y2="0"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(30)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(60)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(90)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(120)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(150)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(180)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(210)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(240)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(270)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(300)"/>
        <line x1="0" y1="0" x2="78" y2="0" transform="rotate(330)"/>
      </g>
      <circle r="8" fill="#888"/>
    </g>
  </defs>

  <!-- ground shadows -->
  <ellipse cx="260" cy="515" rx="110" ry="14" fill="rgba(0,0,0,0.08)"/>
  <ellipse cx="580" cy="515" rx="110" ry="14" fill="rgba(0,0,0,0.08)"/>

  <!-- bicycle -->
  <g id="bicycle">
    <g transform="translate(260,420)">
      <use href="#wheel"/>
    </g>
    <g transform="translate(580,420)">
      <use href="#wheel"/>
    </g>

    <!-- frame -->
    <g fill="none" stroke="#2a9d8f" stroke-width="10" stroke-linecap="round" stroke-linejoin="round">
      <line x1="340" y1="300" x2="500" y2="310"/> <!-- top tube -->
      <line x1="340" y1="300" x2="420" y2="420"/> <!-- seat tube -->
      <line x1="500" y1="310" x2="420" y2="420"/> <!-- down tube -->
      <line x1="420" y1="420" x2="260" y2="420"/> <!-- chain stay -->
      <line x1="340" y1="300" x2="260" y2="420"/> <!-- seat stay -->
      <line x1="500" y1="310" x2="580" y2="420"/> <!-- fork -->
    </g>

    <!-- head tube accent -->
    <line x1="496" y1="300" x2="504" y2="320" stroke="#247f77" stroke-width="8" stroke-linecap="round"/>

    <!-- seat -->
    <path d="M328 292c22 -10 54 -10 68 0c-6 14 -52 18 -68 0z" fill="#333"/>

    <!-- handlebars -->
    <path d="M500 300 C 515 288, 533 282, 550 282
             S 580 292, 590 300"
          fill="none" stroke="#333" stroke-width="8" stroke-linecap="round"/>
    <circle cx="590" cy="300" r="6" fill="#555"/>

    <!-- crankset and pedals -->
    <circle cx="420" cy="420" r="22" fill="#bbb" stroke="#888" stroke-width="3"/>
    <line x1="420" y1="420" x2="380" y2="385" stroke="#666" stroke-width="6" stroke-linecap="round"/>
    <line x1="420" y1="420" x2="460" y2="455" stroke="#666" stroke-width="6" stroke-linecap="round"/>
    <rect width="36" height="8" rx="3" fill="#333" transform="translate(380,385) rotate(-35) translate(-18,-4)"/>
    <rect width="36" height="8" rx="3" fill="#333" transform="translate(460,455) rotate(145) translate(-18,-4)"/>
  </g>

  <!-- pelican -->
  <g id="pelican">
    <!-- tail -->
    <path d="M300 248 l -24 -10 l 14 26 z" fill="#2b2b2b"/>

    <!-- body -->
    <ellipse cx="370" cy="250" rx="95" ry="65" fill="#ffffff" stroke="#cfd2d8" stroke-width="3"/>

    <!-- wing -->
    <path d="M330 246
             C 352 230, 400 235, 430 252
             C 417 260, 397 280, 392 300
             C 366 300, 344 286, 330 266 Z"
          fill="#e9edf2" stroke="#b9c1ca" stroke-width="2"/>

    <!-- neck -->
    <path d="M355 250
             C 400 235, 430 222, 448 210
             C 452 228, 444 246, 426 258
             C 404 273, 380 270, 360 262 Z"
          fill="#ffffff" stroke="#cfd2d8" stroke-width="2"/>

    <!-- head -->
    <circle cx="450" cy="210" r="26" fill="#ffffff" stroke="#cfd2d8" stroke-width="2"/>

    <!-- eye -->
    <circle cx="458" cy="208" r="7" fill="#fff" stroke="#444" stroke-width="1.5"/>
    <circle cx="460" cy="208" r="3.2" fill="#222"/>
    <circle cx="462" cy="206" r="1.3" fill="#fff"/>

    <!-- beak upper -->
    <path d="M445 215
             C 480 200, 520 205, 548 220
             Q 520 226, 446 225 Z"
          fill="url(#beakGrad)" stroke="#d2791b" stroke-width="2" stroke-linejoin="round"/>

    <!-- beak pouch / lower -->
    <path d="M446 225
             C 485 246, 520 255, 545 235
             Q 505 236, 446 215 Z"
          fill="url(#pouchGrad)" stroke="#c16710" stroke-width="2" stroke-linejoin="round" opacity="0.95"/>

    <!-- small head crest -->
    <path d="M434 198 q -10 -8 -20 -6 q 10 10 18 14 z" fill="#2b2b2b" opacity="0.5"/>

    <!-- legs -->
    <path d="M385 296 Q 380 330 380 385" fill="none" stroke="#f2994a" stroke-width="10" stroke-linecap="round"/>
    <path d="M368 300 Q 400 360 460 455" fill="none" stroke="#f2994a" stroke-width="10" stroke-linecap="round"/>

    <!-- feet -->
    <path d="M365 392
             L 382 388
             L 399 390
             L 392 400
             L 378 402
             L 365 402 Z"
          fill="#e07a21" stroke="#b85e12" stroke-width="2"/>
    <path d="M446 458
             L 461 454
             L 476 455
             L 469 465
             L 456 468
             L 446 465 Z"
          fill="#e07a21" stroke="#b85e12" stroke-width="2"/>
  </g>
</svg>
@simonw
Copy link
Author

simonw commented Oct 6, 2025

image

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