The SVG engine
Prompt to SVG, or image to SVG. Real editable paths, not a bitmap in an SVG wrapper.
What it does
Two inputs, one engine, one output shape.
- Prompt to SVG. Describe a shape in plain words. You get vector markup.
- Image to SVG. Upload a PNG or JPG. You get vector markup.
Both return the same thing: an SVG document made of real paths, plus the files people actually ask for afterwards (PNG, PDF, EPS, DXF, an icon pack, and a simplified version that still reads at 16px).
Both doors call the same function. The studio, the REST API, the MCP tools
and the x402 endpoints all go through lib/svg/api.ts, so a fix improves
every one of them at once, and a buyer gets the same file at the same price
whichever way they came in.
What makes it different
Most converters wrap a bitmap in an <svg> tag, or trace it and leave the
seams showing. Six things are handled here that a plain trace does not:
| Problem | What happens without it | What this engine does |
|---|---|---|
| Squash | The picture is forced into a square, so wide art comes out stretched | It traces at the picture's own shape and the viewBox follows it |
| Edge dirt | A pale ring of the old background stays mixed into the outline | Each edge pixel takes the colour of the solid pixel just inside it |
| Hairlines | The browser anti-aliases each shape separately, so background shows through the joins | Each shape grows half a pixel under its neighbour |
| Slivers | Soft edges become thin strips of in-between colour | Every in-between pixel snaps to one of its two neighbours first |
| Wobbly curves | Traced at whatever size the file arrived at | Enlarged 2x before tracing |
| Colour piles | You get 200 unnamed paths in no useful order | Layers, grouped by colour or by object, each one named and movable |
The result opens in Figma as objects you can click, move and recolour.
A photograph will never be pixel-exact as vector. Flat art, logos, icons and illustration trace cleanly. Photos come back as an illustration look, and that is the honest description of what you are buying.