BuseyBench SVG Test
Generated by Perceptron on Jul 2, 2026 using prompt svg-v1-no-web.
2.7/10 overall
Scored by 3 vision models (claude-sonnet-4.6, gpt-5.2, gemini-3.1-pro-preview), 3 samples each, rubric rubric-v1. Overall = likeness 35% + face 25% + aesthetics 25% + prompt 15%.
Create a standalone SVG portrait of Gary Busey's face. Output only valid SVG markup. Do not wrap the SVG in Markdown fences. Do not use external images, links, scripts, CSS imports, or remote assets. Make the portrait recognizable as Gary Busey using vector shapes only. Include face shape, hair, eyes, eyebrows, nose, mouth, teeth, and expressive features. Use a 1024 by 1024 viewBox. Use detailed SVG-native vector techniques: layered paths, gradients, masks, clipping paths, shadows, highlights, blur filters, opacity, and fine strokes. The portrait should be as recognizable and detailed as possible.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="1024" height="1024">
<defs>
<!-- Skin gradient -->
<radialGradient id="skinGrad" cx="50%" cy="40%" r="60%">
<stop offset="0%" stop-color="#f5d0a9"/>
<stop offset="70%" stop-color="#e8b88a"/>
<stop offset="100%" stop-color="#d49a6e"/>
</radialGradient>
<!-- Hair gradient -->
<linearGradient id="hairGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#4a3520"/>
<stop offset="50%" stop-color="#6b4c33"/>
<stop offset="100%" stop-color="#3e2a1a"/>
</linearGradient>
<!-- Eye highlight -->
<radialGradient id="eyeHighlight" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffffff"/>
<stop offset="100%" stop-color="#e0e0e0"/>
</radialGradient>
<!-- Shadow filter -->
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
<feGaussianBlur in="SourceAlpha" stdDeviation="8" result="blur"/>
<feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
<feFlood flood-color="#000000" flood-opacity="0.3" result="shadowColor"/>
<feComposite in="shadowColor" in2="offsetBlur" operator="in" result="shadow"/>
<feMerge>
<feMergeNode in="shadow"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Clip path for face -->
<clipPath id="faceClip">
<path d="M512 120 C350 120 250 250 250 500 C250 750 350 880 512 880 C674 880 774 750 774 500 C774 250 674 120 512 120 Z"/>
</clipPath>
</defs>
<!-- Background -->
<rect width="1024" height="1024" fill="#f0f0f0"/>
<!-- Face base -->
<g filter="url(#shadow)">
<path d="M512 120 C350 120 250 250 250 500 C250 750 350 880 512 880 C674 880 774 750 774 500 C774 250 674 120 512 120 Z" fill="url(#skinGrad)"/>
</g>
<!-- Hair -->
<g clip-path="url(#faceClip)">
<path d="M512 120 C350 120 250 250 250 500 C250 750 350 880 512 880 C674 880 774 750 774 500 C774 250 674 120 512 120 Z" fill="url(#hairGrad)" opacity="0.8"/>
<path d="M512 120 C350 120 250 250 250 500 C250 750 350 880 512 880 C674 880 774 750 774 500 C774 250 674 120 512 120 Z" fill="none" stroke="#3e2a1a" stroke-width="2"/>
</g>
<!-- Eyes -->
<g>
<!-- Left eye -->
<ellipse cx="400" cy="400" rx="40" ry="20" fill="#f0f0f0"/>
<ellipse cx="400" cy="400" rx="20" ry="10" fill="#3e2a1a"/>
<circle cx="400" cy="400" r="5" fill="url(#eyeHighlight)"/>
<!-- Right eye -->
<ellipse cx="624" cy="400" rx="40" ry="20" fill="#f0f0f0"/>
<ellipse cx="624" cy="400" rx="20" ry="10" fill="#3e2a1a"/>
<circle cx="624" cy="400" r="5" fill="url(#eyeHighlight)"/>
</g>
<!-- Eyebrows -->
<g>
<path d="M350 350 Q400 320 450 350" fill="none" stroke="#3e2a1a" stroke-width="8" stroke-linecap="round"/>
<path d="M574 350 Q624 320 674 350" fill="none" stroke="#3e2a1a" stroke-width="8" stroke-linecap="round"/>
</g>
<!-- Nose -->
<path d="M512 450 L480 550 L544 550 Z" fill="#d49a6e" stroke="#c08a5e" stroke-width="2"/>
<!-- Mouth -->
<path d="M400 650 Q512 700 624 650" fill="none" stroke="#c08a5e" stroke-width="8" stroke-linecap="round"/>
<path d="M400 650 Q512 700 624 650" fill="#f5d0a9" stroke="#c08a5e" stroke-width="2"/>
<!-- Teeth -->
<g>
<rect x="420" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="440" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="460" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="480" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="500" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="520" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="540" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="560" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="580" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
<rect x="600" y="660" width="20" height="10" fill="#ffffff" stroke="#e0e0e0" stroke-width="1"/>
</g>
<!-- Expressive features -->
<g>
<!-- Wrinkles -->
<path d="M350 300 Q400 280 450 300" fill="none" stroke="#c08a5e" stroke-width="2" stroke-linecap="round"/>
<path d="M574 300 Q624 280 674 300" fill="none" stroke="#c08a5e" stroke-width="2" stroke-linecap="round"/>
<path d="M400 500 Q512 520 624 500" fill="none" stroke="#c08a5e" stroke-width="2" stroke-linecap="round"/>
<path d="M400 550 Q512 570 624 550" fill="none" stroke="#c08a5e" stroke-width="2" stroke-linecap="round"/>
<path d="M400 600 Q512 620 624 600" fill="none" stroke="#c08a5e" stroke-width="2" stroke-linecap="round"/>
</g>
</svg>