Models 44

GPT-6.1 Terra

by OpenAIReasoningClean
Open in new window

Running live in a sandboxed frame. Click inside it before using the keyboard.

How it went

Total time
1 min 44 s
Cost
$0.042
Output tokens
8,251
Spent thinking
2,228 tokens
Speed
83.7 tok/s
Console errors
0
First token after
5.1 s
First visible text after
40.2 s
Prompt tokens
347
Code size
13.7 KB
Finish reason
stop
Served by
OpenAI
Model id
openai/gpt-6.1-terra
Reasoning sent
{"effort":"high"}
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 · 224 lines

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 800" width="100%" height="100%" role="img" aria-labelledby="title desc">
  <title id="title">Moon Cruiser</title>
  <desc id="desc">A cheerful astronaut cat skateboarding above the moon, with Earth and stars in the background.</desc>
  <defs>
    <linearGradient id="sky" x1="0" y1="0" x2="0.8" y2="1">
      <stop stop-color="#10182f"/>
      <stop offset=".55" stop-color="#182b45"/>
      <stop offset="1" stop-color="#34425a"/>
    </linearGradient>
    <radialGradient id="glow">
      <stop stop-color="#82c9d0" stop-opacity=".3"/>
      <stop offset="1" stop-color="#82c9d0" stop-opacity="0"/>
    </radialGradient>
    <linearGradient id="moon" x1="0" y1="0" x2="0" y2="1">
      <stop stop-color="#a7b5bf"/>
      <stop offset="1" stop-color="#657a8d"/>
    </linearGradient>
    <linearGradient id="visor" x1="0" y1="0" x2="1" y2="1">
      <stop stop-color="#bce9e7"/>
      <stop offset=".55" stop-color="#78b6c3"/>
      <stop offset="1" stop-color="#457d94"/>
    </linearGradient>
    <linearGradient id="suit" x1="0" y1="0" x2="1" y2="1">
      <stop stop-color="#fff8e8"/>
      <stop offset="1" stop-color="#c5d7d7"/>
    </linearGradient>
    <linearGradient id="earth" x1="0" y1="0" x2="1" y2="1">
      <stop stop-color="#a5e0d8"/>
      <stop offset="1" stop-color="#3b87a8"/>
    </linearGradient>
    <clipPath id="earthClip"><circle cx="1055" cy="171" r="61"/></clipPath>
    <filter id="soft"><feGaussianBlur stdDeviation="13"/></filter>
    <filter id="shadow"><feGaussianBlur stdDeviation="7"/></filter>
  </defs>

  <!-- Deep space -->
  <rect width="1280" height="800" fill="url(#sky)"/>
  <ellipse cx="640" cy="330" rx="420" ry="340" fill="url(#glow)"/>
  <circle cx="1060" cy="170" r="122" fill="#8dd4d7" opacity=".07" filter="url(#soft)"/>
  <g fill="#e9f1e7">
    <circle cx="64" cy="77" r="2"/><circle cx="307" cy="77" r="1.5"/>
    <circle cx="383" cy="150" r="2"/><circle cx="455" cy="66" r="1.4"/>
    <circle cx="790" cy="76" r="1.6"/><circle cx="866" cy="147" r="2"/>
    <circle cx="945" cy="63" r="1.4"/><circle cx="1178" cy="76" r="2"/>
    <circle cx="1220" cy="233" r="1.5"/><circle cx="916" cy="278" r="1.5"/>
    <circle cx="105" cy="298" r="1.5"/><circle cx="256" cy="339" r="2"/>
    <circle cx="347" cy="255" r="1.3"/><circle cx="99" cy="442" r="2"/>
    <circle cx="324" cy="503" r="1.5"/><circle cx="905" cy="435" r="1.5"/>
    <circle cx="1158" cy="385" r="2"/><circle cx="1211" cy="517" r="1.5"/>
    <circle cx="1104" cy="484" r="1.1"/><circle cx="83" cy="574" r="1.2"/>
  </g>
  <g fill="none" stroke="#d8eee8" stroke-linecap="round" opacity=".8">
    <path d="M334 112v14m-7-7h14"/>
    <path d="M899 205v18m-9-9h18"/>
    <path d="M1145 301v13m-6.5-6.5h13"/>
    <path d="M204 421v12m-6-6h12"/>
  </g>
  <g fill="none" stroke="#a8c8ce" opacity=".2" stroke-width="1">
    <path d="M85 343 151 314 213 353 260 317"/>
    <path d="M936 354 985 319 1036 341 1084 311"/>
  </g>
  <g fill="#b7d6d5" opacity=".6">
    <circle cx="85" cy="343" r="2"/><circle cx="151" cy="314" r="2"/>
    <circle cx="213" cy="353" r="2"/><circle cx="260" cy="317" r="2"/>
    <circle cx="936" cy="354" r="2"/><circle cx="985" cy="319" r="2"/>
    <circle cx="1036" cy="341" r="2"/><circle cx="1084" cy="311" r="2"/>
  </g>

  <!-- Earth -->
  <circle cx="1055" cy="171" r="76" fill="none" stroke="#bce3de" opacity=".19"/>
  <circle cx="1055" cy="171" r="61" fill="url(#earth)" stroke="#c5e6df" stroke-width="3"/>
  <g clip-path="url(#earthClip)" fill="#d8e7c9">
    <path d="M1007 128l20-12 20 5 5 10-9 9-1 10-13 3-3 10-12-1-10-13z"/>
    <path d="M1033 171l14 4 8 12-4 10 5 10-9 19-10-3-5-15-9-10 1-13z"/>
    <path d="M1063 124l18-7 20 10 5 12-11 5-7-4-8 8-14-3-7-9z"/>
    <path d="M1070 156l13-4 11 8 14 1 6 10-9 7-15-2-6 9-11-4-8-11z"/>
    <path d="M1091 197l15-3 8 8-4 9-14 4-9-6z"/>
  </g>
  <path d="M1011 203a61 61 0 0 0 96-2" fill="none" stroke="#235b7a" stroke-width="10" opacity=".18"/>
  <text x="1055" y="264" fill="#b9d5d5" font-family="Arial, sans-serif" font-size="10" letter-spacing="3" text-anchor="middle">HOME, FAR AWAY</text>

  <!-- Poster details -->
  <g font-family="Arial, sans-serif" fill="#e7f1e9">
    <circle cx="87" cy="83" r="12" fill="none" stroke="#eea68d" stroke-width="2"/>
    <path d="M80 83h14M87 76v14" stroke="#eea68d" stroke-width="1.5"/>
    <text x="110" y="87" font-size="11" font-weight="bold" letter-spacing="3">COSMIC CAT CLUB</text>
    <text x="77" y="159" font-size="38" font-weight="900" letter-spacing="1">MOON</text>
    <text x="77" y="201" font-size="38" font-weight="900" letter-spacing="1">CRUISER<tspan fill="#f0a589">.</tspan></text>
    <path d="M78 220h97" stroke="#eea68d" stroke-width="3"/>
    <text x="79" y="249" fill="#b9cdd0" font-size="11" letter-spacing="2">A VERY GOOD SPACE MISSION</text>
  </g>
  <g fill="none" stroke="#d2e6df" stroke-linecap="round" opacity=".4">
    <path d="M329 406c39-15 70-17 101-10" stroke-width="2" stroke-dasharray="3 9"/>
    <path d="M324 429c31-9 57-10 79-7" stroke-width="1.5" stroke-dasharray="2 8"/>
    <path d="M864 501c37-14 72-17 107-14" stroke-width="2" stroke-dasharray="3 9"/>
  </g>

  <!-- Lunar landscape -->
  <path d="M0 636c107-39 184-35 288-9 109 26 179 20 263-3 107-30 177-20 256 0 119 31 216 7 302-8 64-11 121-3 171 16v168H0z" fill="#536c80"/>
  <path d="M0 672c119-43 220-35 325-13 104 22 206 20 309-1 108-22 189-22 299 5 125 30 237 13 347-16v153H0z" fill="url(#moon)"/>
  <path d="M0 742c139-23 250-15 356 7 105 22 207 18 315-1 120-21 211-21 327 1 92 18 185 15 282-4v55H0z" fill="#7d91a0" opacity=".45"/>
  <g fill="none" stroke-linecap="round">
    <path d="M84 694c20-13 63-16 91-7" stroke="#d2d9d4" stroke-width="4" opacity=".5"/>
    <path d="M932 701c24-15 76-18 108-7" stroke="#d7ded8" stroke-width="4" opacity=".45"/>
    <path d="M238 752c20-8 52-8 70 0" stroke="#506b7f" stroke-width="4" opacity=".5"/>
    <path d="M1060 756c25-10 67-10 90 0" stroke="#506b7f" stroke-width="4" opacity=".45"/>
    <ellipse cx="366" cy="691" rx="44" ry="9" stroke="#728a99" stroke-width="4"/>
    <ellipse cx="1090" cy="672" rx="31" ry="7" stroke="#728a99" stroke-width="3"/>
    <ellipse cx="754" cy="754" rx="52" ry="9" stroke="#708899" stroke-width="4"/>
  </g>
  <g fill="#d7dfd9" opacity=".65">
    <circle cx="207" cy="698" r="3"/><circle cx="225" cy="706" r="2"/>
    <circle cx="880" cy="732" r="3"/><circle cx="899" cy="725" r="2"/>
    <circle cx="1172" cy="701" r="3"/><circle cx="551" cy="731" r="2"/>
  </g>
  <ellipse cx="635" cy="658" rx="210" ry="18" fill="#344f64" opacity=".23" filter="url(#shadow)"/>

  <!-- Moon dust and flight marks -->
  <g fill="none" stroke="#e8eee4" stroke-linecap="round">
    <path d="M359 588c-30 2-49 12-61 25" stroke-width="3" opacity=".65"/>
    <path d="M383 604c-34 5-51 17-61 28" stroke-width="2" opacity=".45"/>
    <path d="M849 575c31-4 54-13 72-26" stroke-width="3" opacity=".55"/>
  </g>
  <g fill="#e9ece0" opacity=".8">
    <circle cx="359" cy="625" r="5"/><circle cx="379" cy="614" r="3"/>
    <circle cx="338" cy="635" r="3"/><circle cx="408" cy="621" r="2"/>
    <circle cx="868" cy="591" r="4"/><circle cx="889" cy="579" r="2.5"/>
  </g>

  <!-- Skateboard, behind the boots -->
  <g transform="rotate(-8 635 573)">
    <g stroke="#1c3040" stroke-width="5" stroke-linejoin="round">
      <path d="M500 575l8 17h20l7-17M747 575l8 17h20l7-17" fill="#e3a78e"/>
      <circle cx="512" cy="597" r="15" fill="#f5c2a3"/>
      <circle cx="767" cy="597" r="15" fill="#f5c2a3"/>
    </g>
    <g fill="#617f88">
      <circle cx="512" cy="597" r="5"/><circle cx="767" cy="597" r="5"/>
    </g>
    <path d="M443 551q-10-7-13 1-3 9 10 21 10 10 30 10h337q21 0 33-13 10-11 5-17-4-5-12 1l-10 8H458z" fill="#e98973" stroke="#1c3040" stroke-width="6" stroke-linejoin="round"/>
    <path d="M447 554q5 9 19 10h355q11-1 18-8" fill="none" stroke="#f9c7a4" stroke-width="5" stroke-linecap="round"/>
    <path d="M477 570h313" stroke="#a84f50" stroke-width="3" opacity=".7"/>
    <path d="M618 569h35" stroke="#fff2db" stroke-width="3" stroke-linecap="round"/>
  </g>

  <!-- Backpack -->
  <path d="M542 359h-22q-16 0-16 17v75q0 14 15 14h29M688 360h19q16 0 16 17v68q0 14-15 14h-20" fill="#e5a087" stroke="#1b3040" stroke-width="6"/>
  <path d="M516 381v45M712 381v40" fill="none" stroke="#f8d3b5" stroke-width="5" stroke-linecap="round"/>

  <!-- Arms -->
  <g fill="none" stroke-linecap="round" stroke-linejoin="round">
    <path d="M565 382q-25 18-54 37l-37-32" stroke="#1c3040" stroke-width="48"/>
    <path d="M565 382q-25 18-54 37l-37-32" stroke="url(#suit)" stroke-width="37"/>
    <path d="M682 389q45-2 72-34l27-29" stroke="#1c3040" stroke-width="48"/>
    <path d="M682 389q45-2 72-34l27-29" stroke="url(#suit)" stroke-width="37"/>
    <path d="M493 401l-15 17M758 335l17 16" stroke="#80a8ad" stroke-width="8"/>
  </g>
  <!-- Mittens -->
  <path d="M471 389q-13 5-23-4l-13-14q-5-7 0-12 4-4 10 0l4 3-3-15q-1-8 5-9 7-1 9 6l4 13 1-16q1-7 7-6 6 1 6 8v15q5-7 10-4 6 4 2 11l-8 16q-4 6-11 8z" fill="#f5eadd" stroke="#1c3040" stroke-width="5" stroke-linejoin="round"/>
  <path d="M778 331q-5-12 3-22l12-15q5-6 11-2 5 4 1 10l-4 6 15-5q7-2 9 4 2 6-5 9l-12 5 16-1q7 0 8 6 0 6-7 7l-16 2q7 4 5 9-3 6-10 3l-17-6q-6-3-9-10z" fill="#f5eadd" stroke="#1c3040" stroke-width="5" stroke-linejoin="round"/>

  <!-- Legs and boots -->
  <path d="M581 453q-21 7-38 28l-37 39-27 16q-14 8-14 19 0 14 14 19 9 4 20 1l35-7q14-3 19-16l27-23 35-19z" fill="url(#suit)" stroke="#1c3040" stroke-width="6" stroke-linejoin="round"/>
  <path d="M503 522l23 25" fill="none" stroke="#94b5b9" stroke-width="7"/>
  <path d="M465 558q16 6 31 2l39-8" fill="none" stroke="#e5a189" stroke-width="7"/>
  <path d="M641 466q21-5 40 10l35 30 32 3q20 1 29 14 5 8-4 14l-48 11q-16 3-28-8l-30-17-33-12z" fill="url(#suit)" stroke="#1c3040" stroke-width="6" stroke-linejoin="round"/>
  <path d="M699 496l-15 20" fill="none" stroke="#94b5b9" stroke-width="7"/>
  <path d="M710 535q18 4 39-1l27-7" fill="none" stroke="#e5a189" stroke-width="7"/>

  <!-- Suit body -->
  <path d="M562 354q-18 8-21 34l-7 62q-2 23 16 35 28 17 75 18 47 0 76-17 16-10 14-31l-8-65q-3-26-23-36z" fill="url(#suit)" stroke="#1c3040" stroke-width="6"/>
  <path d="M549 455q76 20 154 0" fill="none" stroke="#90afb2" stroke-width="5"/>
  <path d="M550 468q72 21 152 0" fill="none" stroke="#1c3040" stroke-width="5"/>
  <rect x="606" y="463" width="39" height="20" rx="5" fill="#e89e85" stroke="#1c3040" stroke-width="4"/>
  <rect x="563" y="398" width="46" height="35" rx="7" fill="#d9e7df" stroke="#557b82" stroke-width="3"/>
  <circle cx="575" cy="410" r="4" fill="#e99b80"/>
  <circle cx="588" cy="410" r="4" fill="#74b1b3"/>
  <path d="M573 423h25" stroke="#769da0" stroke-width="3" stroke-linecap="round"/>
  <circle cx="677" cy="414" r="15" fill="#f0b097" stroke="#1c3040" stroke-width="3"/>
  <path d="M670 414h14m-7-7v14" stroke="#fff1df" stroke-width="2"/>
  <path d="M558 391q6 5 11 6M696 390q-6 5-11 6" fill="none" stroke="#9bb9b9" stroke-width="3"/>
  <!-- Collar -->
  <ellipse cx="623" cy="367" rx="94" ry="29" fill="#e89f86" stroke="#1c3040" stroke-width="6"/>
  <ellipse cx="623" cy="361" rx="88" ry="23" fill="#d8e6df" stroke="#1c3040" stroke-width="5"/>

  <!-- Helmet -->
  <circle cx="620" cy="241" r="147" fill="#d9efdf" stroke="#1c3040" stroke-width="8"/>
  <circle cx="620" cy="241" r="137" fill="url(#visor)" stroke="#f9f4e3" stroke-width="5"/>
  <circle cx="620" cy="241" r="128" fill="none" stroke="#4a8190" stroke-width="2" opacity=".7"/>
  <path d="M510 199a115 115 0 0 1 68-65" fill="none" stroke="#effff4" stroke-width="9" stroke-linecap="round" opacity=".5"/>
  <path d="M733 247a115 115 0 0 1-20 56" fill="none" stroke="#eafff4" stroke-width="5" stroke-linecap="round" opacity=".45"/>

  <!-- Cat head and ears -->
  <path d="M538 225l-4-72q0-10 10-6l43 24q32-10 66 0l40-25q9-5 10 6l-3 73q11 28 4 50-14 59-83 62-69-3-83-62-7-24 0-50z" fill="#f5dfbf" stroke="#1c3040" stroke-width="6" stroke-linejoin="round"/>
  <path d="M548 169l3 43 28-31zM693 168l-3 44-28-31z" fill="#e99d8e"/>
  <path d="M550 248q0 67 71 76 71-9 71-76-8 10-19 10-20 0-27-13-12 13-26 13t-27-13q-9 13-26 13-11 0-17-10z" fill="#fff1da" opacity=".75"/>
  <!-- Tabby markings -->
  <path d="M600 178l8 24M620 175v29M640 178l-8 24" stroke="#b78f7a" stroke-width="7" stroke-linecap="round"/>
  <path d="M543 224l22 8M543 241l18 5M697 224l-22 8M697 241l-18 5" stroke="#c49b83" stroke-width="6" stroke-linecap="round"/>
  <!-- Face -->
  <ellipse cx="583" cy="244" rx="8" ry="11" fill="#1b3040"/>
  <ellipse cx="657" cy="244" rx="8" ry="11" fill="#1b3040"/>
  <circle cx="585" cy="240" r="2.5" fill="#fff"/>
  <circle cx="659" cy="240" r="2.5" fill="#fff"/>
  <ellipse cx="568" cy="267" rx="11" ry="5" fill="#eaa497" opacity=".55"/>
  <ellipse cx="673" cy="267" rx="11" ry="5" fill="#eaa497" opacity=".55"/>
  <path d="M612 261q8-6 16 0l-8 8z" fill="#ce7d72" stroke="#1c3040" stroke-width="2" stroke-linejoin="round"/>
  <path d="M620 269v7q-7 9-14 2m14-2q7 9 14 2" fill="none" stroke="#1c3040" stroke-width="3" stroke-linecap="round"/>
  <g fill="none" stroke="#536d70" stroke-width="2.3" stroke-linecap="round">
    <path d="M574 274l-35-6M575 280l-35 4M666 274l35-6M665 280l35 4"/>
  </g>
  <!-- Visor glints and helmet hardware -->
  <path d="M521 203q-6 12-8 25" fill="none" stroke="#f5fff6" stroke-width="7" stroke-linecap="round" opacity=".8"/>
  <path d="M720 178l5 9" stroke="#f5fff6" stroke-width="5" stroke-linecap="round" opacity=".75"/>
  <circle cx="520" cy="347" r="8" fill="#f4c6a8" stroke="#1c3040" stroke-width="4"/>
  <circle cx="720" cy="347" r="8" fill="#f4c6a8" stroke="#1c3040" stroke-width="4"/>

  <!-- Small finishing caption -->
  <g font-family="Arial, sans-serif" fill="#d7e4df">
    <text x="935" y="534" font-size="10" font-weight="bold" letter-spacing="2.5">ZERO GRAVITY</text>
    <text x="935" y="553" font-size="10" letter-spacing="2.5" opacity=".7">MAXIMUM STYLE</text>
    <path d="M936 568h94" stroke="#e99c85" stroke-width="2"/>
  </g>
</svg>
Reasoning trace (2,228 tokens)
**Planning SVG Design**

I need to create a self-contained SVG as the task specifies. The artwork will depict an astronaut cat skateboarding on the moon, aiming for a beautiful, polished design. I'll set the viewBox to 1280x800, ensuring it's responsive. The dark space background will feature stars, Earth, and moon craters. The cat must be central, in a dynamic pose, with elements like dust trails and possibly the typography "LUNAR KICKFLIP" to enhance the design without distracting from the main character.**Detailing Cat Astronaut Composition**

I’m centering the main character at coordinates (640, 330), with the skateboard positioned under at (y)580 and angled at -10 degrees for a dynamic effect. The cat will have a profile view, with a helmet featuring a transparent gradient. I envision triangular ears and a face with details like eyes and whiskers. The orange accents on a cream suit provide contrast, while the background will be filled with stars and an astronaut trajectory. It’s all about creating a natural line and layered composition!**Defining Terrain and Board Position**

The lower terrain will be uneven, ranging from y620 to y800, leaving plenty of gaps. The character’s skateboard will intersect around y570 and be tilted at -8 degrees, centered at (640, 566). The skateboard deck will have a length of 386, with ends curling slightly, and the wheels will be positioned underneath. I can create a rotated group to make the board shape easier to handle, using a transformation for positioning, like `<g transform="rotate(-9 640 577)">`. This sounds like a solid plan!**Designing a cat character**

I'm envisioning a cat character with quite a few details! I think I’ll give it eyes around a specific count, and I’m considering a triangle-shaped nose. Adding some whiskers and cheek blush sounds cute, too. For the ears, I'm thinking of orange, and maybe even a cream-gray suit for the overall fur. The cat's face could be a pale ivory with slate stripes and orange patches. I want to use a thick navy for the face outline!**Designing Cosmic Cat Club**

I’m thinking of adding a small header in the top-left corner that says "COSMIC CAT CLUB" along with a tiny emblem like "MOON" or "CRUISER." The theme should feel polished, and the text labels like "ONE SMALL RIDE..." and "ZERO GRAVITY / MAXIMUM STYLE" need to be placed thoughtfully. I want to ensure the layout fits well across different dimensions, especially for SVG rendering. Additionally, using a monochrome navy background with warm accents will give it a nice aesthetic!**Creating the Helmet Design**

I’m focusing on the helmet's circle and the suit layering. I want to label the bottom of the helmet ring with bolts, placing it around y368. The helmet needs to cover the torso's top, and I’ll set a gradient fill with low opacity for the helmet glass. I’ll also draw the face above the glass with some highlights. The body will be visible from y380 to y490, with a collar under the helmet at y379. I'll ensure the arms extend enough and draw the board in the background.