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
51.1 s
Cost
$0.020
Output tokens
3,914
Spent thinking
57 tokens
Speed
81.6 tok/s
Console errors
0
First token after
3.2 s
First visible text after
4.9 s
Prompt tokens
347
Code size
8.8 KB
Finish reason
stop
Served by
OpenAI
Model id
openai/gpt-6.1-terra
Reasoning sent
{"effort":"low"}
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 · 133 lines

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 800" role="img" aria-label="An astronaut cat skateboarding across the moon under a starry sky">
  <defs>
    <linearGradient id="sky" x1="0" y1="0" x2="0.8" y2="1">
      <stop stop-color="#080e2b"/>
      <stop offset=".55" stop-color="#1a2455"/>
      <stop offset="1" stop-color="#42376b"/>
    </linearGradient>
    <linearGradient id="ground" x1="0" y1="0" x2=".4" y2="1">
      <stop stop-color="#d4d0e5"/>
      <stop offset="1" stop-color="#8585a8"/>
    </linearGradient>
    <linearGradient id="suit" x1="0" y1="0" x2="1" y2="1">
      <stop stop-color="#fffdf4"/>
      <stop offset=".6" stop-color="#dddff0"/>
      <stop offset="1" stop-color="#a9b5d4"/>
    </linearGradient>
    <linearGradient id="glass" x1="0" y1="0" x2="1" y2="1">
      <stop stop-color="#c8f8ff" stop-opacity=".32"/>
      <stop offset=".6" stop-color="#8cdaed" stop-opacity=".08"/>
      <stop offset="1" stop-color="#5ab8d5" stop-opacity=".24"/>
    </linearGradient>
    <linearGradient id="board" x1="0" y1="0" x2="0" y2="1">
      <stop stop-color="#ffcc7a"/>
      <stop offset="1" stop-color="#f46d68"/>
    </linearGradient>
    <radialGradient id="planet">
      <stop stop-color="#b3efff"/>
      <stop offset="1" stop-color="#4e8fc4"/>
    </radialGradient>
    <filter id="glow"><feGaussianBlur stdDeviation="8"/></filter>
    <filter id="shadow"><feGaussianBlur stdDeviation="8"/></filter>
  </defs>

  <rect width="1280" height="800" fill="url(#sky)"/>
  <circle cx="1025" cy="160" r="92" fill="#a5d8ff" opacity=".08" filter="url(#glow)"/>
  <circle cx="1025" cy="160" r="73" fill="url(#planet)"/>
  <path d="M968 120c17-18 39-29 62-32l12 18-8 13-23 3-12 13-21-3zm38 44 20-13 25 4 13 17-6 13-22 1-9 22-20-8-11-19zm65-51c17 17 26 42 24 65l-13 4-13-20 5-19-11-13z" fill="#6ab69e" opacity=".8"/>
  <path d="M958 151c36-15 87-17 133-2M972 196c36 11 74 11 105 2" fill="none" stroke="#e4faff" stroke-width="6" opacity=".45"/>

  <g fill="#fff8d5">
    <circle cx="98" cy="93" r="2"/><circle cx="189" cy="183" r="2.5"/><circle cx="304" cy="69" r="1.7"/>
    <circle cx="408" cy="149" r="2"/><circle cx="530" cy="80" r="2.5"/><circle cx="695" cy="80" r="1.8"/>
    <circle cx="805" cy="150" r="2.5"/><circle cx="1170" cy="82" r="2"/><circle cx="1198" cy="272" r="2"/>
    <circle cx="109" cy="324" r="2"/><circle cx="296" cy="288" r="1.5"/><circle cx="873" cy="311" r="1.8"/>
    <circle cx="1134" cy="389" r="2.2"/><circle cx="240" cy="412" r="2"/><circle cx="770" cy="258" r="1.5"/>
  </g>
  <g stroke="#fff3c1" stroke-width="2" stroke-linecap="round">
    <path d="M155 239v16m-8-8h16"/><path d="M367 104v13m-6.5-6.5h13"/>
    <path d="M894 82v18m-9-9h18"/><path d="M1157 335v15m-7.5-7.5h15"/>
  </g>
  <path d="M0 520 96 465l92 37 103-70 93 79 117-40 94 60 99-45 85 34 101-67 112 66 94-41 94 36v126H0z" fill="#667095" opacity=".45"/>
  <path d="M0 582c169-48 303-33 424-16 150 21 271 14 400-16 169-40 316-15 456 31v219H0z" fill="url(#ground)"/>
  <path d="M0 620c185-40 314-15 421-3 188 22 329-20 453-29 164-12 286 13 406 47" fill="none" stroke="#eeebf4" stroke-width="4" opacity=".5"/>
  <g fill="#747b9e" opacity=".34">
    <ellipse cx="167" cy="681" rx="79" ry="13"/><ellipse cx="1068" cy="681" rx="108" ry="18"/>
    <ellipse cx="350" cy="755" rx="45" ry="8"/><ellipse cx="908" cy="749" rx="35" ry="7"/>
  </g>
  <g fill="none" stroke="#f4f1fa" stroke-width="4" opacity=".55">
    <path d="M88 678c24-16 99-21 148-7"/><path d="M971 677c40-20 140-22 190-4"/>
  </g>

  <!-- floating dust and motion -->
  <g fill="#f3e8ed" opacity=".7">
    <circle cx="294" cy="576" r="4"/><circle cx="327" cy="564" r="7"/><circle cx="359" cy="581" r="3"/>
    <circle cx="387" cy="565" r="5"/><circle cx="911" cy="534" r="4"/><circle cx="940" cy="547" r="7"/>
  </g>
  <g stroke="#e5dced" stroke-width="5" stroke-linecap="round" opacity=".55">
    <path d="M270 539h75"/><path d="M320 521h48"/><path d="M889 503h49"/>
  </g>
  <ellipse cx="643" cy="626" rx="216" ry="24" fill="#4b4c70" opacity=".25" filter="url(#shadow)"/>

  <!-- astronaut, leaning forward -->
  <g transform="rotate(-8 642 400)">
    <!-- backpack -->
    <rect x="477" y="314" width="104" height="154" rx="30" fill="#9baccd" stroke="#566889" stroke-width="8"/>
    <rect x="486" y="333" width="38" height="74" rx="12" fill="#d1dcec"/>
    <path d="M494 426h26" stroke="#7184a8" stroke-width="8" stroke-linecap="round"/>

    <!-- tail -->
    <path d="M545 432c-50 34-71 2-64-26" fill="none" stroke="#7788a8" stroke-width="29" stroke-linecap="round"/>
    <path d="M545 432c-50 34-71 2-64-26" fill="none" stroke="#e0e4ef" stroke-width="18" stroke-linecap="round"/>

    <!-- legs -->
    <path d="M571 446c-8 29-21 53-38 74l-31 13 9 29 55-3c17-2 29-12 42-29l34-48" fill="url(#suit)" stroke="#697d9e" stroke-width="7" stroke-linejoin="round"/>
    <path d="M656 456c7 27 16 52 36 72l36 5 2 29-59 4c-17 0-29-7-39-19l-42-50" fill="url(#suit)" stroke="#697d9e" stroke-width="7" stroke-linejoin="round"/>
    <path d="M498 529c-15 1-23 11-23 23 0 8 7 13 18 13h57v-25zM697 533l34-4c17-2 26 6 28 19 1 9-5 14-18 15l-44 3z" fill="#f8f7ef" stroke="#697d9e" stroke-width="7"/>
    <path d="M479 554h66m157 0 50-4" stroke="#9eb0c9" stroke-width="5"/>

    <!-- body -->
    <path d="M554 326c17-16 44-22 77-20 41 1 72 16 79 48l-8 94c-5 31-28 43-73 44-46 0-76-12-82-41l-10-84c-2-17 4-31 17-41z" fill="url(#suit)" stroke="#697d9e" stroke-width="8"/>
    <path d="M565 440c36 12 95 13 128 0" fill="none" stroke="#a6b6d0" stroke-width="7"/>
    <rect x="595" y="365" width="68" height="55" rx="10" fill="#7894b5" stroke="#617b9b" stroke-width="4"/>
    <rect x="604" y="374" width="25" height="14" rx="3" fill="#a9eff0"/>
    <circle cx="645" cy="381" r="5" fill="#ffcf7e"/>
    <path d="M607 402h43" stroke="#dce9ee" stroke-width="5" stroke-linecap="round"/>

    <!-- arms -->
    <path d="M551 352c-24 2-33 22-48 38l-42 8 5 32 52-2c15-1 26-7 37-18l20-24" fill="url(#suit)" stroke="#697d9e" stroke-width="7" stroke-linejoin="round"/>
    <path d="M465 397c-16-5-31 1-33 14-2 13 10 22 30 21l13-3-3-29z" fill="#f8f7ef" stroke="#697d9e" stroke-width="7"/>
    <path d="M697 350c25 1 37 21 49 39l38 9-5 31-53-4c-13-1-22-8-31-18l-18-23" fill="url(#suit)" stroke="#697d9e" stroke-width="7" stroke-linejoin="round"/>
    <path d="M778 398c17-4 30 4 31 16 1 13-11 21-30 17l-12-3 3-28z" fill="#f8f7ef" stroke="#697d9e" stroke-width="7"/>

    <!-- helmet -->
    <circle cx="624" cy="245" r="117" fill="#d9eef6" fill-opacity=".2" stroke="#d9edf4" stroke-width="10"/>
    <circle cx="624" cy="245" r="104" fill="url(#glass)" stroke="#8bb4cc" stroke-width="3"/>
    <!-- cat ears and head -->
    <path d="M548 244l3-84c1-9 8-12 15-7l43 30c15-3 32-3 46 0l39-29c8-6 16-2 16 8l-2 82c1 45-34 71-79 71-46 0-81-26-81-71z" fill="#f6bb75" stroke="#9e694d" stroke-width="5" stroke-linejoin="round"/>
    <path d="m562 174 4 45 28-28zm130 0-4 44-25-27z" fill="#df8f89"/>
    <path d="M602 189l9 18m17-20 1 20m19-17-7 17" stroke="#c98455" stroke-width="5" stroke-linecap="round"/>
    <ellipse cx="587" cy="251" rx="8" ry="11" fill="#29364c"/>
    <ellipse cx="670" cy="251" rx="8" ry="11" fill="#29364c"/>
    <circle cx="590" cy="247" r="2.5" fill="white"/><circle cx="673" cy="247" r="2.5" fill="white"/>
    <ellipse cx="628" cy="274" rx="25" ry="18" fill="#ffe4c7"/>
    <path d="M621 266q7-6 14 0l-7 7z" fill="#a65d63"/>
    <path d="M628 273v5q-7 8-13 0m13 0q7 8 13 0" fill="none" stroke="#825c55" stroke-width="2.5" stroke-linecap="round"/>
    <path d="M592 269l-27-5m28 13-29 3m100-11 27-5m-28 13 29 3" stroke="#9e694d" stroke-width="2.5" stroke-linecap="round"/>
    <path d="M551 183c13-25 35-42 63-47" fill="none" stroke="white" stroke-width="8" stroke-linecap="round" opacity=".7"/>
    <path d="M714 225c6 27-1 53-15 71" fill="none" stroke="#e7fbff" stroke-width="5" stroke-linecap="round" opacity=".65"/>
    <path d="M565 329c34 17 85 19 119 1" fill="none" stroke="#748cad" stroke-width="12" stroke-linecap="round"/>

    <!-- skateboard -->
    <path d="M440 568c7 10 20 15 38 15h292c19 0 31-6 38-17" fill="none" stroke="#57435e" stroke-width="8" stroke-linecap="round"/>
    <path d="M437 563c4 12 20 20 41 20h292c20 0 36-8 39-20-8 4-16 5-26 5H463c-10 0-18-1-26-5z" fill="url(#board)" stroke="#7f4d60" stroke-width="5" stroke-linejoin="round"/>
    <path d="M502 584v12m-15 0h31m210-12v12m-15 0h31" fill="none" stroke="#69718b" stroke-width="6" stroke-linecap="round"/>
    <circle cx="503" cy="603" r="17" fill="#f5cf8f" stroke="#725c72" stroke-width="6"/>
    <circle cx="728" cy="603" r="17" fill="#f5cf8f" stroke="#725c72" stroke-width="6"/>
    <circle cx="503" cy="603" r="5" fill="#a67779"/><circle cx="728" cy="603" r="5" fill="#a67779"/>
  </g>
  <g fill="#ded9ea" opacity=".75">
    <circle cx="85" cy="744" r="3"/><circle cx="264" cy="639" r="3"/><circle cx="837" cy="670" r="4"/>
    <circle cx="1196" cy="737" r="3"/><circle cx="1105" cy="607" r="3"/>
  </g>
</svg>
Reasoning trace (57 tokens)
**Designing SVG Illustration**

I'm focusing on creating a polished SVG illustration that's 1280x800 and scalable. It should feature a cat astronaut on a skateboard, set against a dynamic backdrop of stars and a moonlit terrain. I want to ensure the visual is compelling, so I'll incorporate gradients and interesting shapes. I’m thinking I might skip any text to keep it clean and simple. The cat needs to be centered, wearing a helmet and suit, with the skateboard and wheels creating a dynamic composition.