Model: openai/gpt-5.4-pro
Generate an SVG of a pelican riding a bicycle
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 500" width="800" height="500" role="img" aria-labelledby="title desc">
<title id="title">Pelican riding a bicycle</title>
<desc id="desc">A playful SVG illustration of a pelican pedaling a bicycle.</desc>
<defs>
<linearGradient id="feather" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#ffffff"/>
<stop offset="100%" stop-color="#e7eef4"/>
</linearGradient>
<linearGradient id="wingShade" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#8a96a6"/>
<stop offset="100%" stop-color="#59616d"/>
</linearGradient>
<linearGradient id="beakGrad" x1="0" y1="0" x2="1" y2="0">
<stop offset="0%" stop-color="#fbbf24"/>
<stop offset="100%" stop-color="#f59e0b"/>
</linearGradient>
<linearGradient id="pouchGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#ffd6a5"/>
<stop offset="100%" stop-color="#fca5a5"/>
</linearGradient>
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="0" dy="4" stdDeviation="4" flood-color="#000000" flood-opacity="0.18"/>
</filter>
<style>
.frame { stroke:#244c74; stroke-width:8; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.metal { stroke:#475569; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.tire { stroke:#111827; stroke-width:12; fill:none; }
.rim { stroke:#334155; stroke-width:6; fill:none; }
.spoke line { stroke:#94a3b8; stroke-width:2; }
</style>
<g id="wheel">
<circle class="tire" cx="0" cy="0" r="88"/>
<circle class="rim" cx="0" cy="0" r="76"/>
<g class="spoke">
<line x1="0" y1="0" x2="0" y2="-76"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(30)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(60)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(90)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(120)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(150)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(180)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(210)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(240)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(270)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(300)"/>
<line x1="0" y1="0" x2="0" y2="-76" transform="rotate(330)"/>
</g>
<circle cx="0" cy="0" r="10" fill="#64748b" stroke="#334155" stroke-width="3"/>
</g>
</defs>
<rect width="800" height="500" fill="#eef7ff"/>
<path d="M0 405 C130 382, 260 433, 400 404 C545 374, 660 430, 800 402 L800 500 L0 500 Z" fill="#dff2d6"/>
<ellipse cx="220" cy="445" rx="110" ry="12" fill="#000" opacity="0.08"/>
<ellipse cx="530" cy="445" rx="110" ry="12" fill="#000" opacity="0.08"/>
<ellipse cx="345" cy="292" rx="130" ry="20" fill="#000" opacity="0.07"/>
<!-- Bicycle -->
<g filter="url(#shadow)">
<use href="#wheel" transform="translate(220 350)"/>
<use href="#wheel" transform="translate(530 350)"/>
<g class="frame">
<line x1="220" y1="350" x2="318" y2="248"/>
<line x1="220" y1="350" x2="358" y2="338"/>
<line x1="318" y1="248" x2="358" y2="338"/>
<line x1="318" y1="248" x2="470" y2="250"/>
<line x1="456" y1="294" x2="358" y2="338"/>
<line x1="470" y1="250" x2="456" y2="294"/>
<line x1="456" y1="294" x2="530" y2="350"/>
<line x1="470" y1="250" x2="530" y2="350"/>
</g>
<g class="metal">
<line x1="318" y1="248" x2="318" y2="226"/>
<path d="M297 227 L335 227" stroke="#1f2937" stroke-width="6"/>
<line x1="470" y1="250" x2="497" y2="224" stroke="#475569" stroke-width="5"/>
<path d="M478 225 Q499 214 517 221 Q507 228 492 233" stroke="#1f2937" stroke-width="6"/>
<circle cx="358" cy="338" r="18" fill="none" stroke="#334155" stroke-width="5"/>
<circle cx="220" cy="350" r="15" fill="none" stroke="#334155" stroke-width="4"/>
<line x1="358" y1="338" x2="395" y2="355" stroke="#475569" stroke-width="5"/>
<line x1="358" y1="338" x2="321" y2="321" stroke="#475569" stroke-width="5"/>
<rect x="389" y="350" width="16" height="8" rx="2" fill="#475569" stroke="none"/>
<rect x="313" y="317" width="16" height="8" rx="2" fill="#475569" stroke="none"/>
<path d="M235 339 Q290 337 340 332" stroke="#1f2937" stroke-width="3"/>
<path d="M236 347 Q289 347 339 343" stroke="#1f2937" stroke-width="3"/>
</g>
</g>
<!-- Pelican -->
<g filter="url(#shadow)">
<!-- tail -->
<path d="M248 220 C218 198, 205 210, 208 232 C214 250, 234 255, 262 245 Z"
fill="url(#wingShade)" stroke="#5b6470" stroke-width="3"/>
<!-- body -->
<ellipse cx="332" cy="220" rx="76" ry="54"
fill="url(#feather)" stroke="#7c8a98" stroke-width="3"/>
<ellipse cx="348" cy="232" rx="46" ry="31" fill="#ffffff" opacity="0.55"/>
<!-- tucked wing -->
<path d="M278 206 C255 185, 249 251, 311 267 C350 274, 381 237, 359 205 C340 180, 299 184, 278 206 Z"
fill="url(#wingShade)" stroke="#586270" stroke-width="3"/>
<!-- neck -->
<path d="M360 182
C366 145, 387 119, 409 118
C426 117, 438 126, 439 140
C440 154, 430 165, 415 168
C399 171, 389 180, 392 194
L365 201
C360 194, 358 188, 360 182 Z"
fill="url(#feather)" stroke="#7c8a98" stroke-width="3"/>
<!-- wing on handlebar -->
<path d="M362 210
C404 211, 453 220, 494 231
C499 232, 500 239, 495 241
C450 238, 406 232, 360 223 Z"
fill="url(#feather)" stroke="#7c8a98" stroke-width="3"/>
<ellipse cx="497" cy="236" rx="12" ry="8"
fill="#f2f7fb" stroke="#7c8a98" stroke-width="2"/>
<!-- head -->
<ellipse cx="417" cy="142" rx="34" ry="27"
fill="url(#feather)" stroke="#7c8a98" stroke-width="3"/>
<path d="M393 120 Q405 108 419 115" fill="none" stroke="#7c8a98" stroke-width="3" stroke-linecap="round"/>
<circle cx="419" cy="139" r="4.6" fill="#111827"/>
<circle cx="417.5" cy="137.5" r="1.4" fill="#ffffff"/>
<!-- beak -->
<path d="M432 135
C484 120, 558 121, 636 145
C637 153, 634 157, 628 158
C549 147, 485 145, 433 148 Z"
fill="url(#beakGrad)" stroke="#b45309" stroke-width="3" stroke-linejoin="round"/>
<path d="M628 145 Q636 149 631 157"
fill="none" stroke="#7c2d12" stroke-width="3" stroke-linecap="round"/>
<!-- pouch -->
<path d="M433 149
C493 151, 553 163, 612 197
C557 207, 487 199, 437 177
C431 170, 429 159, 433 149 Z"
fill="url(#pouchGrad)" stroke="#c96b4b" stroke-width="3"/>
<!-- legs -->
<path d="M309 270 Q314 296 321 321"
fill="none" stroke="#d97706" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M339 270 Q353 302 395 355"
fill="none" stroke="#d97706" stroke-width="7" stroke-linecap="round" stroke-linejoin="round"/>
<!-- feet -->
<path d="M315 322 l8 -4 l5 6 l-9 2 l8 5"
fill="none" stroke="#d97706" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M389 356 l8 -4 l5 6 l-9 2 l8 5"
fill="none" stroke="#d97706" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
</g>
</svg>16 input, 8,593 output, {"output_tokens_details": {"reasoning_tokens": 5771}}
Took 4m45s and cost me $1.55.