Take a photo of a broken cabinet knob, a bracket you need to replace, or a toy part your kid snapped in half, and Meshra can turn it into a parametric CAD part you can resize and print. That sounds close to magic, so it is worth being exact about what is actually happening, because the honest version is more useful than the impressive-sounding one.
What photo-to-part actually is
In the builder, the chat input has a paperclip icon next to the text box. Attach a photo, optionally add a sentence of context ("a cable clip like this one, but for a 12 mm cable"), and send it. Under the hood, three things happen before the model ever sees your image:
- Your photo is downscaled in the browser to a maximum of 1024 pixels on the longest edge and re-encoded as JPEG. This keeps the upload small and fast, and 1024 px is plenty of detail for a model to read overall shape and features. Nothing you upload gets sent at full resolution.
- The downscaled image is attached as a reference block alongside your prompt and sent to Meshra's vision-capable generation model.
- The model is explicitly instructed to treat the photo as a visual guide, not a target to reproduce exactly. It infers overall form, proportions, and the main functional features (holes, slots, ribs, rounded edges, wall structure), then writes CadQuery code, the same parametric CAD scripting language used for every other Meshra generation, choosing sensible real-world millimeter dimensions.
That last point is the whole story: your photo becomes a hint for a language model writing engineering code, not input to a 3D scanner. There is no photogrammetry, no depth sensing, no neural mesh reconstruction happening anywhere in this pipeline. What comes out the other end is a parametric solid, the same kind of exact, editable geometry every Meshra part is built from, just guided by a picture instead of only a sentence.
Because it is a reference-guided approximation rather than a scan, photo generations always start a brand-new part (they cannot patch an existing one), skip the prompt cache that speeds up repeated text prompts, and draw from the same paid generation quota as a text-only prompt. There is no separate "photo credit"; it is priced and gated exactly like any other generation on your plan.
What it is good at
Give the model a clear, well-lit photo of a rigid, mostly geometric object, and it is genuinely useful for:
Proportions and overall form. If you photograph a rectangular phone stand with a 60-degree tilt, you will get back a rectangular stand tilted at roughly that angle, not a random enclosure shape. The model is reading the silhouette and aspect ratios and translating them into real dimensions.
Feature layout. Two mounting holes near the top corners, a slot down the middle, a lip around the edge: these kinds of functional features tend to show up in the output in roughly the right places, because they are visually obvious in a photo even at 1024 px.
A starting point you can dimension precisely. This is the part people underestimate. A photo alone can only tell the model "this looks like it's roughly this shape." Add one dimension in your prompt (the diameter of a known bolt, the width of a card slot, the height of a shelf) and the model has an anchor to scale everything else against. That single number does more for accuracy than a much higher-resolution photo would.
Objects with simple, planar or cylindrical geometry. Brackets, stands, boxes, clips, mounts, spacers, most everyday hardware. These are exactly the shapes CadQuery is built to construct precisely: extrudes, fillets, bores, patterns.
What it is not, and will not become by uploading a better photo
It is not a 3D scan. A scanner captures the actual surface of the physical object, point by point, from multiple angles or a depth sensor. Meshra's photo-to-part looks at one 2D image and writes code describing what it infers the object probably is. The output is Meshra's interpretation of your object, built from primitives like extrudes and cuts, not a captured copy of it.
It will not reproduce an exact replica. If you need a part that matches an original to within a tenth of a millimeter (a replacement gear tooth profile, a snap-fit connector that has to mate with an existing assembly), a photo will not get you there. The model does not know the true dimensions of anything in a photo; it estimates them from proportions and picks "reasonable everyday sizes" when the scale is genuinely ambiguous. Give it real numbers in your prompt for anything that has to fit precisely.
It will not capture surface texture, color, logos, or fine organic detail. The model is explicitly told to simplify: no attempt to reproduce a woodgrain finish, a printed logo, or the exact wavy contour of a hand-carved handle. What you get is clean, printable geometry, which is usually what you want for a functional replacement part, but it means photo-to-part is a poor fit for anything where the point is capturing an organic or decorative shape exactly as it exists (a sculpted figurine, a face, a natural object). CadQuery builds parts out of geometric primitives; it is not a sculpting tool, and a photo cannot change that.
It will not infer dimensions you never provide and the photo does not make obvious. A photo tells the model roughly what something looks like, not how big it is in the real world, unless there is a size reference in frame (a coin next to the part, a ruler, a known-size object like a standard USB connector) or you state a dimension in words. Without either, expect the model to pick reasonable round numbers rather than your object's actual size.
How to get the best result
The gap between "recognizable" and "actually usable" output comes down to how you combine the photo with your prompt. A few habits that consistently help:
- State at least one real dimension. "This bracket is about 80 mm long" or "the mounting holes are for M4 screws" gives the model a scale anchor instead of a guess.
- Describe function, not just appearance. "It needs to clip onto a 15 mm shelf edge" tells the model what the geometry has to do, which it cannot always infer from a photo alone.
- Photograph the object straight-on or at a clear three-quarter angle, in even light, against a plain background if you can. Extreme angles, harsh shadows, or clutter make it harder to read proportions correctly.
- Treat the first result as a draft, not a delivery. Since photo generations always create a new part, the fastest way to fix something off is a follow-up chat message describing the correction ("make the base 10 mm thicker", "move the holes 5 mm further apart"), the same modification flow used for any text-based part.
- Use the parameter sliders once you have a result. Every dimension the model recognized becomes a slider in the parameter drawer, so if the overall shape is right but the scale is off, you can often nudge it into place without writing a new prompt at all, at no extra cost since parameter changes re-execute the same code deterministically.
Once you are happy with the geometry, export it the same way as any other Meshra part: STEP for CAD interchange and CNC quoting, STL for your slicer, or GLB for a quick web preview. The output file formats do not know or care that the part started life as a photo.
The honest pitch
Photo-to-part is not a way to duplicate the physical world. It is a faster way to start a parametric CAD design when a photo communicates the shape better than you could type it out, especially for a first-pass form and rough feature layout. Pair it with a dimension or two in your prompt, expect to iterate with the chat and the sliders, and it earns its place in the workflow. Expect it to hand you an exact digital twin of the object in the photo, and you will be disappointed, because that is a different problem (3D scanning) that Meshra is not solving here.
If you want to see the same underlying parametric pipeline without a photo, read From a sentence to a printable part for the full generation-to-export walkthrough. Or browse the template gallery for parts you can derive and inspect for free, no photo or prompt required. Ready to try it with your own reference photo? Sign up and attach one from the builder's chat panel, or check the pricing page to see how photo generations fit into your plan's quota.
