Models 44

GLM 5.3

by Z.aiReasoningClean
Open in new window

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

How it went

Total time
19.5 s
Cost
$0.0052
Output tokens
3,695
Spent thinking
40 tokens
Speed
193.8 tok/s
Console errors
0
First token after
408 ms
First visible text after
673 ms
Prompt tokens
520
Code size
8.4 KB
Finish reason
stop
Served by
Wafer
Model id
z-ai/glm-5.3
Reasoning sent
{"effort":"low"}
Max output
943,718 tokens
Generated
Nov 12, 2026

What it was asked

The prompt
Create a standalone SVG illustration of a fox sitting on a hill, looking at the moon on a starry night, with a few subtle animations. Requirements: - Output a single valid .svg file (```svg code block) with a viewBox of 0 0 800 600. - Hand-written shapes and paths only: no embedded raster images, no external references, no JavaScript. - The fox must be clearly recognizable (pointy ears, snout, bushy tail with a white tip). - Include the moon with a soft glow, many stars, the hill and some background elements (trees, distant hills). - Use a coherent color palette and at least one gradient. - Animations (SMIL or CSS inside the SVG), all looping seamlessly: stars twinkling, the fox's tail swaying gently, and a shooting star crossing the sky every 4 seconds (the first one within 2 seconds).
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 · 178 lines

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="800" height="600">
  <defs>
    <linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stop-color="#0b1035"/>
      <stop offset="55%" stop-color="#1b2350"/>
      <stop offset="100%" stop-color="#33265c"/>
    </linearGradient>
    <radialGradient id="moonGlow" cx="50%" cy="50%" r="50%">
      <stop offset="0%" stop-color="#fffbe8" stop-opacity="0.9"/>
      <stop offset="35%" stop-color="#f5e9b8" stop-opacity="0.35"/>
      <stop offset="100%" stop-color="#f5e9b8" stop-opacity="0"/>
    </radialGradient>
    <radialGradient id="moonBody" cx="40%" cy="35%" r="70%">
      <stop offset="0%" stop-color="#fffdf2"/>
      <stop offset="100%" stop-color="#e8dcae"/>
    </radialGradient>
    <linearGradient id="hill" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stop-color="#1c3a2f"/>
      <stop offset="100%" stop-color="#0e241d"/>
    </linearGradient>
    <linearGradient id="hillBack" x1="0" y1="0" x2="0" y2="1">
      <stop offset="0%" stop-color="#24355c"/>
      <stop offset="100%" stop-color="#182645"/>
    </linearGradient>
    <style><![CDATA[
      .tw1 { animation: tw 2.4s ease-in-out infinite; }
      .tw2 { animation: tw 3.1s ease-in-out 0.8s infinite; }
      .tw3 { animation: tw 2.8s ease-in-out 1.5s infinite; }
      .tw4 { animation: tw 3.6s ease-in-out 0.4s infinite; }
      @keyframes tw { 0%,100% { opacity: .35; } 50% { opacity: 1; } }
      #tail { transform-origin: 200px 440px; animation: sway 4s ease-in-out infinite; }
      @keyframes sway { 0%,100% { transform: rotate(-4deg); } 50% { transform: rotate(5deg); } }
      .shoot { animation: shoot 4s linear infinite; }
      @keyframes shoot {
        0%   { transform: translate(0,0); opacity: 0; }
        3%   { opacity: 1; }
        14%  { transform: translate(300px,140px); opacity: 0; }
        15%  { transform: translate(300px,140px); opacity: 0; }
        50%  { transform: translate(300px,140px); opacity: 0; }
        53%  { transform: translate(300px,140px) ; opacity: 0; }
        60%  { transform: translate(300px,140px); opacity: 0; }
        100% { transform: translate(300px,140px); opacity: 0; }
      }
      #shoot2 { animation-delay: 2s; }
      #glow { animation: pulse 6s ease-in-out infinite; }
      @keyframes pulse { 0%,100% { opacity: .8; } 50% { opacity: 1; } }
    ]]></style>
  </defs>

  <!-- Sky -->
  <rect width="800" height="600" fill="url(#sky)"/>

  <!-- Stars -->
  <g fill="#fffbe8">
    <circle class="tw1" cx="60" cy="80" r="2"/>
    <circle class="tw2" cx="140" cy="150" r="1.5"/>
    <circle class="tw3" cx="230" cy="60" r="2.2"/>
    <circle class="tw4" cx="310" cy="130" r="1.6"/>
    <circle class="tw1" cx="380" cy="50" r="1.8"/>
    <circle class="tw2" cx="450" cy="110" r="1.4"/>
    <circle class="tw3" cx="520" cy="70" r="2"/>
    <circle class="tw4" cx="600" cy="140" r="1.6"/>
    <circle class="tw1" cx="660" cy="60" r="2.4"/>
    <circle class="tw2" cx="720" cy="120" r="1.5"/>
    <circle class="tw3" cx="760" cy="200" r="1.8"/>
    <circle class="tw4" cx="40" cy="220" r="1.4"/>
    <circle class="tw1" cx="110" cy="280" r="1.6"/>
    <circle class="tw2" cx="200" cy="230" r="1.3"/>
    <circle class="tw3" cx="290" cy="200" r="1.7"/>
    <circle class="tw4" cx="360" cy="250" r="1.2"/>
    <circle class="tw1" cx="500" cy="190" r="1.5"/>
    <circle class="tw2" cx="570" cy="250" r="1.3"/>
    <circle class="tw3" cx="650" cy="220" r="1.7"/>
    <circle class="tw4" cx="30" cy="150" r="1.9"/>
    <circle class="tw1" cx="170" cy="110" r="1.4"/>
    <circle class="tw2" cx="260" cy="40" r="1.6"/>
    <circle class="tw3" cx="420" cy="170" r="1.3"/>
    <circle class="tw4" cx="700" cy="40" r="1.5"/>
    <circle class="tw1" cx="770" cy="90" r="1.7"/>
    <circle class="tw2" cx="90" cy="330" r="1.3"/>
    <circle class="tw3" cx="180" cy="360" r="1.5"/>
    <circle class="tw4" cx="330" cy="320" r="1.2"/>
    <circle class="tw1" cx="480" cy="300" r="1.4"/>
    <circle class="tw2" cx="600" cy="330" r="1.3"/>
    <circle class="tw3" cx="740" cy="280" r="1.5"/>
  </g>

  <!-- Shooting stars (every 4s; second offset by 2s) -->
  <g class="shoot">
    <line x1="120" y1="90" x2="170" y2="90" stroke="#fffbe8" stroke-width="1.6" stroke-linecap="round" opacity="0"/>
    <circle cx="176" cy="90" r="2.4" fill="#fffdf2" opacity="0"/>
    <animate attributeName="opacity" values="0;1;0" keyTimes="0;0.05;0.15" dur="4s" repeatCount="indefinite"/>
  </g>
  <g class="shoot" id="shoot2">
    <line x1="480" y1="60" x2="540" y2="60" stroke="#fffbe8" stroke-width="1.6" stroke-linecap="round" opacity="0"/>
    <circle cx="546" cy="60" r="2.4" fill="#fffdf2" opacity="0"/>
  </g>

  <!-- Distant hills -->
  <path d="M0 430 Q 150 380 300 430 Q 420 400 560 445 Q 680 420 800 450 L800 600 L0 600 Z" fill="url(#hillBack)"/>
  <path d="M0 470 Q 200 440 380 480 Q 560 450 800 495 L800 600 L0 600 Z" fill="#12203e" opacity="0.8"/>

  <!-- Moon with glow -->
  <g>
    <circle id="glow" cx="600" cy="140" r="110" fill="url(#moonGlow)"/>
    <circle cx="600" cy="140" r="52" fill="url(#moonBody)"/>
    <circle cx="585" cy="128" r="9" fill="#e3d8a8" opacity="0.5"/>
    <circle cx="618" cy="158" r="6" fill="#e3d8a8" opacity="0.4"/>
    <circle cx="600" cy="120" r="4" fill="#e3d8a8" opacity="0.35"/>
    <circle cx="580" cy="160" r="5" fill="#e3d8a8" opacity="0.35"/>
  </g>

  <!-- Trees on distant hill -->
  <g fill="#0d1a33">
    <path d="M90 470 L100 440 L110 470 Z"/>
    <path d="M88 458 L100 428 L112 458 Z"/>
    <path d="M120 475 L131 442 L142 475 Z"/>
    <path d="M118 462 L131 430 L144 462 Z"/>
    <rect x="98" y="468" width="4" height="10"/>
    <path d="M660 480 L672 448 L684 480 Z"/>
    <path d="M657 466 L672 434 L687 466 Z"/>
    <rect x="670" y="478" width="4" height="10"/>
    <path d="M700 486 L709 462 L718 486 Z"/>
    <path d="M700 475 L709 452 L718 475 Z"/>
  </g>
  <g stroke="#0d1a33" stroke-width="3" stroke-linecap="round">
    <line x1="100" y1="478" x2="100" y2="490"/>
    <line x1="131" y1="474" x2="131" y2="488"/>
    <line x1="671" y1="488" x2="671" y2="498"/>
    <line x1="708" y1="486" x2="708" y2="496"/>
  </g>

  <!-- Main hill -->
  <path d="M0 600 L0 520 Q 220 440 420 510 Q 620 570 800 540 L800 600 Z" fill="url(#hill)"/>
  <path d="M0 520 Q 220 440 420 510 Q 500 528 560 545 Q 300 500 0 600 Z" fill="#142e26" opacity="0.6"/>

  <!-- Fox: sitting, gazing up at moon -->
  <g transform="translate(0,-14)">
    <!-- Tail (swaying) -->
    <g id="tail">
      <path d="M225 455 Q 300 430 315 370 Q 322 400 300 440 Q 280 470 232 472 Q 214 468 225 455 Z" fill="#c25a2e"/>
      <path d="M315 370 Q 322 400 300 440 Q 288 456 272 466 Q 300 458 312 420 Q 322 395 315 370 Z" fill="#f3ede1"/>
    </g>
    <!-- Body -->
    <path d="M150 480 Q 148 430 190 425 Q 225 420 235 455 Q 240 478 215 490 L165 492 Q 152 488 150 480 Z" fill="#cd6433"/>
    <!-- Chest / belly -->
    <path d="M170 470 Q 168 445 190 442 Q 205 442 208 462 Q 206 480 188 486 Q 174 484 170 470 Z" fill="#f3ede1"/>
    <!-- Hind leg haunch hint -->
    <path d="M200 450 Q 220 445 228 465 Q 230 480 218 488 L200 488 Z" fill="#b5522a"/>
    <!-- Front legs -->
    <rect x="158" y="470" width="11" height="24" rx="5" fill="#b5522a"/>
    <rect x="174" y="474" width="11" height="20" rx="5" fill="#cd6433"/>
    <!-- Head (turned up toward moon) -->
    <g transform="translate(150,415) rotate(-18) translate(-150,-415)">
      <!-- Ears -->
      <path d="M126 392 L118 358 L144 376 Z" fill="#cd6433"/>
      <path d="M128 388 L123 366 L140 378 Z" fill="#3b241c"/>
      <path d="M176 392 L190 360 L166 374 Z" fill="#cd6433"/>
      <path d="M175 387 L184 368 L170 376 Z" fill="#3b241c"/>
      <!-- Face -->
      <path d="M122 400 Q 118 380 132 376 Q 150 372 172 380 Q 186 384 184 402 Q 182 418 168 424 Q 150 430 134 422 Q 122 414 122 400 Z" fill="#cd6433"/>
      <!-- White cheeks/muzzle -->
      <path d="M128 404 Q 128 392 140 390 Q 148 388 150 396 Q 150 404 142 410 Q 134 414 128 404 Z" fill="#f3ede1"/>
      <path d="M178 404 Q 178 392 168 390 Q 160 388 158 396 Q 158 404 166 410 Q 174 414 178 404 Z" fill="#f3ede1"/>
      <!-- Nose -->
      <path d="M150 394 Q 145 390 149 387 Q 152 385 155 388 Q 158 391 150 394 Z" fill="#2b1a14"/>
      <!-- Eyes (looking up at moon) -->
      <g fill="#241512">
        <circle cx="136" cy="402" r="3.6"/>
        <circle cx="168" cy="402" r="3.6"/>
      </g>
      <g fill="#fffbe8">
        <circle cx="134.5" cy="400.5" r="1.2"/>
        <circle cx="166.5" cy="400.5" r="1.2"/>
      </g>
    </g>
  </g>
</svg>
Reasoning trace (40 tokens)
Create SVG with CSS animations inside. Fox sitting on hill, moon, stars, trees, shooting star every 4s starting within 2s (use negative delay or keyframe 0-2s).