Gemini 2.5 Pro
RANK 16 · MEOWSCORE 78.5 · previous · US · closed
minimal
“Draw a minimal, flat-design cat as an SVG.”
Gemini 2.5 Pro · minimal · attempt 1 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<path fill="#212121" d="M 20 95 C 0 95, 0 65, 25 40 L 35 10 L 50 30 L 65 10 L 75 40 C 100 65, 100 95, 80 95 Z"/>
<circle fill="#fff" cx="38" cy="50" r="5"/>
<circle fill="#fff" cx="62" cy="50" r="5"/>
</svg>Gemini 2.5 Pro · minimal · attempt 2 · score 7.5
the actual svg, as the machine wrote it:
<svg width="200" height="200" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<!-- A group for the cat's main body, to apply a single fill color -->
<g fill="#2c3e50">
<!-- The tail, created with a thick, round-capped stroke -->
<path d="M 82,75 C 95,75 100,55 90,40" stroke="#2c3e50" stroke-width="14" stroke-linecap="round" fill="none"/>
<!-- The main body, a large circle -->
<circle cx="50" cy="68" r="32"/>
<!-- The ears, drawn as simple triangles -->
<polygon points="28,38 18,12 42,30"/>
<polygon points="72,38 82,12 58,30"/>
<!-- The head, a circle layered on top of the body and ears -->
<circle cx="50" cy="42" r="26"/>
</g>
<!-- The nose, a small triangle with a different color -->
<polygon points="48,50 52,50 50,54" fill="#e74c3c"/>
</svg>Gemini 2.5 Pro · minimal · attempt 3 · score 6.0
the actual svg, as the machine wrote it:
<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g fill="#1c1c1c">
<!-- Body -->
<path d="M 10 95 A 40 40 0 0 1 90 95 Z" />
<!-- Head -->
<circle cx="50" cy="55" r="28" />
<!-- Ears -->
<polygon points="25,40 50,58 15,65" />
<polygon points="75,40 50,58 85,65" />
</g>
<!-- Eyes -->
<path d="M 38,58 Q 43,65 48,58" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" />
<path d="M 52,58 Q 57,65 62,58" stroke="#ffffff" stroke-width="3" fill="none" stroke-linecap="round" />
</svg>Gemini 2.5 Pro · minimal · attempt 4 · score 8.3
the actual svg, as the machine wrote it:
<svg width="800px" height="800px" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g fill="#333">
<path stroke="#333" stroke-width="10" stroke-linecap="round" fill="none" d="M 70 65 C 90 55 95 80 85 95" />
<rect x="30" y="50" width="40" height="45" rx="20" />
<circle cx="50" cy="35" r="23" />
<path d="M 33 22 L 28 4 L 48 22 M 67 22 L 72 4 L 52 22 Z" />
</g>
</svg>realistic
“Draw a realistic sitting cat with visible fur shading as an SVG.”
Gemini 2.5 Pro · realistic · attempt 1 · score 6.5
the actual svg, as the machine wrote it:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 600">
<defs>
<radialGradient id="grad-body" cx="50%" cy="40%" r="60%" fx="50%" fy="40%">
<stop offset="0%" style="stop-color:#A9A9A9; stop-opacity:1" />
<stop offset="100%" style="stop-color:#404040; stop-opacity:1" />
</radialGradient>
<radialGradient id="grad-head" cx="50%" cy="40%" r="70%" fx="50%" fy="40%">
<stop offset="0%" style="stop-color:#C0C0C0; stop-opacity:1" />
<stop offset="100%" style="stop-color:#595959; stop-opacity:1" />
</radialGradient>
<linearGradient id="grad-ear" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#FFA07A; stop-opacity:0.6" />
<stop offset="100%" style="stop-color:#CD853F; stop-opacity:0.2" />
</linearGradient>
<radialGradient id="grad-eye" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:#C3F465;" />
<stop offset="60%" style="stop-color:#5A9340;" />
<stop offset="100%" style="stop-color:#2A5013;" />
</radialGradient>
<filter id="soft-shadow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur in="SourceAlpha" stdDeviation="8" result="blur" />
<feOffset in="blur" dx="0" dy="8" result="offsetBlur" />
<feMerge>
<feMergeNode in="offsetBlur" />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
<filter id="fur-texture">
<feTurbulence type="fractalNoise" baseFrequency="0.1 0.7" numOctaves="3" result="noise"/>
<feDiffuseLighting in="noise" lighting-color="#888" surfaceScale="2">
<feDistantLight azimuth="235" elevation="60" />
</feDiffuseLighting>
</filter>
</defs>
<!-- Shadow on the ground -->
<ellipse cx="250" cy="560" rx="150" ry="25" fill="#000000" fill-opacity="0.2" filter="url(#soft-shadow)" />
<!-- Main Body and Tail -->
<g id="body">
<!-- Base Shape -->
<path d="M150,550 C100,500 80,350 130,250 C150,200 200,180 250,180 C300,180 350,200 370,250 C420,350 400,500 350,550 Z" fill="url(#grad-body)" />
<!-- Tail -->
<path d="M340,550 C420,540 450,450 420,380 C410,360 380,360 370,380 C350,420 350,500 350,550" fill="#4A4A4A"/>
<path d="M345,550 C410,545 440,460 415,390 C408,375 385,370 375,385 C360,420 355,500 355,550" fill="#606060"/>
</g>
<!-- Fur Texture Overlay -->
<g opacity="0.1" mask="url(#body_mask)">
<rect x="0" y="0" width="500" height="600" filter="url(#fur-texture)"/>
</g>
<mask id="body_mask">
<path d="M150,550 C100,500 80,350 130,250 C150,200 200,180 250,180 C300,180 350,200 370,250 C420,350 400,500 350,550 Z M340,550 C420,540 450,450 420,380 C410,360 380,360 370,380 C350,420 350,500 350,550" fill="white" />
</mask>
<!-- Paws -->
<path d="M150,550 C140,560 150,570 165,565 C180,560 185,545 175,535" fill="#707070" />
<path d="M350,550 C360,560 350,570 335,565 C320,560 315,545 325,535" fill="#707070" />
<!-- Head -->
<g id="head" transform="translate(0, -20)">
<!-- Head Base -->
<path d="M180,250 C160,180 200,100 250,100 C300,100 340,180 320,250 C300,270 200,270 180,250 Z" fill="url(#grad-head)"/>
<!-- Fur Shading Lines -->
<g fill="none" stroke-opacity="0.4" stroke-width="1.5">
<path d="M250,110 V140" stroke="#333" />
<path d="M240,115 V140" stroke="#333" />
<path d="M260,115 V140" stroke="#333" />
<path d="M220,125 C230,150 225,180 215,200" stroke="#444" />
<path d="M280,125 C270,150 275,180 285,200" stroke="#444" />
<path d="M190,170 C200,190 200,210 195,230" stroke="#DDD" />
<path d="M310,170 C300,190 300,210 305,230" stroke="#DDD" />
</g>
<!-- Ears -->
<path d="M190,140 C170,110 180,80 200,90 L210,140 Z" fill="#6A6A6A"/>
<path d="M196,130 C185,115 190,95 200,98 L207,130 Z" fill="url(#grad-ear)" />
<path d="M310,140 C330,110 320,80 300,90 L290,140 Z" fill="#6A6A6A"/>
<path d="M304,130 C315,115 310,95 300,98 L293,130 Z" fill="url(#grad-ear)" />
<!-- Eyes -->
<g id="left-eye" transform="translate(205, 180)">
<path d="M0,0 C10,15 30,15 40,0 C30,-15 10,-15 0,0" fill="#111" />
<ellipse cx="20" cy="0" rx="18" ry="8" fill="url(#grad-eye)" />
<ellipse cx="20" cy="0" rx="4" ry="7" fill="#000000"/>
<circle cx="22" cy="-3" r="2" fill="white" fill-opacity="0.9" />
</g>
<g id="right-eye" transform="translate(255, 180)">
<path d="M0,0 C10,15 30,15 40,0 C30,-15 10,-15 0,0" fill="#111" />
<ellipse cx="20" cy="0" rx="18" ry="8" fill="url(#grad-eye)" />
<ellipse cx="20" cy="0" rx="4" ry="7" fill="#000000"/>
<circle cx="22" cy="-3" r="2" fill="white" fill-opacity="0.9" />
</g>
<!-- Nose and Mouth -->
<path d="M240,215 L260,215 L250,225 Z" fill="#FFC0CB"/>
<path d="M250,225 V235" stroke="#444" stroke-width="1"/>
<path d="M250,235 C240,240 230,235 225,230" fill="none" stroke="#444" stroke-width="1"/>
<path d="M250,235 C260,240 270,235 275,230" fill="none" stroke="#444" stroke-width="1"/>
<!-- Whiskers -->
<g stroke="white" stroke-width="0.75" stroke-opacity="0.8">
<path d="M190,210 C140,205 100,220 70,225" fill="none" />
<path d="M195,218 C150,218 110,230 85,238" fill="none" />
<path d="M190,226 C145,231 105,242 80,250" fill="none" />
<path d="M310,210 C360,205 400,220 430,225" fill="none" />
<path d="M305,218 C350,218 390,230 415,238" fill="none" />
<path d="M310,226 C355,231 395,242 420,250" fill="none" />
</g>
</g>
</svg>Gemini 2.5 Pro · realistic · attempt 2 · score 6.8
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 400">
<defs>
<radialGradient id="gradBody" cx="50%" cy="50%" r="60%" fx="60%" fy="40%">
<stop offset="0%" style="stop-color:#D2B48C; stop-opacity:1" />
<stop offset="100%" style="stop-color:#8B5E34; stop-opacity:1" />
</radialGradient>
<radialGradient id="gradHead" cx="50%" cy="50%" r="70%" fx="50%" fy="40%">
<stop offset="0%" style="stop-color:#E6CFA9; stop-opacity:1" />
<stop offset="100%" style="stop-color:#8C6239; stop-opacity:1" />
</radialGradient>
<radialGradient id="gradMuzzle" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:#F5DEB3; stop-opacity:1" />
<stop offset="80%" style="stop-color:#EFE0C7; stop-opacity:1" />
</radialGradient>
<radialGradient id="gradEye" cx="50%" cy="40%" r="60%">
<stop offset="0%" style="stop-color:#C3D66A;" />
<stop offset="100%" style="stop-color:#6B8E23;" />
</radialGradient>
<radialGradient id="shadow">
<stop offset="40%" stop-color="#212121" stop-opacity="0.2" />
<stop offset="100%" stop-color="#212121" stop-opacity="0" />
</radialGradient>
<filter id="furFilter">
<feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" result="noise"/>
<feDisplacementMap in="SourceGraphic" in2="noise" scale="1.5" />
</filter>
</defs>
<!-- Shadow -->
<ellipse cx="160" cy="380" rx="120" ry="15" fill="url(#shadow)" />
<!-- Body Group -->
<g id="cat" filter="url(#furFilter)">
<!-- Tail -->
<path d="M 230,375 C 270,360 290,320 280,280 C 275,320 250,345 230,355 Z" fill="#8C6239" />
<!-- Back Leg -->
<path d="M 190,260 C 240,260 260,320 250,380 H 160 C 150,350 140,290 190,260 Z" fill="url(#gradBody)" />
<!-- Main Body -->
<path d="M 120,380 C 40,370 70,200 130,170 C 180,180 210,240 230,280 C 245,340 210,380 120,380 Z" fill="url(#gradBody)" />
<!-- Front Paws -->
<path d="M 125,380 C 120,350 135,330 150,330 C 165,330 170,350 165,380 Z" fill="#b08b62" />
<path d="M 160,380 C 155,350 170,335 185,335 C 200,335 200,350 195,380 Z" fill="#a8835c" />
<!-- Head -->
<path d="M 100,210 C 60,180 80,90 140,80 C 200,90 220,180 180,210 C 165,225 115,225 100,210 Z" fill="url(#gradHead)" />
<!-- Ears -->
<path d="M 100,105 C 90,80 115,70 125,85 Z" fill="#E6CFA9" />
<path d="M 180,105 C 190,80 165,70 155,85 Z" fill="#E6CFA9" />
<path d="M 108,103 C 105,90 118,85 122,95 Z" fill="#D9A999" />
<path d="M 172,103 C 175,90 162,85 158,95 Z" fill="#D9A999" />
<!-- Muzzle -->
<path d="M 115,195 a 30,25 0 0 1 70,0 a 40,20 0 0 0 -70,0" fill="url(#gradMuzzle)" />
<!-- Stripes -->
<g fill="#795548" opacity="0.5">
<!-- Head Stripes -->
<path d="M 130,110 Q 140,125 150,110 Q 140,115 130,110 Z" />
<path d="M 120,130 C 110,140 120,150 130,145" stroke="#795548" stroke-width="3" fill="none" stroke-linecap="round" />
<path d="M 160,130 C 170,140 160,150 150,145" stroke="#795548" stroke-width="3" fill="none" stroke-linecap="round" />
<!-- Body Stripes -->
<path d="M 100,250 C 120,240 130,260 110,280" stroke="#795548" stroke-width="8" fill="none" stroke-linecap="round" />
<path d="M 90,300 C 110,290 120,310 100,330" stroke="#795548" stroke-width="9" fill="none" stroke-linecap="round" />
<!-- Tail Stripes -->
<path d="M 275,290 C 285,295 280,305 270,305" stroke="#795548" stroke-width="6" fill="none" stroke-linecap="round" />
<path d="M 260,320 C 270,325 265,335 255,335" stroke="#795548" stroke-width="7" fill="none" stroke-linecap="round" />
</g>
<!-- Facial Features -->
<g id="face">
<!-- Eyes -->
<path d="M 115,160 C 125,150 145,150 150,160 C 145,170 125,170 115,160 Z" fill="url(#gradEye)" stroke="#4E443A" stroke-width="0.5" />
<path d="M 160,160 C 165,150 185,150 195,160 C 185,170 165,170 160,160 Z" fill="url(#gradEye)" stroke="#4E443A" stroke-width="0.5" />
<!-- Pupils -->
<ellipse cx="132" cy="160" rx="3" ry="6" fill="#1C1C1C" />
<ellipse cx="178" cy="160" rx="3" ry="6" fill="#1C1C1C" />
<!-- Eye Highlights -->
<circle cx="134" cy="157" r="1.5" fill="#FFFFFF" opacity="0.9" />
<circle cx="180" cy="157" r="1.5" fill="#FFFFFF" opacity="0.9" />
<!-- Nose and Mouth -->
<path d="M 148,180 l 7,0 l -3.5,5 Z" fill="#C47A69" />
<path d="M 151.5,185 v 8 M 140,190 Q 151.5,198 163,190" stroke="#4a3c31" stroke-width="1" fill="none" stroke-linecap="round" />
</g>
</g>
<!-- Whiskers and Fur detail - not filtered to stay sharp -->
<g id="details" stroke-linecap="round">
<!-- Whiskers -->
<g stroke="#FFFFFF" fill="none" stroke-width="0.6" opacity="0.8">
<path d="M 105,180 q -30,0 -50,-5" />
<path d="M 105,185 q -35,2 -55,5" />
<path d="M 105,190 q -30,5 -50,15" />
<path d="M 195,180 q 30,0 50,-5" />
<path d="M 195,185 q 35,2 55,5" />
<path d="M 195,190 q 30,5 50,15" />
</g>
<!-- Fur Highlights -->
<g stroke="#F5DEB3" fill="none" stroke-width="0.8" opacity="0.7">
<path d="M 100,210 c -5,-5 -6,-10 -3,-15" />
<path d="M 105,215 c -7,-3 -9,-8 -5,-14" />
<path d="M 190,210 c 5,-5 6,-10 3,-15" />
<path d="M 185,215 c 7,-3 9,-8 5,-14" />
<path d="M 80,250 c 0,10 5,15 10,15" />
<path d="M 85,260 c 0,8 4,13 8,13" />
</g>
</g>
</svg>Gemini 2.5 Pro · realistic · attempt 3 · score 7.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="fur-texture" x="-20%" y="-20%" width="140%" height="140%">
<feTurbulence type="fractalNoise" baseFrequency="0.1 0.4" numOctaves="3" seed="5" result="noise"/>
<feDiffuseLighting in="noise" lighting-color="#bbb" surfaceScale="1.5" result="lit-noise">
<feDistantLight azimuth="45" elevation="30"/>
</feDiffuseLighting>
<feComposite in="lit-noise" in2="SourceGraphic" operator="in" result="textured"/>
<feComposite in="textured" in2="SourceGraphic" operator="arithmetic" k1="1.3" k2="0" k3="0" k4="0"/>
</filter>
<filter id="soft-shadow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="8" />
</filter>
<radialGradient id="body-gradient" cx="50%" cy="40%" r="60%" fx="50%" fy="30%">
<stop offset="0%" stop-color="#ab8b6a"/>
<stop offset="60%" stop-color="#8a6e51"/>
<stop offset="100%" stop-color="#554433"/>
</radialGradient>
<radialGradient id="eye-gradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#c1ff7a"/>
<stop offset="50%" stop-color="#70a340"/>
<stop offset="90%" stop-color="#3b5921"/>
</radialGradient>
<clipPath id="cat-mask">
<path d="M 330,290 C 380,270 420,320 415,380 C 410,440 370,450 340,445 L 305,441 C 305,420 320,380 330,290 Z"/>
<path d="M 160,240 C 120,280 110,400 160,450 C 220,460 310,460 350,440 C 370,380 360,280 320,240 C 280,200 200,200 160,240 Z"/>
<path d="M 210,120 C 160,110 130,160 135,210 C 140,260 210,280 260,270 C 295,240 280,140 210,120 Z"/>
</clipPath>
</defs>
<ellipse cx="250" cy="455" rx="140" ry="15" fill="#000" opacity="0.3" filter="url(#soft-shadow)"/>
<g id="cat" transform="translate(0, 10)">
<g filter="url(#fur-texture)">
<path d="M 330,290 C 380,270 420,320 415,380 C 410,440 370,450 340,445 L 305,441 C 305,420 320,380 330,290 Z" fill="url(#body-gradient)" />
<path d="M 160,240 C 120,280 110,400 160,450 C 220,460 310,460 350,440 C 370,380 360,280 320,240 C 280,200 200,200 160,240 Z" fill="url(#body-gradient)"/>
<path d="M 210,120 C 160,110 130,160 135,210 C 140,260 210,280 260,270 C 295,240 280,140 210,120 Z" fill="url(#body-gradient)" />
<path d="M 160,145 L 140,110 L 180,120 Z" fill="#6B5B49"/>
<path d="M 240,135 L 270,115 L 255,150 Z" fill="#6B5B49"/>
<path d="M 162,140 L 150,118 L 175,123 Z" fill="#c4a586"/>
<path d="M 245,138 L 265,122 L 253,145 Z" fill="#c4a586"/>
</g>
<g clip-path="url(#cat-mask)" opacity="0.3" filter="url(#soft-shadow)">
<path d="M 190,120 Q 200,160 210,120 M 215,115 Q 220,150 225,115 M 240,120 Q 230,160 220,120" stroke="#443322" stroke-width="8" fill="none"/>
<ellipse cx="280" cy="300" rx="40" ry="100" fill="#443322" transform="rotate(-15 280 300)"/>
<ellipse cx="190" cy="320" rx="30" ry="80" fill="#443322" transform="rotate(10 190 320)"/>
<ellipse cx="380" cy="360" rx="30" ry="50" fill="#443322" transform="rotate(45 380 360)"/>
<ellipse cx="320" cy="420" rx="40" ry="20" fill="#443322"/>
</g>
<g id="face">
<path d="M 170,210 C 190,250 250,250 270,210 C 250,225 190,225 170,210 Z" fill="#d4b79b" opacity="0.8"/>
<g id="left-eye">
<ellipse cx="180" cy="190" rx="14" ry="16" fill="#3B5921"/>
<ellipse cx="180" cy="190" rx="12" ry="14" fill="url(#eye-gradient)"/>
<ellipse cx="180" cy="193" rx="4" ry="9" fill="#000"/>
<circle cx="177" cy="186" r="2" fill="white" opacity="0.9"/>
</g>
<g id="right-eye">
<ellipse cx="230" cy="190" rx="14" ry="16" fill="#3B5921"/>
<ellipse cx="230" cy="190" rx="12" ry="14" fill="url(#eye-gradient)"/>
<ellipse cx="230" cy="193" rx="4" ry="9" fill="#000"/>
<circle cx="227" cy="186" r="2" fill="white" opacity="0.9"/>
</g>
<path d="M 205,210 L 215,210 L 210,217 Z" fill="#ffaaa9"/>
<path d="M 210,217 C 205,220 215,220 210,217" stroke="#443322" stroke-width="0.5" fill="none"/>
</g>
<g stroke="white" stroke-width="0.7" opacity="0.6" fill="none">
<path d="M 160,215 C 120,215 110,205 100,195"/>
<path d="M 160,220 C 120,220 110,220 100,220"/>
<path d="M 160,225 C 120,225 110,235 100,245"/>
<path d="M 280,215 C 320,215 330,205 340,195"/>
<path d="M 280,220 C 320,220 330,220 340,220"/>
<path d="M 280,225 C 320,225 330,235 340,245"/>
</g>
</g>
</svg>Gemini 2.5 Pro · realistic · attempt 4 · score 6.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="softBlur" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur stdDeviation="8" />
</filter>
<filter id="furTexture">
<feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="3" result="noise"/>
<feDiffuseLighting in="noise" lighting-color="#a09080" surfaceScale="2">
<feDistantLight azimuth="45" elevation="60" />
</feDiffuseLighting>
<feComposite in="SourceGraphic" in2="SourceAlpha" operator="in" />
<feBlend in2="SourceGraphic" mode="multiply" />
</filter>
<radialGradient id="bodyGradient" cx="50%" cy="40%" r="55%" fx="50%" fy="40%">
<stop offset="0%" stop-color="#d3c8b9" />
<stop offset="60%" stop-color="#a89987" />
<stop offset="100%" stop-color="#5a4d3f" />
</radialGradient>
<radialGradient id="eyeGradient" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#d4d87e" />
<stop offset="60%" stop-color="#809c48" />
<stop offset="100%" stop-color="#4a592b" />
</radialGradient>
<clipPath id="catClip">
<path d="M305,115 C330,85 370,80 390,110 C410,140 395,190 380,210 C385,220 405,250 400,285 C395,320 370,335 345,340 C350,370 340,410 310,425 C280,440 250,420 230,390 C180,415 130,410 110,380 C90,350 100,290 125,270 C90,265 75,220 90,180 C105,140 150,135 180,155 C170,120 190,90 225,85 C260,80 285,95 305,115 Z"/>
</clipPath>
</defs>
<!-- Ground Shadow -->
<ellipse cx="250" cy="425" rx="130" ry="20" fill="#000" opacity="0.2" filter="url(#softBlur)" />
<!-- Main Body -->
<g clip-path="url(#catClip)">
<path fill="url(#bodyGradient)" d="M305,115 C330,85 370,80 390,110 C410,140 395,190 380,210 C385,220 405,250 400,285 C395,320 370,335 345,340 C350,370 340,410 310,425 C280,440 250,420 230,390 C180,415 130,410 110,380 C90,350 100,290 125,270 C90,265 75,220 90,180 C105,140 150,135 180,155 C170,120 190,90 225,85 C260,80 285,95 305,115 Z"/>
<!-- Fur Texture Overlay -->
<rect x="75" y="80" width="370" height="365" opacity="0.4" filter="url(#furTexture)" />
</g>
<!-- Shadow & Detail Paths -->
<g fill="#42382f" opacity="0.5">
<!-- Stripes -->
<path d="M295,95 Q285,115 290,130 Q305,115 295,95Z" style="filter:blur(1px)"/>
<path d="M265,88 Q255,110 260,125 Q275,110 265,88Z" style="filter:blur(1px)"/>
<path d="M328,110 Q320,135 330,145 Q340,130 328,110Z" style="filter:blur(1px)"/>
<path d="M350,125 Q345,150 355,160 Q365,145 350,125Z" style="filter:blur(1px)"/>
<path d="M200,140 Q190,165 200,175 Q210,160 200,140Z" style="filter:blur(1px)"/>
<path d="M175,160 Q165,185 175,195 Q185,180 175,160Z" style="filter:blur(1px)"/>
<path d="M235,380 a 60 80 0 0 1 20,40 a 50 60 0 0 0 30 -50 Z" style="filter:blur(2px)"/>
<path d="M140,300 Q150,350 130,370 Q120,340 140,300Z" style="filter:blur(2px)"/>
<!-- Shadows -->
<path d="M205,250 c -20,-5 -35,10 -30,30 c 25,10 40,-5 40,-20 z" opacity="0.7" style="filter:blur(5px)"/>
<path d="M245,340 c 0,10 -10,30 -40,40 c -10,-20 10,-35 30,-45 z" opacity="0.8" style="filter:blur(6px)"/>
</g>
<!-- Facial Features -->
<g>
<!-- Left Eye -->
<g transform="translate(265, 155)">
<path d="M 0,0 C 15,5 20,20 0,25 C -20,20 -15,5 0,0" fill="#f0eade"/>
<circle r="10" fill="url(#eyeGradient)"/>
<circle r="5" fill="#111"/>
<circle cx="2" cy="-3" r="2.5" fill="#fff" opacity="0.9"/>
<path d="M-15,3 q 15 -10 30 0" stroke="#42382f" stroke-width="2" fill="none" opacity="0.7"/>
</g>
<!-- Right Eye -->
<g transform="translate(320, 160)">
<path d="M 0,0 C 15,5 20,20 0,25 C -20,20 -15,5 0,0" fill="#f0eade"/>
<circle r="10" fill="url(#eyeGradient)"/>
<circle r="5" fill="#111"/>
<circle cx="2" cy="-3" r="2.5" fill="#fff" opacity="0.9"/>
<path d="M-15,3 q 15 -10 30 0" stroke="#42382f" stroke-width="2" fill="none" opacity="0.7"/>
</g>
<!-- Nose and Mouth -->
<path d="M298,185 l 5,5 l -5,3 l -5,-3 Z" fill="#d4a3a3"/>
<path d="M298,193 v 10 m -7,-3 c 5,8 15,8 20,0" stroke="#42382f" stroke-width="1.5" fill="none" stroke-linecap="round"/>
<path d="M293,188 l 1,-2 M303,188 l -1,-2" stroke="#42382f" stroke-width="1" fill="none"/>
<!-- Inner Ears -->
<path d="M225,85 Q235,105 220,120 C210,110 215,90 225,85Z" fill="#c4a899" opacity="0.8"/>
<path d="M370,100 Q360,120 375,135 C385,125 380,105 370,100Z" fill="#c4a899" opacity="0.8"/>
</g>
<!-- Whiskers & Fur Details -->
<g stroke="#f0eade" stroke-width="0.8" fill="none" stroke-linecap="round">
<path d="M260,195 q -30,5 -60,0" />
<path d="M260,202 q -35,2 -70,-5" />
<path d="M260,209 q -30,-5 -60,-15" />
<path d="M335,195 q 30,5 60,0" />
<path d="M335,202 q 35,2 70,-5" />
<path d="M335,209 q 30,-5 60,-15" />
<!-- Fine fur highlights -->
<path d="M180,155 q 10,-15 -5,-20" opacity="0.7" />
<path d="M200,280 q 15,5 10,20" opacity="0.7" />
<path d="M375,210 q 10,10 0,20 " opacity="0.7" />
<path d="M310,420 q -10,-10 5,-15 " opacity="0.7" />
<path d="M230,90 q -5,10 5,15 " opacity="0.7" />
</g>
</svg>action
“Draw a cat riding a bicycle as an SVG.”
Gemini 2.5 Pro · action · attempt 1 · score 8.0
the actual svg, as the machine wrote it:
<svg width="450" height="350" viewBox="0 0 450 350" xmlns="http://www.w3.org/2000/svg">
<g stroke-linejoin="round" stroke-linecap="round" fill="none" stroke-width="5" stroke="#2c3e50">
<rect x="-10" y="-10" width="470" height="370" fill="#f4f9ff" stroke="none" />
<g stroke-opacity="0.7" stroke="#a2d6f9" stroke-width="3">
<path d="M20 180h40" />
<path d="M40 210h60" />
<path d="M30 250h30" />
</g>
<g transform="translate(120, 240)">
<circle r="55" stroke="#34495e" stroke-width="8" fill="#ecf0f1" />
<circle r="50" stroke="#bdc3c7" stroke-width="2" />
<circle r="8" fill="#7f8c8d" />
<g stroke="#95a5a6" stroke-width="2">
<path d="M0 0-38.9 38.9" />
<path d="M0 0-55 0" />
<path d="M0 0-38.9-38.9" />
<path d="M0 0 0-55" />
<path d="M0 0 38.9-38.9" />
<path d="M0 0 55 0" />
<path d="M0 0 38.9 38.9" />
<path d="M0 0 0 55" />
</g>
</g>
<g stroke="#f39c12" fill="#f39c12">
<path d="M150 180C70 160 80 250 50 240" stroke-width="12" />
<path d="M68 235c-5-5 5-5 0 0l-10 10" stroke="#fff" fill="#fff" stroke-width="8" />
<g stroke-width="14">
<path d="M190 180c-10 50 30 80 60 90" />
<path d="M160 180c40-60 120-50 140-20" />
<path d="M265 170c25 30 55 10 75 40" />
</g>
<g stroke="#fff" fill="#fff" stroke-width="6">
<circle cx="258" cy="275" r="10" />
<circle cx="348" cy="215" r="10" />
</g>
</g>
<g stroke="#c0392b" fill="#e74c3c">
<path d="M120 240h90l-50-80z" />
<path d="m160 160-10-30" />
<path d="M120 130h60" stroke-width="8" />
</g>
<g stroke="#7f8c8d">
<circle cx="210" cy="240" r="22" fill="#ecf0f1" />
<circle cx="210" cy="240" r="5" stroke="none" fill="#34495e" />
<circle cx="120" cy="240" r="12" fill="#ecf0f1" />
<path d="M210 218 120 228m90 34L120 252" stroke-width="2" />
<path d="m210 240 40 30" />
<rect x="240" y="265" width="25" height="10" rx="3" fill="#34495e" />
<path d="m210 240-40-30" />
<rect x="160" y="205" width="25" height="10" rx="3" fill="#34495e" />
</g>
<g stroke="#c0392b" fill="#e74c3c">
<path d="M210 240 310 170 160 160" />
<path d="m310 170 20 70" />
</g>
<g>
<g stroke="#f39c12" fill="#f39c12" stroke-width="14">
<path d="M285 165c10-15 25-15 30 0" />
</g>
<circle cx="318" cy="158" r="10" stroke="#fff" fill="#fff" stroke-width="6" />
<path d="m310 170-10-25h40" stroke="#7f8c8d" />
<circle cx="340" cy="145" r="6" fill="#34495e" />
<g transform="translate(330, 240)">
<circle r="55" stroke="#34495e" stroke-width="8" fill="#ecf0f1" />
<circle r="50" stroke="#bdc3c7" stroke-width="2" />
<circle r="8" fill="#7f8c8d" />
<g stroke="#95a5a6" stroke-width="2">
<path d="M0 0-38.9 38.9" transform="rotate(20)" />
<path d="M0 0-55 0" transform="rotate(20)" />
<path d="M0 0-38.9-38.9" transform="rotate(20)" />
<path d="M0 0 0-55" transform="rotate(20)" />
<path d="M0 0 38.9-38.9" transform="rotate(20)" />
<path d="M0 0 55 0" transform="rotate(20)" />
<path d="M0 0 38.9 38.9" transform="rotate(20)" />
<path d="M0 0 0 55" transform="rotate(20)" />
</g>
</g>
</g>
<g transform="translate(300 135)">
<path d="M0 0c15-30 40-25 40 5s-15 30-40 33c-25-3-40-8-40-28s25-35 40-38z" stroke="#f39c12" fill="#f39c12" />
<path d="M-28-20a20 20 0 0 1 20 0l-10 12z" fill="#e67e22" />
<path d="M28-20a20 20 0 0 0-20 0l10 12z" fill="#e67e22" />
<g stroke-width="2">
<circle cx="-15" cy="8" r="4" stroke="none" fill="#fff" />
<circle cx="15" cy="8" r="4" stroke="none" fill="#fff" />
<circle cx="-14" cy="9" r="2" stroke="none" fill="#2c3e50" />
<circle cx="16" cy="9" r="2" stroke="none" fill="#2c3e50" />
<path d="m0 15 4 4-4-2-4 2z" fill="#ffb9b9" />
<path d="M-5 22q5 4 10 0" />
<g stroke-width="1.5">
<path d="M-25 15l-15 2m15 3-15-2m30 4 15 2m-15-5 15-2" />
</g>
</g>
</g>
</g>
</svg>Gemini 2.5 Pro · action · attempt 2 · score 8.0
the actual svg, as the machine wrote it:
<svg width="400" height="300" viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
<!-- Bicycle -->
<g id="bicycle" stroke="#2c3e50" stroke-width="4" fill="none">
<!-- Wheels -->
<g id="rear-wheel" transform="translate(80, 210)">
<circle r="45" fill="#ffffff" stroke-width="6"/>
<circle r="42" fill="none" stroke="#bdc3c7" stroke-width="2"/>
<!-- Spokes -->
<path d="M 0 -42 V 42 M -42 0 H 42 M -29.7 -29.7 L 29.7 29.7 M -29.7 29.7 L 29.7 -29.7" stroke="#bdc3c7" stroke-width="1"/>
<circle r="4" fill="#2c3e50" stroke="none"/>
</g>
<g id="front-wheel" transform="translate(280, 210)">
<circle r="45" fill="#ffffff" stroke-width="6"/>
<circle r="42" fill="none" stroke="#bdc3c7" stroke-width="2"/>
<!-- Spokes -->
<path d="M 0 -42 V 42 M -42 0 H 42 M -29.7 -29.7 L 29.7 29.7 M -29.7 29.7 L 29.7 -29.7" stroke="#bdc3c7" stroke-width="1"/>
<circle r="4" fill="#2c3e50" stroke="none"/>
</g>
<!-- Frame -->
<path d="M 80 210 L 170 210 L 265 130 L 175 130 L 80 210 M 170 210 L 175 130 M 265 130 L 280 210" stroke="#3498db" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
<!-- Seat -->
<line x1="175" y1="130" x2="165" y2="105" stroke="#3498db" stroke-width="6" stroke-linecap="round"/>
<path d="M 140 105 h 50 l 5 10 h -60 Z" fill="#2c3e50" stroke-linejoin="round"/>
<!-- Handlebars -->
<line x1="265" y1="130" x2="275" y2="110" stroke="#3498db" stroke-width="6" stroke-linecap="round"/>
<path d="M 255 110 h 40" stroke-width="5" stroke-linecap="round"/>
<rect x="250" y="105" width="10" height="10" rx="2" fill="#2c3e50" stroke="none"/>
<rect x="290" y="105" width="10" height="10" rx="2" fill="#2c3e50" stroke="none"/>
<!-- Cat's Back Leg (behind crank) -->
<path d="M 200 135 C 205 170, 180 230, 185 245" fill="none" stroke="#e67e22" stroke-width="12" stroke-linecap="round"/>
<circle cx="185" cy="248" r="8" fill="#e67e22" stroke="none"/>
<!-- Crankset -->
<g id="crank" transform="translate(170, 210)">
<circle r="18" fill="#bdc3c7" stroke-width="2"/>
<circle r="5" fill="#2c3e50" stroke="none"/>
<!-- Chain (simplified) -->
<path d="M 0 0 a 45 10 0 1 0 -90 0 a 45 10 0 1 0 90 0 z" fill="none" stroke="#7f8c8d" stroke-width="3"/>
<!-- Pedal Arms -->
<line x1="0" y1="0" x2="15" y2="35" stroke-width="4" stroke-linecap="round"/>
<rect x="8" y="38" width="15" height="5" rx="2" fill="#2c3e50" stroke="none"/>
<line x1="0" y1="0" x2="-15" y2="-35" stroke-width="4" stroke-linecap="round"/>
<rect x="-23" y="-43" width="15" height="5" rx="2" fill="#2c3e50" stroke="none"/>
</g>
</g>
<!-- Cat -->
<g id="cat" stroke="#2c3e50" stroke-width="4" fill="#e67e22" stroke-linecap="round" stroke-linejoin="round">
<!-- Tail -->
<path d="M 175 150 Q 120 160, 110 120" fill="none" stroke-width="10"/>
<!-- Body -->
<path d="M 170 120 C 190 90, 260 90, 270 125 L 250 165 C 220 180, 160 160, 170 120 Z"/>
<!-- Front Leg & Arm -->
<path d="M 225 150 C 210 160, 160 160, 147 175" fill="none" stroke-width="12"/>
<circle cx="147" cy="172" r="8" fill="#e67e22" stroke="none"/>
<path d="M 260 125 C 260 115, 270 110, 280 110" fill="none" stroke-width="10"/>
<circle cx="280" cy="110" r="8" fill="#e67e22" stroke="none"/>
<!-- Head -->
<g transform="translate(280, 85)">
<circle r="30"/>
<!-- Ears -->
<path d="M -20 -22 L -30 -35 L -10 -28 Z"/>
<path d="M 20 -22 L 30 -35 L 10 -28 Z"/>
<!-- Face -->
<g stroke-width="2" fill="#2c3e50" stroke="none">
<circle cx="-10" cy="-5" r="2.5"/>
<circle cx="10" cy="-5" r="2.5"/>
<path d="M 0 5 q 3 5 6 0 q -3 2 -6 0" fill="#f39c12"/>
<!-- Whiskers -->
<path d="M -18 2 l -10 0 M -18 6 l -8 -2" stroke="#2c3e50" fill="none" stroke-linecap="round"/>
<path d="M 18 2 l 10 0 M 18 6 l 8 -2" stroke="#2c3e50" fill="none" stroke-linecap="round"/>
</g>
</g>
</g>
</svg>Gemini 2.5 Pro · action · attempt 3 · score 8.0
the actual svg, as the machine wrote it:
<svg width="450" height="350" viewBox="0 0 450 350" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
.bike-frame { stroke: #D32F2F; stroke-width: 9; }
.bike-detail { stroke: #424242; fill: #616161; }
.tire { stroke: #212121; stroke-width: 10; fill: none; }
.spoke { stroke: #BDBDBD; stroke-width: 2; }
.cat-body { fill: #FF9800; stroke: #E65100; stroke-width: 5; }
.cat-face { stroke: #BF360C; stroke-width: 1.5; fill: none; }
.cat-paw { fill: #FF9800; stroke: #E65100; stroke-width: 5; }
</style>
</defs>
<g stroke-linecap="round" stroke-linejoin="round">
<!-- ===== BICYCLE ===== -->
<g id="bicycle">
<!-- Rear Wheel -->
<g id="rear-wheel">
<circle class="tire" cx="100" cy="240" r="55"/>
<g class="spoke">
<line x1="100" y1="185" x2="100" y2="295"/>
<line x1="155" y1="240" x2="45" y2="240"/>
<line x1="138.9" y1="201.1" x2="61.1" y2="278.9"/>
<line x1="138.9" y1="278.9" x2="61.1" y2="201.1"/>
</g>
<circle class="bike-detail" cx="100" cy="240" r="7"/>
</g>
<!-- Front Wheel -->
<g id="front-wheel">
<circle class="tire" cx="330" cy="240" r="55"/>
<g class="spoke" transform="rotate(15, 330, 240)">
<line x1="330" y1="185" x2="330" y2="295"/>
<line x1="385" y1="240" x2="275" y2="240"/>
<line x1="368.9" y1="201.1" x2="291.1" y2="278.9"/>
<line x1="368.9" y1="278.9" x2="291.1" y2="201.1"/>
</g>
<circle class="bike-detail" cx="330" cy="240" r="7"/>
</g>
<!-- Crankset & Pedals -->
<g id="crankset" class="bike-detail" transform="translate(205 240)">
<circle r="15" fill="#BDBDBD"/>
<g transform="rotate(45)">
<line y2="40" stroke-width="6"/>
<rect x="-15" y="38" width="30" height="9" rx="4" fill="#212121"/>
</g>
<g transform="rotate(225)">
<line y2="40" stroke-width="6"/>
<rect x="-15" y="38" width="30" height="9" rx="4" fill="#212121"/>
</g>
</g>
<!-- Frame -->
<g id="frame" class="bike-frame" fill="none">
<path d="M 100 240 L 205 240 L 190 150 Z" />
<path d="M 190 150 L 300 150 L 205 240" />
<line x1="300" y1="150" x2="330" y2="240" />
</g>
<!-- Seat -->
<path id="seat" class="bike-detail" fill="#5D4037" d="M 170 130 h 40 l -5 20 h -30 Z"/>
</g>
<!-- ===== CAT ===== -->
<g id="cat">
<!-- Tail -->
<path class="cat-body" fill="none" d="M 130 180 q 20 -70 -40 -90" stroke-width="14"/>
<!-- Body & Legs -->
<g class="cat-body">
<path d="M 190 145
c 10 -40, 60 -50, 85 0
c 25 50, -5 120, -40 130
l -60 -20
c -30 -30, -5 -90, 15 -110 Z" />
<path d="M 230 250 c 0 15 -10 35 -5 45" fill="none" stroke-width="18"/>
</g>
<!-- Arm -->
<path class="cat-body" d="M 255 160 c 25 -25 50 -25 75 -15" fill="none" stroke-width="18"/>
<!-- Head -->
<g id="head" transform="translate(275 110)">
<path class="cat-body" d="M -15,-32 l -15,-20 l 15,5 z" />
<path class="cat-body" d="M 15,-32 l 15,-20 l -15,5 z" />
<circle class="cat-body" r="35"/>
<g class="cat-face">
<circle cx="-13" cy="-10" r="4" fill="#212121" stroke="none"/>
<circle cx="13" cy="-10" r="4" fill="#212121" stroke="none"/>
<polygon points="0,0 5,5 -5,5" fill="#F8BBD0"/>
<path d="M -25,2 q 15,10, 25,2 M -25,8 q 15,10, 25,2" />
<path d="M 25,2 q -15,10, -25,2 M 25,8 q -15,10, -25,2" />
</g>
</g>
</g>
<!-- ===== FOREGROUND ELEMENTS ===== -->
<g id="foreground">
<!-- Handlebar -->
<path id="handlebar" class="bike-frame" fill="none" d="M 300 150 q 25 -30 55 -20" />
<rect id="handlebar-grip" class="bike-detail" fill="#5D4037" x="350" y="125" width="22" height="12" rx="5" />
<!-- Paw -->
<circle class="cat-paw" cx="355" cy="140" r="14"/>
</g>
</g>
</svg>Gemini 2.5 Pro · action · attempt 4 · score 7.5
the actual svg, as the machine wrote it:
<svg width="500" height="400" viewBox="0 0 500 400" xmlns="http://www.w3.org/2000/svg">
<!-- SVG Cat on a Bicycle by an Expert SVG Artist -->
<defs>
<g id="wheel">
<circle cx="0" cy="0" r="55" fill="none" stroke="#34495e" stroke-width="8"/>
<circle cx="0" cy="0" r="8" fill="#34495e"/>
<g stroke="#bdc3c7" stroke-width="2">
<line x1="0" y1="0" x2="0" y2="-51"/>
<line x1="0" y1="0" x2="0" y2="51"/>
<line x1="0" y1="0" x2="51" y2="0"/>
<line x1="0" y1="0" x2="-51" y2="0"/>
<line x1="0" y1="0" x2="36" y2="-36"/>
<line x1="0" y1="0" x2="-36" y2="36"/>
<line x1="0" y1="0" x2="-36" y2="-36"/>
<line x1="0" y1="0" x2="36" y2="36"/>
</g>
</g>
</defs>
<!-- Bicycle -->
<g id="bicycle">
<!-- Wheels -->
<use href="#wheel" x="140" y="270"/>
<use href="#wheel" x="380" y="270"/>
<!-- Frame -->
<g fill="none" stroke="#e74c3c" stroke-width="10" stroke-linecap="round" stroke-linejoin="round">
<path d="M 140 270 L 240 200 L 350 270"/>
<line x1="240" y1="200" x2="180" y2="270"/>
<path d="M 240 200 L 380 270"/>
</g>
<!-- Seat -->
<g>
<line x1="180" y1="270" x2="220" y2="180" stroke="#34495e" stroke-width="6"/>
<path d="M 195 180 h 50 a 10 10 0 0 1 0 20 h -50 a 10 10 0 0 1 0 -20 z" fill="#2c3e50" transform="rotate(-15 220 180)"/>
</g>
<!-- Cranks and Pedals -->
<g transform="translate(240, 270)">
<circle cx="0" cy="0" r="12" fill="#ecf0f1" stroke="#34495e" stroke-width="4"/>
<g stroke="#34495e" stroke-width="6" stroke-linecap="round">
<line x1="0" y1="0" x2="30" y2="30"/>
<line x1="22" y1="38" x2="38" y2="22"/>
</g>
</g>
</g>
<!-- Cat -->
<g id="cat">
<!-- Tail -->
<path d="M 150 200 Q 80 180 90 120" fill="none" stroke="#f39c12" stroke-width="12" stroke-linecap="round"/>
<path d="M 140 185 Q 90 170 100 130" fill="none" stroke="#d35400" stroke-width="3" stroke-linecap="round"/>
<path d="M 130 200 Q 90 190 95 150" fill="none" stroke="#d35400" stroke-width="3" stroke-linecap="round"/>
<!-- Body and Back Leg -->
<path d="M 225 190 C 180 200 170 250 210 290" fill="#f39c12" stroke="#d35400" stroke-width="2"/>
<path d="M 210 180 C 260 180 270 110 270 110" fill="#f39c12" stroke="#d35400" stroke-width="2"/>
<circle cx="210" cy="300" r="10" fill="#f39c12" stroke="#d35400" stroke-width="2"/>
<!-- Head -->
<g transform="translate(270, 110)">
<path d="M 0 0 c -30 0 -40 -40 -10 -55 s 50 -10 60 10 s -5 55 -50 45 z" fill="#f39c12" stroke="#d35400" stroke-width="2"/>
<!-- Ears -->
<path d="M -10 -50 C -5 -65 10 -60 5 -50" fill="#f39c12" stroke="#d35400" stroke-width="2" stroke-linejoin="round"/>
<path d="M 20 -52 C 25 -67 40 -62 35 -52" fill="#f39c12" stroke="#d35400" stroke-width="2" stroke-linejoin="round"/>
<!-- Face -->
<path d="M 0 -25 q 25 -15 50 0 C 40 -45 10 -45 0 -25 z" fill="#ecf0f1"/>
<path d="M 10 -40 q 5 5 10 0" stroke="#2c3e50" stroke-width="2" fill="none" stroke-linecap="round"/>
<path d="M 30 -40 q 5 5 10 0" stroke="#2c3e50" stroke-width="2" fill="none" stroke-linecap="round"/>
<path d="M 25 -32 l 0 3" fill="none" stroke="#ff7675" stroke-width="2" stroke-linecap="round"/>
<path d="M 22 -28 c 3 -3 6 -3 8 0" fill="none" stroke="#2c3e50" stroke-width="1.5" stroke-linecap="round"/>
</g>
<!-- Stripes on Head -->
<path d="M 265 65 q 5 -10 15 -8" fill="none" stroke="#d35400" stroke-width="3" stroke-linecap="round"/>
<path d="M 295 60 q 5 -10 15 -8" fill="none" stroke="#d35400" stroke-width="3" stroke-linecap="round"/>
<!-- Arm -->
<path d="M 255 160 C 290 150 330 155 350 165" fill="none" stroke="#f39c12" stroke-width="14" stroke-linecap="round"/>
<circle cx="355" cy="165" r="10" fill="#f39c12"/>
</g>
<!-- Handlebars (in front of cat's arm) -->
<g>
<path d="M 380 270 L 365 170" stroke="#e74c3c" stroke-width="10" stroke-linecap="round"/>
<path d="M 340 170 h 50" stroke="#34495e" stroke-width="8" stroke-linecap="round"/>
<circle cx="340" cy="170" r="6" fill="#2c3e50"/>
<circle cx="390" cy="170" r="6" fill="#2c3e50"/>
</g>
<!-- Cat's Paw on Handlebar -->
<g>
<path d="M 255 160 C 290 150 330 155 350 165" fill="none" stroke="#f39c12" stroke-width="14" stroke-linecap="round"/>
<circle cx="355" cy="165" r="10" fill="#f39c12" stroke="#d35400" stroke-width="2"/>
</g>
</svg>style
“Draw an origami-style cat with geometric folds as an SVG.”
Gemini 2.5 Pro · style · attempt 1 · score 8.0
the actual svg, as the machine wrote it:
<svg width="100%" height="100%" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g>
<!-- Main Body/Head Base -->
<polygon points="50,15 20,45 20,95 80,95 80,45" fill="#E9974C"/>
<!-- Tail -->
<polygon points="80,70 95,85 80,95" fill="#D3722A"/>
<polygon points="80,70 90,60 95,85" fill="#F7C892"/>
<!-- Body Folds -->
<polygon points="55,60 80,45 80,95 65,95" fill="#D3722A"/>
<polygon points="20,95 35,95 35,75" fill="#D3722A"/>
<polygon points="50,60 35,95 65,95" fill="#FBE5C8"/>
<!-- Head Folds -->
<polygon points="50,15 20,45 35,40" fill="#D3722A"/>
<polygon points="50,15 80,45 50,60" fill="#F7C892"/>
<!-- Muzzle -->
<polygon points="38,55 50,60 62,55 50,50" fill="#FBE5C8"/>
<!-- Facial Features -->
<polygon points="38,45 42,45 40,49" fill="#333333"/>
<polygon points="58,45 62,45 60,49" fill="#333333"/>
<polygon points="47,53 53,53 50,57" fill="#333333"/>
</g>
</svg>Gemini 2.5 Pro · style · attempt 2 · score 8.3
the actual svg, as the machine wrote it:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g>
<!-- Tail Shadow -->
<polygon points="70, 95 82, 85 80, 80" fill="#a98a72"/>
<!-- Body Shadow -->
<polygon points="50, 40 70, 95 40, 95" fill="#a98a72"/>
<!-- Tail Main -->
<polygon points="82, 85 92, 75 80, 80" fill="#c7a992"/>
<!-- Right Ear Shadow -->
<polygon points="50, 18 75, 15 65, 42" fill="#a98a72"/>
<!-- Chest / Front Body -->
<polygon points="50, 40 40, 95 30, 93" fill="#c7a992"/>
<!-- Left Ear Main -->
<polygon points="50, 18 25, 15 35, 42" fill="#c7a992"/>
<!-- Right Face -->
<polygon points="50, 18 65, 42 50, 50" fill="#c7a992"/>
<!-- Left Face -->
<polygon points="50, 18 35, 42 50, 50" fill="#e3c9b6"/>
<!-- Muzzle/Nose -->
<polygon points="50, 50 42, 44 50, 38 58, 44" fill="#f3e9e1"/>
</g>
</svg>Gemini 2.5 Pro · style · attempt 3 · score 6.8
the actual svg, as the machine wrote it:
<svg width="100%" height="100%" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<!-- Origami Cat by an SVG artist -->
<g stroke-linejoin="round">
<!-- Right Ear -->
<polygon points="50,10 68,32 58,35" fill="#a9a9a9"/>
<!-- Left Ear -->
<polygon points="50,10 32,32 42,35" fill="#8b8b8b"/>
<!-- Head - Right Side -->
<polygon points="50,10 68,32 50,55" fill="#d3d3d3"/>
<!-- Head - Left Side -->
<polygon points="50,10 32,32 50,55" fill="#f5f5f5"/>
<!-- Body - Right Side -->
<polygon points="58,35 78,90 50,95" fill="#808080"/>
<!-- Body - Left Side -->
<polygon points="42,35 22,90 50,95" fill="#a9a9a9"/>
<!-- Chest -->
<polygon points="50,55 42,35 58,35" fill="#e0e0e0"/>
<!-- Tail -->
<polygon points="22,90 20,70 10,75" fill="#d3d3d3"/>
<!-- Front Paws/Body connection -->
<polygon points="50,95 22,90 42,35" fill="#c0c0c0"/>
<polygon points="50,95 78,90 58,35" fill="#696969"/>
</g>
</svg>Gemini 2.5 Pro · style · attempt 4 · score 7.5
the actual svg, as the machine wrote it:
<svg width="200" height="240" viewBox="0 0 100 120" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(0, 5)">
<!-- Base Color Palette:
Darkest: #C55A11
Dark-Mid: #ED7D31
Light-Mid: #F4B183
Lightest: #FCE5CD
Details: #4A3838
-->
<!-- Tail -->
<polygon points="76,80 71,105 88,100" fill="#ED7D31"/>
<polygon points="76,80 88,100 91,85" fill="#F4B183"/>
<!-- Body -->
<polygon points="29,105 50,55 45,105" fill="#ED7D31"/>
<polygon points="71,105 50,55 55,105" fill="#C55A11"/>
<!-- Head -->
<polygon points="50,10 25,40 48,35" fill="#ED7D31"/>
<polygon points="50,10 75,40 52,35" fill="#C55A11"/>
<polygon points="50,10 48,35 52,35" fill="#FCE5CD"/>
<polygon points="50,50 48,35 52,35" fill="#F4B183"/>
<!-- Facial Features -->
<circle cx="43" cy="33" r="2" fill="#4A3838"/>
<circle cx="57" cy="33" r="2" fill="#4A3838"/>
<polygon points="50,43 48,41 52,41" fill="#4A3838"/>
</g>
</svg>constraint
“Draw a recognizable cat as an SVG using at most 12 SVG elements.”
Gemini 2.5 Pro · constraint · attempt 1 · score 9.0
the actual svg, as the machine wrote it:
<svg width="200" height="200" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<path d="M75,95 C95,90 100,60 85,45" stroke="#333" stroke-width="12" fill="none" stroke-linecap="round"/>
<path d="M25,95 C15,60 85,60 75,95 Z" fill="#333"/>
<path d="M25,35 L20,10 L45,25 Z" fill="#333"/>
<path d="M75,35 L80,10 L55,25 Z" fill="#333"/>
<circle cx="50" cy="45" r="30" fill="#333"/>
<circle cx="40" cy="45" r="7" fill="#FFD700"/>
<circle cx="60" cy="45" r="7" fill="#FFD700"/>
<ellipse cx="40" cy="45" rx="1.5" ry="6" fill="black"/>
<ellipse cx="60" cy="45" rx="1.5" ry="6" fill="black"/>
<path d="M48,55 L52,55 L50,58 Z" fill="#FFB6C1"/>
<path d="M30,55 L15,50 M30,58 L15,58 M30,61 L15,66" stroke-width="1" stroke="white" stroke-linecap="round"/>
<path d="M70,55 L85,50 M70,58 L85,58 M70,61 L85,66" stroke-width="1" stroke="white" stroke-linecap="round"/>
</svg>Gemini 2.5 Pro · constraint · attempt 2 · score 9.0
the actual svg, as the machine wrote it:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<path d="M 78,70 C 100,75 100,40 80,35" stroke="#4A4A4A" stroke-width="10" stroke-linecap="round" fill="none"/>
<ellipse cx="50" cy="70" rx="28" ry="25" fill="#4A4A4A"/>
<ellipse cx="38" cy="92" rx="10" ry="4.5" fill="#4A4A4A"/>
<ellipse cx="62" cy="92" rx="10" ry="4.5" fill="#4A4A4A"/>
<circle cx="50" cy="42" r="20" fill="#4A4A4A"/>
<path d="M 33,32 Q 30,15 45,28 Z M 67,32 Q 70,15 55,28 Z" fill="#4A4A4A"/>
<circle cx="43" cy="42" r="4.5" fill="#F9E076"/>
<circle cx="57" cy="42" r="4.5" fill="#F9E076"/>
<ellipse cx="43" cy="42" rx="1.5" ry="3.5" fill="#000000"/>
<ellipse cx="57" cy="42" rx="1.5" ry="3.5" fill="#000000"/>
<polygon points="50,48 48,51 52,51" fill="#F5B6CD"/>
<path d="M 40,49 L 25,47 M 40,52 L 23,52 M 40,55 L 25,57 M 60,49 L 75,47 M 60,52 L 77,52 M 60,55 L 75,57" stroke="#FFFFFF" stroke-width="0.75" stroke-linecap="round"/>
</svg>Gemini 2.5 Pro · constraint · attempt 3 · score 8.8
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<circle cx="50" cy="58" r="28" fill="black"/>
<path d="M 28,50 L 35,22 L 50,48 Z" fill="black"/>
<path d="M 72,50 L 65,22 L 50,48 Z" fill="black"/>
<ellipse cx="40" cy="60" rx="3" ry="5" fill="white"/>
<ellipse cx="60" cy="60" rx="3" ry="5" fill="white"/>
<path d="M 48,68 L 52,68 L 50,71 Z" fill="white"/>
<path d="M 20,63 L 35,66 M 20,68 L 35,69 M 20,73 L 35,72" stroke="white" stroke-width="1.5" stroke-linecap="round" fill="none"/>
<path d="M 80,63 L 65,66 M 80,68 L 65,69 M 80,73 L 65,72" stroke="white" stroke-width="1.5" stroke-linecap="round" fill="none"/>
</svg>Gemini 2.5 Pro · constraint · attempt 4 · score 9.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<path d="M 15 90 C 0 70, 0 30, 25 15 L 35 30 L 65 30 L 75 15 C 100 30, 100 70, 85 90 A 45 45 0 0 1 15 90" fill="#4A4A4A"/>
<path d="M 32 20 L 40 32 L 48 32 L 39 20 Z" fill="#F4C2C2"/>
<path d="M 68 20 L 60 32 L 52 32 L 61 20 Z" fill="#F4C2C2"/>
<circle cx="35" cy="50" r="9" fill="#000"/>
<circle cx="65" cy="50" r="9" fill="#000"/>
<circle cx="38" cy="47" r="3" fill="#FFF"/>
<circle cx="68" cy="47" r="3" fill="#FFF"/>
<path d="M 50 60 L 45 67 L 55 67 Z" fill="#F4C2C2"/>
<path d="M 40 72 Q 50 82 60 72" stroke="#222" stroke-width="2" fill="none" stroke-linecap="round"/>
<path d="M 10 55 L 30 60 M 8 62 L 28 65 M 10 69 L 30 70" stroke="#222" stroke-width="1.5" fill="none" stroke-linecap="round"/>
<path d="M 90 55 L 70 60 M 92 62 L 72 65 M 90 69 L 70 70" stroke="#222" stroke-width="1.5" fill="none" stroke-linecap="round"/>
</svg>animation
“Draw a cat whose tail sways continuously, as an SVG using SMIL or CSS animation only (no JavaScript).”
Gemini 2.5 Pro · animation · attempt 1 · score 8.0
the actual svg, as the machine wrote it:
<svg width="400" height="400" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
<g>
<path d="M275,270 C340,260 360,200 330,160" stroke="#4A4A4A" stroke-width="18" fill="none" stroke-linecap="round"/>
<animateTransform
attributeName="transform"
type="rotate"
values="-10 275 270; 10 275 270; -10 275 270"
dur="3s"
repeatCount="indefinite"
keyTimes="0; 0.5; 1"
calcMode="spline"
keySplines="0.42 0 0.58 1; 0.42 0 0.58 1" />
</g>
<g>
<path d="M 125,280 C 125,220 275,220 275,280 Z" fill="#4A4A4A"/>
<circle cx="200" cy="185" r="60" fill="#4A4A4A"/>
<path d="M 165 145 C 145 125, 145 95, 165 95 L 185 130 Z" fill="#4A4A4A"/>
<path d="M 235 145 C 255 125, 255 95, 235 95 L 215 130 Z" fill="#4A4A4A"/>
<circle cx="180" cy="180" r="9" fill="#FDD835"/>
<circle cx="220" cy="180" r="9" fill="#FDD835"/>
<path d="M 197,200 l 3,4 l 3,-4" stroke="#E0E0E0" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 192,208 q 8,8 16,0" stroke="#E0E0E0" stroke-width="2" fill="none" stroke-linecap="round"/>
</g>
</svg>Gemini 2.5 Pro · animation · attempt 2 · score 7.5
the actual svg, as the machine wrote it:
<svg width="300" height="300" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<path d="M185,260 C230,260 260,200 240,150" stroke="#4A4A4A" stroke-width="18" stroke-linecap="round" fill="none">
<animateTransform
attributeName="transform"
type="rotate"
values="-10 185 260; 10 185 260"
dur="2s"
repeatCount="indefinite"
autoreverse="true"
calcMode="spline"
keyTimes="0;1"
keySplines="0.42 0 0.58 1"/>
</path>
<path d="M185,280 C220,275 220,200 190,170 C200,110 175,70 150,70 C125,70 100,110 110,170 C80,200 80,275 115,280 Z" fill="#4A4A4A"/>
<path d="M131,105 L141,85 L149,105 Z" fill="#F2D7D5"/>
<path d="M169,105 L159,85 L151,105 Z" fill="#F2D7D5"/>
</svg>Gemini 2.5 Pro · animation · attempt 3 · score 7.0
the actual svg, as the machine wrote it:
<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<!-- Cat drawing by an expert SVG artist -->
<g fill="#2c3e50" stroke="#2c3e50">
<!-- The tail with animation. Drawn first to be in the background. -->
<path d="M 140,170 C 180,170 190,110 170,70" stroke-width="12" stroke-linecap="round" fill="none">
<animateTransform
attributeName="transform"
attributeType="XML"
type="rotate"
from="-10 140 170"
to="25 140 170"
dur="3s"
repeatCount="indefinite"
values="-10 140 170; 25 140 170; -10 140 170"
keyTimes="0; 0.5; 1"
calcMode="spline"
keySplines="0.42 0 0.58 1; 0.42 0 0.58 1" />
</path>
<!-- The cat's body and head, drawn as a single shape over the tail's base -->
<path d="M 145,180 C 70,190, 70,110, 100,90 C 100,70, 110,60, 120,65 L 130,55 L 135,70 C 150,70, 160,85, 150,105 C 165,130, 165,180, 145,180 Z" stroke-width="4" stroke-linejoin="round" />
</g>
</svg>Gemini 2.5 Pro · animation · attempt 4 · score 7.8
the actual svg, as the machine wrote it:
<svg viewBox="0 0 250 250" xmlns="http://www.w3.org/2000/svg">
<style>
.cat-shape { fill: #333; }
.cat-tail {
fill: none;
stroke: #333;
stroke-width: 16;
stroke-linecap: round;
}
.face-feature {
stroke: #fff;
stroke-width: 2;
stroke-linecap: round;
fill: none;
}
.nose { fill: #ff9999; }
</style>
<g transform="translate(0, 25)">
<!-- Animated Tail -->
<path class="cat-tail" d="M 180 140 C 230 160, 240 90, 200 60">
<animateTransform
attributeName="transform"
type="rotate"
values="-10 180 140; 15 180 140; -10 180 140"
dur="2.5s"
repeatCount="indefinite"
calcMode="spline"
keyTimes="0; 0.5; 1"
keySplines="0.45 0 0.55 1; 0.45 0 0.55 1"/>
</path>
<!-- Body Group -->
<g class="cat-shape">
<!-- Main body and paws -->
<path d="M 125 70 C 185 70, 190 180, 125 180 C 60 180, 65 70, 125 70 Z"/>
<ellipse cx="100" cy="170" rx="20" ry="10"/>
<ellipse cx="150" cy="170" rx="20" ry="10"/>
<!-- Head -->
<circle cx="125" cy="85" r="45"/>
<!-- Ears -->
<path d="M 95 55 L 75 25 L 110 50 Z"/>
<path d="M 155 55 L 175 25 L 140 50 Z"/>
</g>
<!-- Face Group -->
<g>
<!-- Eyes -->
<circle cx="112" cy="85" r="5" fill="#fff"/>
<circle cx="138" cy="85" r="5" fill="#fff"/>
<circle cx="113" cy="87" r="2.5" fill="#333"/>
<circle cx="139" cy="87" r="2.5" fill="#333"/>
<!-- Nose and Mouth -->
<path d="M 122 98 l 6 0 l -3 4 z" class="nose"/>
<path d="M 118 105 q 7 6 14 0" class="face-feature"/>
</g>
</g>
</svg>