For shops, platforms & developers

Color separation, as an API

POST a piece of artwork and get back press-ready spot inks, a film-positive for every ink, and a composite preview — in one request. Meter it by credit: pay-as-you-go or a monthly plan.

Quickstart

Send a base64 image and your key. One separation = one credit.

POST /api/separate
curl -X POST https://www.aiseparations.com/api/separate \
  -H 'X-API-Key: sk_live_...' \
  -H 'Content-Type: application/json' \
  -d '{"image":"data:image/png;base64,iVBOR...","colors":6,"garment":"dark"}'
200 OK — response
{
  "count": 6,
  "colors": ["#100c09", "#542a1d", "#963c26", "#c88756", "#fbfafa"],
  "composite": "data:image/png;base64,...",   // print-simulation preview
  "plates": [{"ink":"#100c09", "image":"data:image/png;base64,..."}, /* one film-positive per ink */ ],
  "recommend": "screen",          // "screen" or "dtf"
  "photographic": false,        // measured from the art, not the ink count
  "remaining": 199,

  // every setting the request resolved to, echoed back
  "mode": "sim", "lpi": 55, "dpi": 300, "angle_set": "Spot 15° offset (default)",
  "choke": 1, "trap": 0, "ub_min_cov": 8.0, "regmarks": false,
  "saturation": 0.7, "winner_boost": 0.4, "suppress_below": 0.08,
  "ink_budget": 0.95, "gcr": 0.0, "ucr": 0.0,
  "highlight": false, "hw_halftone": false
}

Endpoints

POST /api/separate  —  separate an image (consumes 1 credit)

GET  /api/credits  —  check your balance (free), header X-API-Key

Parameters

All fields go in the JSON body; only image is required. Every knob below is optional and defaults to the values the browser app uses, so {"image": "..."} alone gives you a sensible separation. Values outside a listed range are clamped, not rejected. Images up to 12 MB.

Core

ParamTypeDefaultWhat it does
imagestringRequired. Base64 PNG/JPG/WEBP, raw or as a data: URL.
colorsint 2–12autoTarget ink count. Omit to let the engine pick the plates a printer would actually burn.
garment"dark" | "light""dark""dark" adds the choked white underbase; "light" prints inks straight onto the shirt.
mode"sim" | "spot""sim"Simulated process halftones every ink (photos, gradients). Spot prints each plate solid — crisp edges for logos and flat vector art.

Halftone & film output

ParamTypeDefaultWhat it does
lpiint 25–8055Halftone line frequency — dot fineness.
meshintConvenience: 110, 156, 200, 230, 280, 305 or 355 sets the lpi that mesh can hold (35/45/50/55/60/65/70). Ignored if you send lpi yourself.
angle_setstring"Spot 15° offset (default)"Screen angles, cycled across plates. Also accepts "CMYK process (15/75/0/45)" and "Wide 30° spacing". Wider spacing is extra moiré safety on coarse mesh.
dpiint 150–1200300Output resolution of the film positives.
dot_gainfloat 0–4018Percent dot-gain compensation — pre-shrinks dots for ink spread on press.
min_dotfloat 0–300Percent. Smallest printable highlight dot; below it, coverage drops to zero instead of flashing an unholdable dot.
max_dotfloat 70–100100Percent. Caps shadow coverage so dark areas don't plug.
regmarksboolfalseStamp identical crosshair registration targets on every plate.

Tone & mixing (simulated process only)

ParamTypeDefaultWhat it does
saturationfloat 0.1–1.50.7Gamma on each ink channel. Lower pulls colors apart harder — richer, more saturated.
winner_boostfloat 0–10.4Extra coverage pushed onto each pixel's dominant ink, toward solid.
suppress_belowfloat 0–0.50.08Zero out any ink coverage under this — kills color speckle.
ink_budgetfloat 0.4–10.95Max total ink coverage on a single pixel.
gcrfloat 0–10Gray Component Replacement — carries the neutral built by overlapping colors on the black plate instead. Saves ink, cleaner neutrals.
These five shape continuous tone, so mode: "spot" ignores them — solid plates have no tone to redistribute. gcr additionally needs a near-neutral black ink in the palette to carry the gray, plus at least two other chromatic inks to pull it from; if the darkest ink is saturated (a navy or maroon) it no-ops rather than muddying the art — the same rule the desktop app applies.

Underbase & trapping

ParamTypeDefaultWhat it does
chokeint 0–41Pixels the white underbase is pulled inward, so it tucks under the colors and can't peek out.
ub_min_covfloat 0–608Minimum ink coverage (0–255) before the underbase fires under a pixel.
ucrfloat 0–10Under-Color Removal — thins the white underbase beneath heavy black. Softer hand, less buildup. Needs a near-neutral black ink in the palette; works in both modes.
trapint 0–30Auto-trap strength in pixels. Dark inks spread, light inks choke, so a registration miss doesn't leave a hairline of bare shirt.

choke, ub_min_cov and ucr only do anything with garment: "dark" — a light garment gets no underbase to shape.

Highlight white (top pass · dark garments only)

ParamTypeDefaultWhat it does
highlightboolfalseAdd a white plate printed on top of the colors to recover true whites.
hw_brightnessfloat 0.5–10.85How bright a pixel must be to receive top white. Higher = only the very brightest spots.
hw_max_satfloat 0–10.18Saturation ceiling. Vivid brights (a strong yellow) are excluded — their own plate handles them.
hw_chokeint 0–62Choked harder than the underbase — it's the last screen down, so registration error has compounded.
hw_halftoneboolfalseFade highlights with dots on the next free screen angle instead of one hard solid white.

The response echoes back every setting it resolved (lpi, angle_set, gcr, ub_min_cov, …) so you can log exactly what produced a given set of plates.

Pricing

One separation = one credit. Mix both models — your monthly allowance is spent first, then pack credits never expire.

Pay as you go

Sample

$19
25 separations · $0.76 ea
  • Credits never expire
  • Full API access
Get started
BEST VALUE

Shop

$99
200 separations · $0.50 ea
  • Credits never expire
  • Full API access
Get started

Studio

$349
1,000 separations · $0.35 ea
  • Credits never expire
  • Full API access
Get started

Monthly plans

PlanSeparations / monthPriceEffective
Lite150$29/mo$0.19 eaSubscribe
Pro750$99/mo$0.13 eaSubscribe
Scale3,000$299/mo$0.10 eaSubscribe
Need higher volume, an SLA, or on-prem? Talk to us.

Who it's for

Prefer a one-time app?

The AI Separations desktop app is $179 one-time and adds AI background removal, upscaling, the Separation Advisor, instant quoting, and ink matching — built for individual shops. Or try it live in your browser first.