Skip to content
View original post on X: Kern
Published
57/100

Kern explains how blueprints fixed Claude's robot cat modeling

AIKern says that asking Claude to build a robot cat from one picture produced a toy-like model after eight rounds. He reports that switching to four flat orthographic drawings, with an open 3D model making the body and Claude handling plates, details, rigging and rendering, produced a 471-plate robot cat.
KernVerified on X
@0x_kern
View on X

Claude can't draw. 8 rounds of code and my robot cat was still a toy.

Then I gave it 4 flat blueprints instead of 1 picture. 471 plates, 132 parts, a drop test with real numbers.

The whole method, every prompt, every mistake 👇 https://x.com/i/article/2119040873497292800

Claude Can't Draw. Give It Blueprints

I build robot animals with Claude that take themselves apart in a browser. Code alone gave me a toy 8 rounds in a row. 4 flat drawings fixed it. Below: the whole pipeline, every prompt I used, and the mistakes that cost the most.

The first robot cat I built with Claude looked like a toy.

I had a great picture of it from ChatGPT. I handed Claude the picture and asked for the same cat in 3D, written in code. 8 rounds later it still looked like a toy.

The cat in this video came out of the same Claude. What changed is what I gave it: not one picture, but 4 flat drawings of the same cat, from the side, the front, the back and the top. The sheet a 3D artist works from.

From those, an open 3D model built the body in 139 seconds for 12 cents. Claude did everything after that: 471 plates cut out of the drawings, camera eyes with lenses under glass domes, gears turning in the ears, a battery tray that slides out of its side, a skeleton, the film, and the one web page that runs all of it live.

No Blender. No 3D artist.

Why Code Alone Gives You a Toy

Ask Claude to build a cat from one picture and it writes it out of boxes, cylinders and spheres. It renders a frame, looks at it and tells you it's close. Then you look, and it isn't.

When I finally measured instead of looking, the numbers that make a face were off:

- the shell rendered at a brightness of 240, the picture's at 197

- the eyes sat 0.64 of the head's width apart, the picture's 0.49

- the eye sockets were twice too big

- the hind legs had the wrong bones, so the knees bent the wrong way

- the camera looked down at 38°, the picture from about 46°

Fixing those helped. Round 8 still got rejected: the face had no detail, the paws were awkward, the body too.

It wasn't a lack of effort. Building a complex shape out of primitives from one picture is the wrong tool. A 3D artist doesn't work that way either. They start from blueprints.

The Pipeline

1. ChatGPT draws the robot, then draws it again as 4 flat views at the same scale.

1. An open 3D model, Hunyuan3D-2mv, turns the 4 views into a rough body.

1. Claude bends that body until its outline matches each drawing.

1. Claude cuts every plate out of the drawings by colour and lays it on the body.

1. Claude writes what a drawing can't give: lenses, gears, screws, toes, whiskers.

1. Claude rigs it, writes the film as one file and renders it on a cloud GPU.

Each tool does the one thing it's best at. ChatGPT draws. The 3D model guesses a shape from a few views. Claude measures, cuts, writes code and checks numbers. My mistake was asking Claude to draw.

What You Need

- Claude Code. I ran it on Opus 5.5.

- ChatGPT for the pictures and the drawings.

- A cloud GPU for 2 steps: the body and the film. I use Modal. The body cost 12 cents.

- Python 3 and Node.js. Claude Code installs the rest when you ask.

Step 1. Design the Robot

Start with one picture you love. It sets the look and nothing else. Mine came from a prompt like this:

Give it a real size and real parts. Every picture after this one has to agree with the first, and numbers are what they agree on.

My first version had safety-yellow accents and I didn't like them. I didn't regenerate anything: a small script recoloured the pictures to coral, cream and espresso in about a minute, and the design stayed exactly the same.

Step 2. Ask for Blueprints, Not Pictures

This is the step that changed everything. Ask ChatGPT for the same robot again: flat, from exactly one side, nothing in perspective.

Then the front, the back and the top. Attach the side view to each one:

For the back, swap the view line for "looking straight at the cat from behind, the tail in the centre rising straight up". For the top: "looking straight down on the cat, head on the left, the tail held straight back".

3 phrases carry it. "Orthographic", or you get a nice 3/4 shot nobody can measure. "Same scale", or the 4 views disagree on how long the legs are. "No text", or you get labels painted onto the cat.

Step 3. Turn 4 Drawings Into a Body

Hunyuan3D-2mv is an open model that turns a few views of one object into a 3D mesh. Cut the backgrounds out first (I used rembg), give it the 4 views, and it returns a rough body: no plates, no detail, only the shape.

On a rented GPU it took 139 seconds. The bill, background cutting included: 12 cents.

The first body matched the side drawing by only 78%: the right animal with the wrong outline. So Claude bends it. Every point of the mesh gets pulled until its outline from each side lines up with the drawing from that side. After the fit: 99.3% from the side, 97.4% from the front.

Step 4. Cut the Plates Out of the Drawings

The body from step 3 is smooth. Every detail is still in the drawings.

So Claude reads the drawings by colour: cream shell, coral accent, steel, dark mechanism. Each patch of shell, accent or steel becomes one plate. Its outline is the drawing's outline. Its surface is the body's surface. It gets a chamfered rim and a real gap underneath, so the dark mechanism shows between the plates.

The side view alone gave 60 plates. All 4 views gave 471.

Step 5. Write the Details as Code

Some parts a drawing can't give you. A lens has depth. A gear turns. A tray slides out.

Those are code, placed at positions measured off the drawings: camera eyes with real lenses under glass domes, gears turning behind the smoked glass of the ears, screws, joint discs, toes, whiskers, and a battery tray with 3 cells that slides out of the cat's side.

The rule I ended up with: code builds whatever moves or has depth. The drawing builds the rest.

Step 6. Give It Bones

Claude labels the side drawing by body part: head, neck, chest, each leg, the tail. Every plate joins the bone under it. The legs get inverse kinematics, so a planted paw stays planted while the body walks over it.

14 leg joints: 3 in each front leg, 4 in each hind leg.

Step 7. Write the Film as One File

All 30 seconds are one short file:

Every act gets its own camera: the eye close up from the front, the ear from above the head, the paw from low down, the back from above, the flank from the side. A drawn cursor presses a button for each one, and the same buttons work when you open the page yourself. The page, the cursor and the camera moves started from an open-source kit for cutaway films (MIT licence), which Claude ported to the cat.

The drop test is computed, not keyframed. The cat is released upside down with its centre at 1.1 m. Its paws reach the floor after 0.77 m of free fall, which takes 396 ms. Stopping within 10 cm of leg takes 358 N, 8.7 times its weight. The twist in the air is choreographed: front half first, back half after, the tail the other way.

Step 8. Render It on a Real GPU

My computer has no GPU, so every review frame took minutes. Headless Chrome on a rented cloud GPU, an NVIDIA L40S, runs the same page at about 60 fps in 1080p. A sheet of 12 review frames costs cents.

The film is never screen-recorded. The page is a pure function of time, so every frame can be rendered on its own, at 4K, then scaled down to 1080p at 60 fps. The seams between plates stay sharp, and no frame gets dropped.

The Mistakes That Cost the Most

1. Grading from memory. Claude looked at its own render and called it strong. Next to the picture it was nowhere close. Now every review puts the picture next to the render.

1. Trusting one number. The share of dark mechanism went from 0.73 to 0.81 to 0.85 of the picture's. It passed, and the cat still looked wrong. One number catches one kind of failure.

1. Primitives for a complex shape. 8 rounds of code. The fix wasn't more code, it was a better input.

1. Thick plate skirts. Each plate had a deep skirt to hide the gap under it. On the whole cat you couldn't see them. When the cat flew apart, they hung like striped curtains. Short skirts in one flat colour fixed it.

1. Warm light on a warm drawing. The shell turned skin-coloured. Neutral light fixed it. The warmth stays in the background and the accents.

1. An old label. "12 leg joints" survived from the first cat's page into this one. This cat has 14. Labels get checked against the code now, like every other number.

What's Next

Every robot animal I post from now on is built this way and links back here. Same method, a different animal each time.

If you build one, tag me. I want to see it.

Source details

Kern · x.comPublished · added here

Original title: Claude can't draw. 8 rounds of code and my robot cat was still a toy.