API & MCP

Everything a person can do on Retro Dither & Machine Palette Converter, a program or AI agent can do with the same inputs and get the identical result.

HTTP API

Retro Dither & Machine Palette Converter

Resample a photo to a machine-style resolution, then quantise it with ordered (Bayer, blue noise) or error-diffusion dithering (Floyd–Steinberg, Atkinson, Jarvis, Stucki, Burkes, Sierra). Optional attribute cells imitate C64 and NES colour limits. Download a crisp PNG and a reusable recipe.

Inputs of Retro Dither & Machine Palette Converter
FieldTypeDefaultDescription
image (required)file—Image (PNG, JPEG or WebP)
resolutionselect (custom, gb, cga, ega, c64-hires, c64-multicolor, nes, mac)"custom"Machine resolution
widthinteger320Working width (px)
fitselect (cover, contain, stretch)"cover"Image fit for machine resolutions
scaleinteger2Output scale (whole pixels)
paletteselect (none, mono, gb-green, gb-gray, cga-0-low, cga-0-high, cga-1-low, cga-1-high, cga-5-high, cga-16, ega-64, c64, nes, rgb-8, custom)"gb-green"Retro palette
customPalettetextarea—Custom palette (HEX list, GPL or JASC-PAL)
ditherselect (none, bayer2, bayer4, bayer8, blue-noise, floyd, atkinson, jarvis, stucki, burkes, sierra3, sierra2, sierra-lite)"bayer4"Dithering method
strengthnumber100Dither strength (%)
serpentinebooleantrueSerpentine scanning for error diffusion
matchselect (srgb, redmean, linear)"srgb"Colour matching
cellsselect (none, c64-hires, c64-multicolor, nes)"none"Attribute cells
brightnessnumber0Brightness
contrastnumber0Contrast
gammanumber1Gamma
saturationnumber100Saturation (%)

Every result contains

inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.

MCP (Model Context Protocol)

{
  "mcpServers": {
    "flipline-dither-lab": { "type": "http", "url": "https://fliplineditherlab.usefulweb.app/mcp" }
  }
}