# SVG logo API: true vector, not a traced bitmap

> An SVG is not automatically production-ready. Live text, embedded rasters, filters and a thousand traced nodes all pass as SVG and fail at the printer. The API should return geometry that survives.

Canonical: https://dosiefoxie.com/svg-logo-api.html

> Agent API (2026-11-09). The contract, the free endpoints and the paid x402 checkout are live. A preview is $1 and a Production Pack $19, in USDC on Base, paid per request — no account, no API key, no card. A request that arrives without payment returns 402 with the exact amount, asset, network and address.

The test is not whether the file opens in a browser. It is whether a printer, an embroiderer or a sign shop can use it without redrawing. That means outlined type, no embedded raster, no filters, a finite node budget and a mark that survives at 16 pixels.

The API runs the same six gates the human pack runs. The difference is that the agent gets the gate report as JSON, not a sentence on a page.

## What true vector means here

- Type is outlined, not live text. The font licence travels with the pack.
- No embedded raster, no filters, no bitmaps inside the SVG.
- One ink per file for mono and one-ink versions.
- A node budget: a mark with thousands of traced nodes is a raster in disguise.
- A 16-pixel favicon test, not only a large preview.

A traced bitmap can pass a casual eye test and fail every one of these. The API refuses it rather than shipping it.

## The six lockups

| Lockup | Use |
| --- | --- |
| Primary horizontal | website header, invoice, email signature |
| Stacked | square spaces, packaging, social profile |
| Icon | favicon, app icon, avatar |
| Wordmark | when the mark is already present |
| Mono | one-colour print, embroidery, stamps |
| Reverse | dark backgrounds, signage, apparel |

Six files are not decoration. Each one is the same mark for a different surface; an agent that only gets the primary lockup will crop or recolour it badly on the next surface.

## The spec is the source

The pack includes spec.json and mark.svg. The spec holds the parameters; mark.svg is the drawing the spec composes. A colour, layout or tagline change is a spec edit and a re-render, not a new model call.

```
{
  "name": "Salthouse Smokehouse",
  "layout": "horizontal",
  "mark": {"family": "custom", "path": "mark.svg"},
  "type": {"font": "Inter-Bold", "tracking": 0.01, "uppercase": true},
  "palette": {"primary": "#1A1A1A", "accent": "#B23A2E", "paper": "#F5F1E8"}
}
```

This is why the API can offer a cheap render step. The model is used once to find the idea; the geometry is edited afterwards.

## The QA gates

The engine checks structure (vector-only, no raster/text/filters), node count, stroke floor, contrast, small-size ink coverage at 16/24/32 pixels and clear space. A failing gate is a refused pack, not a warning. The agent receives the gate names and pass/fail values in the manifest.

## What the pack does not ship

No CMYK master, no spot-colour references, no screen-print separations, no pre-flighted cut files and no DST/PES. Those are printer, sign-shop or digitiser work. The pack ships the vector input those suppliers need, plus a print PDF; claiming more would be a false assurance.

## Questions

### Can I edit the SVG?

Yes. The type is outlined and the paths are ordinary SVG. For colour, layout and tagline changes, edit the spec and re-render; that keeps every lockup consistent.

### Does the pack include a favicon?

Yes. A multi-size favicon.ico and a maskable 512-pixel app icon ship with the pack.

### Is the SVG CMYK?

No. The SVG is sRGB and the print PDF is a vector PDF. The printer converts to CMYK or spot; the pack does not pretend to be a press proof.

### Can I get a DST or PES file?

No. Embroidery digitising is a separate job with underlay, density and stitch order. The pack ships the one-ink artwork the digitiser needs as input.