Skateboarding astronaut catOne-line
GPT-6.1 Sol
by OpenAIreasoning defaultClean
Running live in a sandboxed frame. Click inside it before using the keyboard.
How it went
- Total time
- 1 min 41 s
- Cost
- $0.055
- Output tokens
- 5,416
- Spent thinking
- 234 tokens
- Speed
- 59.8 tok/s
- Console errors
- 0
- First token after
- 10.9 s
- First visible text after
- 11.7 s
- Prompt tokens
- 347
- Code size
- 12.1 KB
- Finish reason
- stop
- Served by
- OpenAI
- Model id
openai/gpt-6.1-sol- Reasoning sent
model default- Max output
- 128,000 tokens
- Generated
- Nov 12, 2026
What it was asked
The prompt
“draw me an SVG of an astronaut cat skateboarding on the moon”
System prompt, sent with every prompt
You are generating a self-contained web demo. It will be rendered automatically in a sandboxed iframe and compared side by side with the output of other AI models given the exact same task. Output rules: - Reply with exactly ONE fenced code block containing the complete file: ```html (or ```svg when the task asks for an SVG). No text before or after the code block. - Everything must be inline: CSS in <style>, JavaScript in <script>. No external files, images, fonts or network requests, except the CDN URLs explicitly allowed by the task. - Do not use localStorage, sessionStorage, cookies, IndexedDB, alert(), confirm(), prompt() or window.open(): they are blocked in the sandbox and will throw. - The page must look right in a 1280×800 viewport and adapt gracefully down to 375px wide. No horizontal scrollbar. - Something meaningful must be visible on first paint: a screenshot is taken automatically about 3 seconds after load, without any interaction. - Everything that makes the demo interesting must be visible within the first seconds: nothing hidden behind a high score, a later level or a long play session. - Games must start in a self-playing demo mode (a simple AI plays) behind a "Click or press a key to start" message, so the game can be judged in action without playing. - The iframe only receives keyboard events after the user clicks it: if the demo uses the keyboard, display a clear "Click or press a key to start" message. - The code must run with zero errors in the console of the latest Chrome.
Code run-1.svg · 211 lines
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 1100 800" role="img" aria-labelledby="title desc" style="display:block;background:#10182e;max-width:100%;height:100vh">
<title id="title">One small push for a cat</title>
<desc id="desc">A happy orange astronaut cat rides a skateboard over the cratered moon, with Earth and a sky full of stars behind it.</desc>
<defs>
<radialGradient id="space" cx="52%" cy="44%" r="75%">
<stop stop-color="#283b59"/>
<stop offset="1" stop-color="#0b1126"/>
</radialGradient>
<linearGradient id="moon" x2=".3" y2="1">
<stop stop-color="#d6dfdd"/>
<stop offset="1" stop-color="#8299aa"/>
</linearGradient>
<linearGradient id="suit" x1="0" x2=".8" y2="1">
<stop stop-color="#fff7dd"/>
<stop offset=".58" stop-color="#e1e9e4"/>
<stop offset="1" stop-color="#91b7bf"/>
</linearGradient>
<radialGradient id="glass" cx="35%" cy="25%" r="80%">
<stop stop-color="#a4e4e6" stop-opacity=".4"/>
<stop offset=".75" stop-color="#537e96" stop-opacity=".12"/>
<stop offset="1" stop-color="#2c657e" stop-opacity=".6"/>
</radialGradient>
<linearGradient id="earth" x1="0" x2="1" y2="1">
<stop stop-color="#93e1de"/>
<stop offset=".6" stop-color="#4b9ebe"/>
<stop offset="1" stop-color="#24476f"/>
</linearGradient>
<linearGradient id="deck" x2="0" y2="1">
<stop stop-color="#ffc26d"/>
<stop offset="1" stop-color="#ea7755"/>
</linearGradient>
<pattern id="dust" width="51" height="43" patternUnits="userSpaceOnUse">
<circle cx="9" cy="11" r="1" fill="#526c83" opacity=".24"/>
<circle cx="36" cy="31" r="1.5" fill="#f6f0d9" opacity=".35"/>
</pattern>
<clipPath id="earthClip"><circle cx="872" cy="164" r="66"/></clipPath>
<filter id="glow"><feGaussianBlur stdDeviation="7"/></filter>
<filter id="shadow" x="-30%" y="-30%" width="160%" height="170%">
<feDropShadow dx="0" dy="8" stdDeviation="0" flood-color="#10263e" flood-opacity=".25"/>
</filter>
</defs>
<path fill="url(#space)" d="M0 0h1100v800H0z"/>
<ellipse cx="541" cy="373" rx="343" ry="275" fill="#668ba2" opacity=".04"/>
<circle cx="541" cy="355" r="252" fill="none" stroke="#acc9ce" stroke-opacity=".08"/>
<circle cx="541" cy="355" r="285" fill="none" stroke="#acc9ce" stroke-opacity=".05"/>
<!-- A little constellation of distant stars -->
<g fill="#e6ecdc">
<circle cx="87" cy="192" r="2"/><circle cx="184" cy="301" r="1.6"/>
<circle cx="287" cy="91" r="2"/><circle cx="386" cy="168" r="1.5"/>
<circle cx="581" cy="71" r="2"/><circle cx="694" cy="121" r="1.3"/>
<circle cx="754" cy="297" r="2"/><circle cx="980" cy="282" r="2"/>
<circle cx="1013" cy="113" r="1.4"/><circle cx="901" cy="374" r="1.6"/>
<circle cx="106" cy="440" r="1.2"/><circle cx="275" cy="407" r="2"/>
<circle cx="674" cy="222" r="1.2"/><circle cx="1017" cy="452" r="1.5"/>
<circle cx="341" cy="272" r="1"/><circle cx="784" cy="55" r="1"/>
</g>
<g fill="none" stroke="#f5dfac" stroke-width="2" stroke-linecap="round">
<path d="M173 156v16m-8-8h16M737 375v14m-7-7h14M958 66v12m-6-6h12M329 205v10m-5-5h10"/>
<path d="m94 337 3 8 8 3-8 3-3 8-3-8-8-3 8-3Z" fill="#f5dfac" stroke="none"/>
</g>
<path d="m715 71 61-25" stroke="#b3ced4" stroke-width="2" opacity=".25"/>
<path d="m760 52 16-6" stroke="#e9e7cf" stroke-width="2"/>
<!-- Tiny blue home -->
<circle cx="872" cy="164" r="77" fill="#65b8d3" opacity=".1" filter="url(#glow)"/>
<circle cx="872" cy="164" r="68" fill="#b2ddd9"/>
<circle cx="872" cy="164" r="66" fill="url(#earth)"/>
<g clip-path="url(#earthClip)">
<path d="m813 125 25-12 15 8 4 13 22 5 1 13-19 8-6 22-15 3-7-22-20-9-12-16Zm62 51 22-14 24 5 13 19-11 13-2 20-17 14-9-22-16-13Z" fill="#9bceae"/>
<path d="M806 151q39-24 74-10t59-9M822 194q28-12 48-2m1-79q26-5 44 6" fill="none" stroke="#edf4df" stroke-width="7" stroke-linecap="round" opacity=".8"/>
<path d="M884 91q-3 76 55 102l17-83Z" fill="#152c52" opacity=".18"/>
</g>
<text x="872" y="264" text-anchor="middle" fill="#9bb5c5" font-family="monospace" font-size="10" letter-spacing="4">HOME, SWEET HOME</text>
<!-- The rolling lunar surface -->
<path d="M0 584Q218 510 431 560T789 551t311 16V800H0Z" fill="url(#moon)"/>
<path d="M0 584Q218 510 431 560T789 551t311 16" fill="none" stroke="#f0efdb" stroke-width="4"/>
<path d="M0 584Q218 510 431 560T789 551t311 16V800H0Z" fill="url(#dust)"/>
<g stroke="#7892a3" stroke-width="2">
<ellipse cx="174" cy="615" rx="72" ry="20" fill="#a1b4bc"/>
<path d="M111 619q61-35 126-1" fill="none" stroke="#dee5de" stroke-width="5"/>
<ellipse cx="919" cy="653" rx="108" ry="30" fill="#8ea5b1"/>
<path d="M826 661q83-54 185-4" fill="none" stroke="#dae3db" stroke-width="6"/>
<ellipse cx="746" cy="574" rx="25" ry="7" fill="#91a7b2"/>
<ellipse cx="361" cy="730" rx="48" ry="14" fill="#91a7b2"/>
<path d="M322 733q36-24 78-3" fill="none" stroke="#d0dcd7" stroke-width="4"/>
<ellipse cx="1025" cy="753" rx="28" ry="9" fill="#849fab"/>
<ellipse cx="52" cy="718" rx="15" ry="5" fill="#91a7b2"/>
</g>
<g fill="#6d879c" opacity=".55">
<path d="m244 570 10-7 13 9Z"/><path d="m775 716 9-9 16 12Z"/>
<ellipse cx="707" cy="660" rx="5" ry="2"/><ellipse cx="94" cy="662" rx="4" ry="2"/>
<ellipse cx="956" cy="572" rx="7" ry="2"/>
</g>
<!-- Motion, moon dust, and an airborne shadow -->
<ellipse cx="559" cy="652" rx="147" ry="17" fill="#3f5d76" opacity=".2"/>
<g fill="none" stroke-linecap="round">
<path d="M291 509h77m-104 21h80m-28 21h31" stroke="#d6d9cc" stroke-width="3" opacity=".6"/>
<path d="M315 620q39-20 88-12m-110 31q45-9 74-6" stroke="#e7ecdc" stroke-width="5"/>
<path d="m739 478 13-15m-1 34 20-6" stroke="#f5c778" stroke-width="3"/>
</g>
<g fill="#eceddb">
<circle cx="386" cy="625" r="5"/><circle cx="359" cy="601" r="4"/>
<circle cx="327" cy="614" r="3"/><circle cx="402" cy="650" r="3"/>
</g>
<!-- Cat, suit, and skateboard -->
<g stroke="#20364b" stroke-width="5" stroke-linejoin="round" stroke-linecap="round">
<!-- Life-support pack -->
<path d="m583 351 50 3q16 3 19 20l-1 82q-2 17-19 18l-44-8Z" fill="#709ca9"/>
<path d="m631 374 13 2m-14 15 14 2m-15 15 14 2" fill="none" stroke="#c4dad6" stroke-width="3"/>
<!-- A very non-regulation space tail -->
<path d="M622 453q68 35 100-9 26-36 0-56-17-12-27 1" fill="none" stroke="#20364b" stroke-width="31"/>
<path d="M622 453q68 35 100-9 26-36 0-56-17-12-27 1" fill="none" stroke="#eea251" stroke-width="22"/>
<path d="m665 464 3-16m21 11-5-16m32-1-14-10m27-16-15-2" fill="none" stroke="#bd6b3f" stroke-width="7"/>
<!-- Back arm waving -->
<path d="M591 372q30 7 49-18l30-44 28 21-27 48q-28 41-64 37Z" fill="url(#suit)"/>
<path d="m661 323 30 20" stroke="#dc8058" stroke-width="12"/>
<path d="m670 311-1-23q-1-8 6-10 7-2 10 9l2 8 1-28q1-8 8-7t7 9l-1 23 6-19q3-8 10-5t4 11l-6 23 9-11q6-6 11-1 6 5-1 14l-19 28q-8 9-19 2Z" fill="#f4f0dd"/>
<path d="m687 296 13 10" fill="none" stroke-width="3"/>
<!-- Legs tucked into a low-gravity carve -->
<path d="m523 455-16 44-40 43 30 26 51-42q10-10 16-28l9-26Z" fill="url(#suit)"/>
<path d="m571 463 31 43 20 40 37-13-15-50-30-53Z" fill="url(#suit)"/>
<path d="m504 511 26 22m79-27 30-12" stroke="#7da6b1" stroke-width="12"/>
<!-- Boot soles and boots -->
<path d="m474 535-20 18q-17 10-11 23l4 9 66-15-4-18-16-16Z" fill="#eef0df"/>
<path d="m443 576 67-16 5 13-67 16Z" fill="#4c7185"/>
<path d="m617 531 4 28 55-6q12-2 10-14-2-11-21-12l-11-6Z" fill="#eef0df"/>
<path d="m622 551 65-8 1 13-66 8Z" fill="#4c7185"/>
<path d="m460 560 17-4m161-17 14-2" stroke="#7da6b1" stroke-width="3"/>
<!-- Body -->
<path d="M505 356q42-22 89 4l31 85q-26 38-99 36l-36-53Z" fill="url(#suit)"/>
<path d="M514 453q48 16 101-14" fill="none" stroke="#779ca9" stroke-width="12"/>
<path d="m535 454 22 2-1 17-22-2Z" fill="#f4cb7d" stroke-width="3"/>
<!-- Chest control panel -->
<path d="m542 381 44-4 8 47-44 6Z" fill="#426b81" stroke-width="3"/>
<path d="m552 391 23-2 2 11-23 2Z" fill="#bce1d3" stroke-width="2"/>
<circle cx="559" cy="416" r="3" fill="#f6b068" stroke="none"/>
<circle cx="575" cy="414" r="3" fill="#e2eee0" stroke="none"/>
<path d="m598 383 10 24" stroke="#f5f1df" stroke-width="3"/>
<!-- Outstretched front arm -->
<path d="M514 371q-16-11-30 4l-33 26-52-9-9 34 62 15q14 2 25-8l39-25" fill="url(#suit)"/>
<path d="m410 394-7 35" stroke="#df875e" stroke-width="13"/>
<path d="m393 396-25-14q-9-5-13 1-5 7 7 16l-28-3q-10-1-11 7-1 7 10 9l19 4-18 1q-9 1-8 8 1 6 11 6l23-1q25 15 36-6Z" fill="#f3f0dc"/>
<!-- Helmet neck seal -->
<path d="M488 344q47 26 105-4l9 20q-57 34-112 4Z" fill="#577f91"/>
<path d="M490 345q46 23 103-5" stroke="#d3e4dc" stroke-width="8"/>
<!-- Broad, round space helmet -->
<circle cx="535" cy="260" r="111" fill="url(#suit)" filter="url(#shadow)"/>
<circle cx="535" cy="260" r="97" fill="#34586e"/>
<circle cx="535" cy="260" r="91" fill="#76a5ad"/>
<!-- Pointy ears unmistakably inside the helmet -->
<path d="m467 245-3-61q0-8 7-4l44 34m41-2 40-34q7-5 8 4l3 67" fill="#eea153"/>
<path d="m477 222-2-26 24 21m70-1 25-22 1 31" fill="#d78472" stroke-width="3"/>
<!-- Cat face -->
<path d="M477 222q21-18 51-14 39-9 64 17 23 25 15 59-8 42-60 47-52 4-73-30-25-39 3-79Z" fill="#f1ab60"/>
<path d="m519 212 6 24 10-3 6-22m-51 10 11 18m58-25-6 20" fill="none" stroke="#c97842" stroke-width="7"/>
<path d="M486 277q15-12 39 0 12 6 20-1 29-16 47 0 4 36-48 40-50 3-58-39Z" fill="#fff0ce" stroke="none"/>
<path d="M487 258q10-14 21-1m48-3q10-14 21-1" fill="none" stroke-width="5"/>
<path d="m525 278 18-1-8 10Z" fill="#b36a61" stroke-width="3"/>
<path d="M535 287v5m0 0q-8 11-16 2m16-2q8 11 16 0" fill="none" stroke-width="3"/>
<g stroke-width="2.5">
<path d="m489 281-29-4m29 13-30 5m117-16 29-7m-27 16 29 3"/>
</g>
<ellipse cx="491" cy="273" rx="10" ry="5" fill="#e68d75" opacity=".65" stroke="none"/>
<ellipse cx="578" cy="270" rx="10" ry="5" fill="#e68d75" opacity=".65" stroke="none"/>
<!-- Glass and glints -->
<circle cx="535" cy="260" r="91" fill="url(#glass)" stroke="#d0e8df" stroke-width="3"/>
<path d="M456 238q8-37 39-49" fill="none" stroke="#fffbea" stroke-width="9" opacity=".65"/>
<path d="M454 257v8m117 70q30-12 42-39" fill="none" stroke="#e5f4e8" stroke-width="4" opacity=".55"/>
<circle cx="430" cy="276" r="12" fill="#ecedda"/>
<circle cx="430" cy="276" r="4" fill="#749eaa" stroke-width="2"/>
<path d="m624 206 7-19" stroke-width="4"/>
<circle cx="633" cy="182" r="6" fill="#f1ad65" stroke-width="3"/>
<!-- The board, suspended above the dust -->
<g transform="rotate(-12 551 591)">
<path d="M453 602v15m180-15v15" stroke="#20364b" stroke-width="8"/>
<path d="M441 615h26m153 0h26" stroke="#8ca6b0" stroke-width="6"/>
<circle cx="454" cy="624" r="15" fill="#e6b66d"/>
<circle cx="454" cy="624" r="5" fill="#4c687b" stroke-width="3"/>
<circle cx="633" cy="624" r="15" fill="#e6b66d"/>
<circle cx="633" cy="624" r="5" fill="#4c687b" stroke-width="3"/>
<path d="M411 578q13 14 35 14h189q28 0 47-17l7 9q-15 23-48 24H444q-29 0-42-20Z" fill="url(#deck)"/>
<path d="M413 580q14 10 34 10h187q27 0 47-15" fill="none" stroke="#f7e7b7" stroke-width="4"/>
<path d="m525 600 28 0m12 0h11" stroke="#9a4d41" stroke-width="3"/>
</g>
</g>
<!-- Small editorial finishing touches -->
<g font-family="monospace" fill="#ede9d6">
<text x="67" y="76" font-size="12" letter-spacing="4">THE LUNAR</text>
<text x="64" y="113" font-family="Arial, sans-serif" font-size="34" font-weight="800" letter-spacing="3">CATWALK</text>
<path d="M67 130h46" stroke="#ecac70" stroke-width="3"/>
<text x="67" y="151" font-size="10" letter-spacing="2" fill="#a5bbc7">MISSION 09 · ZERO GRAVITY</text>
</g>
<g fill="#314d63" font-family="monospace">
<text x="67" y="758" font-size="12" letter-spacing="2">ONE SMALL PUSH FOR A CAT.</text>
<text x="1032" y="758" text-anchor="end" font-size="10" letter-spacing="2">SEA OF TRANQUILLY / 001</text>
</g>
</svg>Reasoning trace (234 tokens)
**Creating responsive SVG** I'm considering how to make the SVG responsive. I need to set the width to 100% and ensure it's accessible with the appropriate role. Also, it looks like I'm trying to style the SVG root to have the right dimensions with `width: 100vw` and `height: 100vh`, all while making the background fit nicely. I want to create something high quality, so I’ll focus on these parameters!