Skip to content

CLI Reference ​

covecto [COMMAND]

Commands:
  vectorize  Vectorize one or more images to SVG/PDF/EPS
  serve      Start HTTP API server

Options:
  -V, --version  Print version
  -h, --help     Print help

vectorize ​

covecto vectorize [OPTIONS] <INPUT>

Positional ​

ArgDescription
<INPUT>Input file, directory, or glob pattern ("icons/*.png")

Output ​

FlagDescriptionDefault
-o, --output <PATH>Output file (single) or directory (batch)stdout
--output-dir <DIR>Output directory (batch alternative)—
--output-template <TPL>Filename template: {stem}, {name}, {ext}{stem}.{ext}
-F, --format <FMT>svg, pdf, epssvg

Engine ​

FlagDescriptionDefault
-e, --engine <E>auto, spline, pixel-exactauto
--preset <P>Preset (vtracer starting point for Spline parameters): bw, poster, photo—
--profile <P>Profile (may also choose the engine): icon, logo, photo, lineart. Flags you type win over it—

Vectorization Parameters ​

FlagTypeDescription
--color-precision <N>1–32Color quantization precision (higher = more colors)
--filter-speckle <N>intFilter speckle noise smaller than N
--corner-threshold <N>0–180Corner detection (higher = fewer corners)
--splice-threshold <N>0–100Path splice threshold
--color-mode <M>enumcolor or binary
--hierarchical <M>enumstacked or cutout
--path-simplify <M>enumspline, polygon, or none
--layer-difference <N>intLayer difference threshold
--length-threshold <F>floatMinimum path length
--max-iterations <N>intMax color quantization iterations
--path-precision <N>intPath coordinate decimal places
--spline-max-mp <MP>floatSpline: downscale inputs above this many megapixels before tracing (default 2, 0 = full size)

Optimization ​

FlagDescriptionDefault
--optimize[=BOOL]Run SVG optimization (--optimize=false to disable)true
--no-optimizeDisable SVG optimization—
--optimize-preset <P>Optimization level: default, safe, nonedefault
--multipassMultiple optimization passesfalse
--multipass-iterations <N>Pass count (1+, capped at 16)10

The optimizer is skipped for PixelExact output: it is already minimal, so streaming to disk stays fully incremental.

Batch & UX ​

FlagDescriptionDefault
-R, --recursiveRecurse into subdirectoriesfalse
--jsonJSON results to stdoutfalse
--json-prettyPretty-printed JSONfalse
--no-progressDisable progress bar/spinnerfalse
--dry-runPreview without processingfalse
--max-dimension <PX>Refuse images wider or taller than this, checked before decoding (0 = no limit)8192

serve ​

covecto serve [OPTIONS]
FlagDescriptionDefault
-p, --port <PORT>Listen port3000

Exit Codes ​

CodeMeaning
0Success: every file was converted (with --dry-run: listed; files are only read, and so checked, for the auto engine)
1Error: invalid input or options, or at least one file in a batch failed (the others are still converted and listed)