Bespoke Woodcraft Studio
Spec Photo → Cut List
Open Cut List Optimizer →

Intake bridge

Turn photos of fronts into a cut list

Have photos or sketches of your cabinet door & drawer fronts with their finished sizes? This builds an AI handoff prompt that points at your image files. Paste it into Claude, Claude reads the photos and hands back an importable parts file, and you load it straight into the Cut List Optimizer.

1

Point at your images

Point at a folder (or list image paths) and set the units + a fallback grain. Material & banding are set later in the optimizer.

2

Generate & paste the prompt

Copy the generated prompt into a Claude chat. It reads the photos and returns a JSON parts package.

3

Import & cut

Paste the result back here and open it in the Cut List Optimizer to nest & get cut sizes.

Step 1

Your spec images

Easiest: point at a folder of photos and the AI reads them all. Or list individual files. They’re read directly — never uploaded by this page.

⚠️
iPhone/HEIC photos: the prompt tells the AI to convert .heic with sips first (macOS), so HEIC paths are fine. Make sure the files actually exist at these paths on the machine running Claude.
Step 2

Defaults & context

These fill in anything the photos don’t spell out, and tell the AI how to label the result.

The AI reads each front’s grain direction from the photo. This is only the fallback for when it can’t tell — e.g. melamine or painted fronts have no grain, so pick None.
On — the numbers are the real outside dimensions of finished fronts; the optimizer will subtract banding to get the cut size. Off — they’re raw target sizes.
Step 2 · output

Handoff prompt

Copy this whole block into a Claude chat that can read local files. It includes your image paths, your defaults, the exact output schema, and the OCR rules.

Step 3

Bring the result back

Paste the JSON the AI returns (or open the saved .json file and paste its contents). Then send it to the optimizer.

The import contract (clo-import-1) & example

This is the schema the generated prompt asks the AI to produce, and exactly what the Cut List Optimizer imports.

FieldMeaning
formatAlways "clo-import-1".
projectProject name to create/target in the optimizer.
units"in" or "mm" — how to read the dimension strings.
parts[]Each front: label, type (door/drawer/panel), w, h, qty, grain (h/w/none), and edges (top/bottom/left/right → true if banded, false if not). Dimensions are strings; fractions like "14 3/4" are fine.
No material, thickness or banding lists — those are assigned in the optimizer after import, so you don't re-enter what's already in your stock.