{"defaults":{"background":"#ffffff","format":"png","quality":90},"editing":"Runs in the visitor's browser; the server never receives the image. There is no endpoint that returns edited bytes — open the page URL in a browser instead.","example":"https://ever-garden.app/plants/image-editor?src=%2Fapi%2Fstick-figure-generator%3Fpose%3Dwave%26face%3Dsmile%26size%3D512&ops=circle:256,200,180;resize:256,","formats":[{"alpha":true,"id":"png","label":"PNG","lossy":false,"mime":"image/png"},{"alpha":false,"id":"jpeg","label":"JPEG","lossy":true,"mime":"image/jpeg"},{"alpha":true,"id":"webp","label":"WebP","lossy":true,"mime":"image/webp"}],"limits":{"maxSide":8192,"maxSteps":20},"page":{"en":"https://ever-garden.app/plants/image-editor","ja":"https://ever-garden.app/ja/plants/image-editor"},"parameters":{"background":"Hex colour that fills transparent pixels when the format has no alpha channel (JPEG). Encode # as %23.","format":"Output format: png, jpeg, webp.","ops":"Editing steps, applied in order and separated by ';'. Each step works in the pixel coordinates of the image the step before it produced, and must lie inside that image; the page stops at the first step that does not fit.","quality":"Encoder quality for lossy formats, 1-100.","src":"Image to open: a path on this site (e.g. /api/stick-figure-generator?pose=wave) or an http(s) URL whose server allows cross-origin reads. URL-encode it. Without it, the steps wait for the visitor to drop in an image."},"steps":{"circle":{"result":"A 2r x 2r square; everything outside the circle is transparent.","syntax":"circle:cx,cy,r"},"crop":{"result":"The width x height rectangle whose top-left corner is x,y.","syntax":"crop:x,y,width,height"},"resize":{"result":"Scaled to width x height, each 1-8192. Leave one side empty (resize:512,) to keep the aspect ratio.","syntax":"resize:width,height"}}}