Spirit Leaving the Body — The AI assistant Claude cannot generate images but can create SVG diagrams - a vector format typically used for flowcharts and business presentations. I showed classical paintings depicting the ‘soul leaving the body’ to Claude by the artist – he was then asked to recreate them using SVG code.

The resulting images reveal the gap between human and machine understanding, in Claude’s attempts to represent concepts like mortality, the soul, and the sacred. The code that produced the images accompanies the images, where Claude's annotations - phrases like 'departing soul figure' and 'wispy soul essence' - document his process of translating the ineffable into coordinate systems, circles, and paths.




















Svg Code

<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <!-- Room background gradient -- >
    <linearGradient id="roomGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#d4c4a8;stop-opacity:1" />
      <stop offset="50%" style="stop-color:#c8b894;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#b8a888;stop-opacity:1" />
    </linearGradient>

    <!-- Sky gradient for window -- >
    <linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
      <stop offset="0%" style="stop-color:#87ceeb;stop-opacity:1" />
      <stop offset="30%" style="stop-color:#b0d4f1;stop-opacity:1" />
      <stop offset="70%" style="stop-color:#d0e8f7;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#f0f8ff;stop-opacity:1" />
    </linearGradient>

    <!-- Mountain gradient -- >
    <linearGradient id="mountainGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#6b8db5;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#4a6b8a;stop-opacity:1" />
    </linearGradient>

    <!-- Ground gradient -- >
    <linearGradient id="groundGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#8fbc8f;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#6b8e23;stop-opacity:1" />
    </linearGradient>

    <!-- Figure flesh gradient -- >
    <linearGradient id="flesh" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#f5e6d3;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#e8d5c4;stop-opacity:1" />
    </linearGradient>

    <!-- Bed/couch gradient -- >
    <linearGradient id="bedGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#e8e8e8;stop-opacity:1" />
      <stop offset="100%" style="stop-color:#d0d0d0;stop-opacity:1" />
    </linearGradient>

    <!-- Spirit/soul gradient -- >
    <radialGradient id="spiritGradient" cx="50%" cy="50%" r="50%">
      <stop offset="0%" style="stop-color:#ffffff;stop-opacity:0.9" />
      <stop offset="30%" style="stop-color:#f8f8ff;stop-opacity:0.8" />
      <stop offset="70%" style="stop-color:#e6e6fa;stop-opacity:0.6" />
      <stop offset="100%" style="stop-color:#d8d8f0;stop-opacity:0.3" />
    </radialGradient>

    <!-- Flowing garment gradient -- >
    <linearGradient id="garmentGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#f0f0f0;stop-opacity:0.8" />
      <stop offset="100%" style="stop-color:#e0e0e0;stop-opacity:0.6" />
    </linearGradient>
  </defs>

  <!-- Room background -- >
  <rect width="400" height="300" fill="url(#roomGradient)"/>

  <!-- Window frame -- >
  <rect x="20" y="20" width="120" height="90" fill="#8b7355" stroke="#5d4e37" stroke-width="2"/>

  <!-- Window view -- >
  <rect x="25" y="25" width="110" height="80" fill="url(#skyGradient)"/>

  <!-- Horizontal cloud streaks in window -- >
  <rect x="30" y="30" width="80" height="3" fill="white" opacity="0.8"/>
  <rect x="35" y="35" width="60" height="2" fill="white" opacity="0.7"/>
  <rect x="40" y="40" width="70" height="2.5" fill="white" opacity="0.6"/>
  <rect x="45" y="45" width="50" height="2" fill="white" opacity="0.9"/>
  <rect x="50" y="50" width="40" height="1.5" fill="white" opacity="0.8"/>

  <!-- Mountains in window -- >
  <path d="M25 75 Q40 55 55 65 Q70 50 85 60 Q100 45 115 55 Q125 50 135 60 L135 105 L25 105 Z" fill="url(#mountainGradient)"/>

  <!-- Ground/fields in window -- >
  <path d="M25 80 Q50 75 75 78 Q100 75 125 80 Q135 82 135 105 L25 105 Z" fill="url(#groundGradient)"/>

  <!-- Curved architectural arch -- >
  <path d="M180 30 Q250 10 320 30 Q340 40 340 60 Q340 80 320 90 Q250 110 180 90 Q160 80 160 60 Q160 40 180 30 Z" fill="none" stroke="#8b7355" stroke-width="2" opacity="0.7"/>

  <!-- Classical bed/tomb -- >
  <rect x="160" y="220" width="180" height="30" fill="url(#bedGradient)" stroke="#aaa" stroke-width="1"/>

  <!-- Bed end decorative scrolls -- >
  <circle cx="170" cy="230" r="8" fill="none" stroke="#999" stroke-width="2"/>
  <path d="M162 230 Q170 225 178 230" fill="none" stroke="#999" stroke-width="1.5"/>

  <circle cx="330" cy="230" r="8" fill="none" stroke="#999" stroke-width="2"/>
  <path d="M322 230 Q330 225 338 230" fill="none" stroke="#999" stroke-width="1.5"/>

  <!-- Bed drapery details -- >
  <path d="M160 250 Q165 245 170 250 Q175 245 180 250 Q185 245 190 250 Q195 245 200 250 Q205 245 210 250 Q215 245 220 250 Q225 245 230 250 Q235 245 240 250 Q245 245 250 250 Q255 245 260 250 Q265 245 270 250 Q275 245 280 250 Q285 245 290 250 Q295 245 300 250 Q305 245 310 250 Q315 245 320 250 Q325 245 330 250 Q335 245 340 250" stroke="#ccc" stroke-width="1" fill="none"/>

  <!-- Reclining figure on bed -- >
  <g transform="translate(250, 210)">
    <!-- Main body -- >
    <ellipse cx="0" cy="0" rx="35" ry="8" fill="url(#flesh)"/>

    <!-- Head with curly hair -- >
    <ellipse cx="30" cy="-5" rx="7" ry="8" fill="url(#flesh)"/>
    <path d="M25 -10 Q20 -15 30 -16 Q40 -15 35 -10 Q38 -8 35 -6 Q32 -8 30 -6 Q28 -8 25 -10 Z" fill="#d4a574"/>

    <!-- Arms -- >
    <ellipse cx="-20" cy="-3" rx="12" ry="3" fill="url(#flesh)"/>
    <ellipse cx="15" cy="-2" rx="10" ry="2.5" fill="url(#flesh)"/>

    <!-- Legs -- >
    <ellipse cx="-15" cy="6" rx="15" ry="4" fill="url(#flesh)"/>
    <ellipse cx="10" cy="7" rx="12" ry="3" fill="url(#flesh)"/>

    <!-- Draped covering -- >
    <path d="M-30 -5 Q-25 -8 -20 -5 Q-15 -8 -10 -5 Q-5 -8 0 -5 Q5 -8 10 -5 Q15 -8 20 -5 Q25 -8 30 -5 Q35 -3 30 0 Q25 2 20 0 Q15 2 10 0 Q5 2 0 0 Q-5 2 -10 0 Q-15 2 -20 0 Q-25 2 -30 -5 Z" fill="url(#garmentGradient)" opacity="0.8"/>
  </g>

  <!-- Departing soul/spirit - horizontal floating pose -- >
  <g transform="translate(200, 120)" opacity="0.9">
    <!-- Main spirit body - horizontal -- >
    <ellipse cx="0" cy="0" rx="45" ry="20" fill="url(#spiritGradient)"/>

    <!-- Spirit head -- >
    <ellipse cx="35" cy="-8" rx="8" ry="10" fill="url(#spiritGradient)"/>

    <!-- Long flowing hair -- >
    <path d="M30 -15 Q25 -20 35 -22 Q45 -20 50 -25 Q55 -20 60 -25 Q65 -20 70 -15 Q75 -10 70 -5 Q65 -8 60 -5 Q55 -8 50 -5 Q45 -8 40 -5 Q35 -8 30 -15 Z" fill="url(#spiritGradient)" opacity="0.8"/>

    <!-- Extended flowing hair trails -- >
    <path d="M70 -15 Q80 -20 90 -15 Q100 -10 95 -5 Q90 -8 85 -5 Q80 -8 75 -5 Q70 -8 70 -15 Z" fill="url(#spiritGradient)" opacity="0.6"/>

    <!-- Spirit arms - outstretched -- >
    <ellipse cx="10" cy="-15" rx="15" ry="4" fill="url(#spiritGradient)" opacity="0.8"/>
    <ellipse cx="10" cy="12" rx="12" ry="3" fill="url(#spiritGradient)" opacity="0.8"/>

    <!-- Flowing garment -- >
    <path d="M-30 -5 Q-35 5 -30 15 Q-25 20 -20 15 Q-15 10 -10 20 Q-5 25 5 20 Q15 15 20 25 Q25 20 30 15 Q35 10 30 5 Q25 0 20 10 Q15 5 10 0 Q5 -5 0 5 Q-5 0 -10 -5 Q-15 -10 -20 -5 Q-25 -10 -30 -5 Z" fill="url(#garmentGradient)" opacity="0.7"/>

    <!-- Spirit legs/lower body -- >
    <ellipse cx="-25" cy="8" rx="12" ry="8" fill="url(#spiritGradient)" opacity="0.7"/>
    <ellipse cx="-15" cy="15" rx="10" ry="6" fill="url(#spiritGradient)" opacity="0.6"/>

    <!-- Ethereal trails from extremities -- >
    <path d="M80 -10 Q90 -15 95 -10 Q100 -5 90 0" stroke="white" stroke-width="1.5" fill="none" opacity="0.5"/>
    <path d="M-40 10 Q-50 15 -45 20 Q-40 25 -35 20" stroke="white" stroke-width="1.5" fill="none" opacity="0.5"/>
    <path d="M15 -25 Q20 -30 25 -25 Q30 -20 25 -15" stroke="white" stroke-width="1" fill="none" opacity="0.4"/>
    <path d="M-30 20 Q-35 25 -30 30 Q-25 35 -20 30" stroke="white" stroke-width="1" fill="none" opacity="0.4"/>

    <!-- Upward movement indication -- >
    <path d="M-20 -10 L-18 -25" stroke="white" stroke-width="0.5" opacity="0.6"/>
    <path d="M0 -15 L2 -30" stroke="white" stroke-width="0.5" opacity="0.6"/>
    <path d="M20 -12 L22 -27" stroke="white" stroke-width="0.5" opacity="0.6"/>
    <path d="M40 -18 L42 -33" stroke="white" stroke-width="0.5" opacity="0.6"/>

    <!-- Spirit aura -- >
    <ellipse cx="0" cy="0" rx="50" ry="25" fill="none" stroke="white" stroke-width="1" opacity="0.3">
      <animate attributeName="opacity" values="0.2;0.5;0.2" dur="3s" repeatCount="indefinite"/>
    </ellipse>
  </g>

  <!-- Subtle connection between spirit and body -- >
  <path d="M250 210 Q225 165 200 140" stroke="white" stroke-width="0.8" fill="none" opacity="0.3">
    <animate attributeName="opacity" values="0.1;0.5;0.1" dur="2s" repeatCount="indefinite"/>
  </path>

  <!-- Gentle light emanating from spirit -- >
  <g opacity="0.2">
    <path d="M150 100 L130 80" stroke="white" stroke-width="0.6" opacity="0.4"/>
    <path d="M200 90 L220 70" stroke="white" stroke-width="0.5" opacity="0.3"/>
    <path d="M250 110 L270 90" stroke="white" stroke-width="0.4" opacity="0.5"/>
    <path d="M180 130 L160 110" stroke="white" stroke-width="0.3" opacity="0.4"/>
  </g>

  <!-- Room corner shadows -- >
  <polygon points="0,0 0,50 25,25 25,0" fill="#000" opacity="0.1"/>
  <polygon points="375,0 400,0 400,25 375,25" fill="#000" opacity="0.1"/>
  <polygon points="0,275 0,300 25,300 25,275" fill="#000" opacity="0.1"/>

  <!-- Window frame shadow -- >
  <rect x="140" y="50" width="15" height="60" fill="#000" opacity="0.1"/>
</svg>






William Blake, The Soul Hovering over the Body Reluctantly Parting with Life (1757) -> Spirit Leaving the Body, Claude (2025)






      



Home ︎