Back

SVG Drawing Match #2258

May 09, 2025
GPT-4o
Challenge Creator

Creative Challenge

"A giraffe wearing a top hat balancing on a unicycle."

SVG by Claude 3.7 Sonnet Thinking (2025-02-19)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <!-- Background gradient -->
    <linearGradient id="sky-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#2196F3"/>
      <stop offset="100%" stop-color="#64B5F6"/>
    </linearGradient>
    
    <!-- Giraffe gradient -->
    <linearGradient id="giraffe-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#FFC107"/>
      <stop offset="100%" stop-color="#FFD54F"/>
    </linearGradient>
    
    <!-- Spotlight on floor -->
    <radialGradient id="spotlight" cx="50%" cy="100%" r="50%" fx="50%" fy="100%">
      <stop offset="0%" stop-color="#FFECB3" stop-opacity="0.7"/>
      <stop offset="100%" stop-color="#FFECB3" stop-opacity="0"/>
    </radialGradient>
    
    <!-- Hat ribbon gradient -->
    <linearGradient id="ribbon-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" stop-color="#D32F2F"/>
      <stop offset="50%" stop-color="#FF5252"/>
      <stop offset="100%" stop-color="#D32F2F"/>
    </linearGradient>
    
    <!-- Wheel shine -->
    <linearGradient id="wheel-shine" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#FFFFFF" stop-opacity="0.8"/>
      <stop offset="100%" stop-color="#FFFFFF" stop-opacity="0"/>
    </linearGradient>
    
    <!-- Stars pattern -->
    <pattern id="stars-pattern" patternUnits="userSpaceOnUse" width="100" height="100">
      <circle cx="10" cy="10" r="0.8" fill="white" opacity="0.6"/>
      <circle cx="30" cy="22" r="0.6" fill="white" opacity="0.6"/>
      <circle cx="50" cy="50" r="0.8" fill="white" opacity="0.6"/>
      <circle cx="77" cy="30" r="0.6" fill="white" opacity="0.6"/>
      <circle cx="90" cy="70" r="0.8" fill="white" opacity="0.6"/>
      <circle cx="20" cy="90" r="0.7" fill="white" opacity="0.6"/>
      <circle cx="40" cy="60" r="0.7" fill="white" opacity="0.6"/>
      <circle cx="70" cy="85" r="0.6" fill="white" opacity="0.6"/>
    </pattern>
  </defs>
  
  <!-- Background -->
  <rect x="0" y="0" width="300" height="300" fill="url(#sky-gradient)"/>
  <rect x="0" y="0" width="300" height="300" fill="url(#stars-pattern)"/>
  
  <!-- Spotlight effect -->
  <ellipse cx="150" cy="300" rx="150" ry="100" fill="url(#spotlight)"/>
  
  <!-- Decorative clouds -->
  <path d="M40,70 Q55,60 70,70 Q85,60 100,70 Q115,60 130,70 Q130,90 100,90 Q70,100 40,90 Q40,70 40,70 Z" fill="white" opacity="0.8"/>
  <path d="M190,50 Q205,40 220,50 Q235,40 250,50 Q265,40 280,50 Q280,70 250,70 Q220,80 190,70 Q190,50 190,50 Z" fill="white" opacity="0.6"/>
  <path d="M20,130 Q35,120 50,130 Q65,120 80,130 Q80,150 50,150 Q20,140 20,130 Z" fill="white" opacity="0.7"/>
  
  <!-- Ground shadow -->
  <ellipse cx="150" cy="280" rx="50" ry="10" fill="#333" opacity="0.3"/>
  
  <!-- Unicycle -->
  <g id="unicycle">
    <!-- Wheel -->
    <circle cx="150" cy="250" r="30" fill="#E0E0E0" stroke="#424242" stroke-width="3"/>
    <circle cx="150" cy="250" r="27" fill="none" stroke="#616161" stroke-width="1"/>
    <circle cx="150" cy="250" r="23" fill="none" stroke="#9E9E9E" stroke-width="1" stroke-dasharray="2,4"/>
    
    <!-- Spokes -->
    <g stroke="#424242" stroke-width="1.5">
      <line x1="120" y1="250" x2="180" y2="250"/>
      <line x1="150" y1="220" x2="150" y2="280"/>
      <line x1="129" y1="229" x2="171" y2="271"/>
      <line x1="129" y1="271" x2="171" y2="229"/>
      <line x1="135" y1="223" x2="165" y2="277"/>
      <line x1="135" y1="277" x2="165" y2="223"/>
    </g>
    
    <!-- Hub -->
    <circle cx="150" cy="250" r="5" fill="#FF6F00"/>
    <circle cx="150" cy="250" r="3" fill="#FFA000"/>
    
    <!-- Wheel shine reflection -->
    <path d="M130,230 Q150,235 170,230 A30,30 0 0,0 130,230" fill="url(#wheel-shine)" opacity="0.6"/>
    
    <!-- Seat post -->
    <rect x="147" y="185" width="6" height="35" fill="#424242"/>
    
    <!-- Seat -->
    <ellipse cx="150" cy="185" rx="15" ry="6" fill="#212121"/>
    <ellipse cx="150" cy="183" rx="13" ry="4" fill="#616161"/>
    <path d="M140,186 Q150,189 160,186" stroke="#BDBDBD" stroke-width="1"/>
    
    <!-- Pedals -->
    <line x1="135" y1="250" x2="165" y2="250" stroke="#424242" stroke-width="3"/>
    <circle cx="135" cy="250" r="6" fill="#FFC107" stroke="#FFA000" stroke-width="1"/>
    <circle cx="135" cy="250" r="2" fill="#FFD54F"/>
    <circle cx="165" cy="250" r="6" fill="#FFC107" stroke="#FFA000" stroke-width="1"/>
    <circle cx="165" cy="250" r="2" fill="#FFD54F"/>
    
    <!-- Motion lines to show balance -->
    <g stroke="#FFCC80" stroke-width="0.8" stroke-dasharray="3,2" opacity="0.6">
      <path d="M115,230 L105,225" />
      <path d="M105,240 L95,238" />
      <path d="M185,230 L195,225" />
      <path d="M195,240 L205,238" />
    </g>
  </g>
  
  <!-- Giraffe -->
  <g id="giraffe">
    <!-- Rear leg (behind) -->
    <path d="M135,180 C130,210 126,240 135,250" stroke="#E6A832" stroke-width="12" stroke-linecap="round" fill="none"/>
    <path d="M135,180 C130,210 126,240 135,250" stroke="url(#giraffe-gradient)" stroke-width="10" stroke-linecap="round" fill="none"/>
    
    <!-- Body -->
    <ellipse cx="150" cy="160" rx="25" ry="35" fill="url(#giraffe-gradient)"/>
    
    <!-- Tail -->
    <path d="M125,160 Q110,180 115,200 Q118,205 110,210" fill="none" stroke="#E6A832" stroke-width="4" stroke-linecap="round"/>
    <path d="M125,160 Q110,180 115,200 Q118,205 110,210" fill="none" stroke="url(#giraffe-gradient)" stroke-width="3" stroke-linecap="round"/>
    <path d="M110,210 Q108,215 105,220" fill="none" stroke="#8D6E63" stroke-width="2.5" stroke-linecap="round"/>
    <path d="M105,220 L102,226" fill="none" stroke="#8D6E63" stroke-width="1.5" stroke-linecap="round"/>
    
    <!-- Front leg (behind) -->
    <path d="M165,190 C170,210 175,240 165,250" stroke="#E6A832" stroke-width="12" stroke-linecap="round" fill="none"/>
    <path d="M165,190 C170,210 175,240 165,250" stroke="url(#giraffe-gradient)" stroke-width="10" stroke-linecap="round" fill="none"/>
    
    <!-- Front leg (on unicycle pedal) -->
    <path d="M140,190 C130,215 134,240 135,250" stroke="#E6A832" stroke-width="12" stroke-linecap="round" fill="none"/>
    <path d="M140,190 C130,215 134,240 135,250" stroke="url(#giraffe-gradient)" stroke-width="10" stroke-linecap="round" fill="none"/>
    
    <!-- Rear leg (front) -->
    <path d="M170,190 C180,215 175,235 165,250" stroke="#E6A832" stroke-width="12" stroke-linecap="round" fill="none"/>
    <path d="M170,190 C180,215 175,235 165,250" stroke="url(#giraffe-gradient)" stroke-width="10" stroke-linecap="round" fill="none"/>
    
    <!-- Neck -->
    <path d="M150,130 C140,100 150,70 150,40" stroke="#E6A832" stroke-width="20" stroke-linecap="round" fill="none"/>
    <path d="M150,130 C140,100 150,70 150,40" stroke="url(#giraffe-gradient)" stroke-width="18" stroke-linecap="round" fill="none"/>
    
    <!-- Spots (on body) -->
    <g fill="#BF6516">
      <ellipse cx="135" cy="145" rx="7" ry="9"/>
      <ellipse cx="165" cy="150" rx="6" ry="8"/>
      <ellipse cx="145" cy="175" rx="5" ry="7"/>
      <ellipse cx="160" cy="165" rx="4" ry="6"/>
      <ellipse cx="130" cy="165" rx="5" ry="4"/>
      <ellipse cx="155" cy="140" rx="4" ry="5"/>
    </g>
    
    <!-- Spots (on neck) -->
    <g fill="#BF6516">
      <ellipse cx="145" cy="115" rx="5" ry="7"/>
      <ellipse cx="155" cy="100" rx="4" ry="6"/>
      <ellipse cx="145" cy="80" rx="5" ry="7"/>
      <ellipse cx="155" cy="60" rx="4" ry="6"/>
      <ellipse cx="145" cy="50" rx="3" ry="5"/>
      <ellipse cx="155" cy="120" rx="4" ry="5"/>
    </g>
    
    <!-- Head -->
    <ellipse cx="150" cy="30" rx="14" ry="18" fill="url(#giraffe-gradient)"/>
    
    <!-- Ears -->
    <path d="M138,20 Q133,15 136,12 Q140,15 140,20" fill="#E6A832"/>
    <path d="M162,20 Q167,15 164,12 Q160,15 160,20" fill="#E6A832"/>
    
    <!-- Horns -->
    <line x1="144" y1="16" x2="142" y2="8" stroke="#8D6E63" stroke-width="3" stroke-linecap="round"/>
    <line x1="156" y1="16" x2="158" y2="8" stroke="#8D6E63" stroke-width="3" stroke-linecap="round"/>
    
    <!-- Face -->
    <circle cx="144" cy="28" r="2.5" fill="#222"/> <!-- Left eye -->
    <circle cx="156" cy="28" r="2.5" fill="#222"/> <!-- Right eye -->
    <circle cx="143" cy="27" r="0.8" fill="white"/> <!-- Left eye highlight -->
    <circle cx="155" cy="27" r="0.8" fill="white"/> <!-- Right eye highlight -->
    <ellipse cx="150" cy="34" rx="3" ry="2" fill="#333"/> <!-- Nose -->
    <path d="M146,38 Q150,41 154,38" fill="none" stroke="#333" stroke-width="1.5"/> <!-- Smile -->
    
    <!-- Eyelashes -->
    <g stroke="#333" stroke-width="0.8">
      <line x1="142" y1="25" x2="140" y2="23"/>
      <line x1="144" y1="25" x2="143" y2="23"/>
      <line x1="146" y1="25" x2="147" y2="23"/>
      <line x1="154" y1="25" x2="153" y2="23"/>
      <line x1="156" y1="25" x2="157" y2="23"/>
      <line x1="158" y1="25" x2="160" y2="23"/>
    </g>
    
    <!-- Spots on head -->
    <g fill="#BF6516">
      <ellipse cx="140" cy="25" rx="2" ry="3"/>
      <ellipse cx="160" cy="25" rx="2" ry="3"/>
      <ellipse cx="145" cy="38" rx="2" ry="2.5"/>
    </g>
  </g>
  
  <!-- Top Hat -->
  <g id="top-hat">
    <!-- Base of hat -->
    <ellipse cx="150" cy="11" rx="22" ry="5" fill="#111"/>
    
    <!-- Main part of hat -->
    <path d="M135,-14 Q135,-18 150,-18 Q165,-18 165,-14 L165,11 L135,11 Z" fill="#111"/>
    
    <!-- Hat band/ribbon -->
    <rect x="134.5" y="1" width="31" height="5" fill="url(#ribbon-gradient)"/>
    
    <!-- Decorative shine on hat -->
    <path d="M135,-10 L165,-10" stroke="#444" stroke-width="0.5"/>
    <path d="M138,-5 L162,-5" stroke="#444" stroke-width="0.5"/>
    
    <!-- Top shine -->
    <path d="M140,-15 Q150,-17 160,-15" stroke="#444" stroke-width="0.5" fill="none"/>
    
    <!-- Hat decoration -->
    <circle cx="150" cy="3.5" r="2" fill="gold"/>
    <path d="M150,3.5 L148,0 M150,3.5 L152,0" stroke="gold" stroke-width="1"/>
    <path d="M150,3.5 L147,2 M150,3.5 L153,2" stroke="gold" stroke-width="0.8"/>
  </g>
  
  <!-- Balancing motion lines -->
  <g stroke="#FFF" stroke-width="0.8" opacity="0.6">
    <path d="M100,150 Q120,140 110,120" fill="none"/>
    <path d="M200,150 Q180,140 190,120" fill="none"/>
    <path d="M90,170 L85,160" stroke-dasharray="2,2"/>
    <path d="M210,170 L215,160" stroke-dasharray="2,2"/>
    <path d="M80,200 L70,195" stroke-dasharray="2,3"/>
    <path d="M220,200 L230,195" stroke-dasharray="2,3"/>
  </g>
  
  <!-- Confetti for circus atmosphere -->
  <g fill-opacity="0.7">
    <circle cx="60" cy="90" r="2" fill="#FF5252"/>
    <circle cx="80" cy="60" r="1.5" fill="#FFC107"/>
    <circle cx="100" cy="40" r="2" fill="#4CAF50"/>
    <circle cx="230" cy="80" r="2" fill="#2196F3"/>
    <circle cx="250" cy="100" r="1.5" fill="#9C27B0"/>
    <rect x="120" y="70" width="3" height="3" fill="#FF9800" transform="rotate(45, 121.5, 71.5)"/>
    <rect x="200" y="60" width="3" height="3" fill="#F44336" transform="rotate(30, 201.5, 61.5)"/>
    <rect x="70" y="120" width="2" height="2" fill="#8BC34A" transform="rotate(15, 71, 121)"/>
    <path d="M260,120 l-2,2 l-2,-2 z" fill="#FFEB3B"/>
    <circle cx="40" cy="150" r="1.5" fill="#F06292"/>
    <circle cx="190" cy="30" r="2" fill="#4FC3F7"/>
    <circle cx="260" cy="50" r="1.5" fill="#AED581"/>
  </g>
</svg>
SVG by GPT-4.1 nano (2025-04-14)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <!-- Gradients for vibrant colors -->
    <linearGradient id="giraffeGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#ffdd72"/>
      <stop offset="100%" stop-color="#ffc107"/>
    </linearGradient>
    <linearGradient id="blueGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" stop-color="#6ec6ff"/>
      <stop offset="100%" stop-color="#0288d1"/>
    </linearGradient>
    <linearGradient id="hatGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#444"/>
      <stop offset="100%" stop-color="#222"/>
    </linearGradient>
    <radialGradient id="unicycleGradient" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#fbc02d"/>
      <stop offset="100%" stop-color="#f57f17"/>
    </radialGradient>
  </defs>

  <!-- Background -->
  <rect width="300" height="300" fill="#f0f8ff"/>

  <!-- Unicycle wheel -->
  <circle cx="150" cy="220" r="50" fill="url(#unicycleGradient)" stroke="#555" stroke-width="3"/>
  <!-- Wheel spokes -->
  <line x1="150" y1="170" x2="150" y2="270" stroke="#555" stroke-width="2"/>
  <line x1="100" y1="220" x2="200" y2="220" stroke="#555" stroke-width="2"/>
  <line x1="125" y1="180" x2="175" y2="260" stroke="#555" stroke-width="2"/>
  <line x1="175" y1="180" x2="125" y2="260" stroke="#555" stroke-width="2"/>

  <!-- Axle -->
  <circle cx="150" cy="220" r="5" fill="#333"/>

  <!-- Giraffe's body -->
  <ellipse cx="150" cy="150" rx="25" ry="60" fill="url(#giraffeGradient)" stroke="#885c00" stroke-width="2"/>
  <!-- Giraffe's neck -->
  <rect x="150" y="90" width="8" height="50" fill="url(#giraffeGradient)" stroke="#885c00" stroke-width="1"/>
  <!-- Giraffe's head -->
  <circle cx="154" cy="65" r="12" fill="url(#giraffeGradient)" stroke="#885c00" stroke-width="2"/>

  <!-- Giraffe's ears -->
  <polygon points="162,58 170,62 164,70" fill="#885c00"/>
  <polygon points="146,58 138,62 144,70" fill="#885c00"/>

  <!-- Giraffe's eyes -->
  <circle cx="158" cy="60" r="2" fill="#000"/>
  <circle cx="150" cy="60" r="2" fill="#000"/>

  <!-- Giraffe's spots -->
  <circle cx="140" cy="130" r="3" fill="#654321"/>
  <circle cx="160" cy="140" r="2.5" fill="#654321"/>
  <circle cx="155" cy="125" r="2" fill="#654321"/>
  <circle cx="145" cy="135" r="2" fill="#654321"/>

  <!-- Giraffe's legs on the unicycle -->
  <line x1="137" y1="180" x2="137" y2="220" stroke="#885c00" stroke-width="4"/>
  <line x1="163" y1="180" x2="163" y2="220" stroke="#885c00" stroke-width="4"/>

  <!-- Giraffe's tail -->
  <line x1="125" y1="150" x2="120" y2="160" stroke="#885c00" stroke-width="3"/>
  <circle cx="120" cy="160" r="2" fill="#885c00"/>

  <!-- Top hat -->
  <rect x="143" y="35" width="14" height="8" fill="url(#hatGradient)" stroke="#222" stroke-width="1"/>
  <ellipse cx="150" cy="35" rx="14" ry="3" fill="#222"/>
  <!-- Hat's brim -->
  <rect x="135" y="43" width="30" height="2" fill="#222"/>

  <!-- Optional: Add some whimsical elements -->
  <!-- Bubbles or stars around the giraffe for fanciness -->
  <circle cx="180" cy="40" r="2" fill="#ffeb3b" opacity="0.8"/>
  <circle cx="125" cy="55" r="1.5" fill="#fff176"/>
  <circle cx="200" cy="20" r="1" fill="#fff176"/>
  <circle cx="160" cy="25" r="2" fill="#ffe0b2" opacity="0.7"/>
  <circle cx="135" cy="35" r="1.5" fill="#ffe0b2"/>
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is Claude 3.7 Sonnet Thinking (2025-02-19) Player 1

Judge's Analysis

    Player 1's submission is more detailed and visually appealing, with a colorful background, a well-rendered giraffe wearing a top hat, and a unicycle that adheres to the prompt.

    Player 2's submission is more abstract and minimalistic, but it lacks the clear representation of a giraffe and feels less aligned with the prompt's specificity.

These metrics analyze technical aspects of both SVG drawings. Look for differences that might explain the judge's decision. Use the "View Code" button above to see the SVG code for each drawing.

Shapes Metrics

Total Shapes

The total number of shape elements (rect, circle, ellipse, line, polygon, polyline, path) in the SVG.

Player 1
114
Player 2
30
Rectangles

The number of rectangle elements (rect) in the SVG.

Player 1
7
Player 2
4
Circles

The number of circle elements (circle) in the SVG.

Player 1
30
Player 2
15
Ellipses

The number of ellipse elements (ellipse) in the SVG.

Player 1
23
Player 2
2
Lines

The number of line elements (line) in the SVG.

Player 1
15
Player 2
7
Polygons

The number of polygon elements (polygon) in the SVG.

Player 1
Player 2
2
Paths

The number of path elements (path) in the SVG.

Player 1
39
Player 2
Groups

The number of group elements (g) in the SVG.

Player 1
11
Player 2

Visual Effects Metrics

Gradients

The number of gradient definitions (linearGradient, radialGradient) in the SVG.

Player 1
5
Player 2
4
Patterns

The number of pattern definitions (pattern) in the SVG.

Player 1
1
Player 2
Filters

The number of filter definitions (filter) in the SVG.

Player 1
Player 2
Masks

The number of mask definitions (mask) in the SVG.

Player 1
Player 2
Clip Paths

The number of clipping path definitions (clipPath) in the SVG.

Player 1
Player 2
Elements with Opacity

The number of elements with opacity attributes in the SVG.

Player 1
15
Player 2
2
Elements with Stroke

The number of elements with stroke attributes in the SVG.

Player 1
33
Player 2
12

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
35
Player 2
17

Interactivity Metrics

Animations

The number of animation elements (animate, animateMotion, animateTransform, set) in the SVG.

Player 1
Player 2
Elements with Transform

The number of elements with transform attributes in the SVG.

Player 1
3
Player 2

Complexity Metrics

Path Commands

The total number of path commands in all path elements (M, L, C, Q, etc.) in the SVG.

Player 1
109
Player 2
Max Group Nesting

The maximum nesting level of group elements (g) in the SVG.

Player 1
1
Player 2
Defs Elements

The number of elements defined within the defs element in the SVG.

Player 1
6
Player 2
4
Use Elements

The number of use elements (use) in the SVG.

Player 1
Player 2

Text Metrics

Text Elements

The number of text elements (text) in the SVG.

Player 1
Player 2

AI Judging Process

Creativity

Originality, innovative use of shapes and unique approach to the prompt.

Prompt Adherence

How accurately the SVG captures the essence of the prompt.

Visual Appeal

Aesthetic quality including composition, color usage and overall visual impact.

How does judging work?

SVG drawings are converted to static PNG images for evaluation. The AI judge receives the original prompt and both images, then determines which drawing better fulfills the evaluation criteria without seeing animations, interactivity, or SVG code.

Similar Challenges