API
Mask in, patch out. JPG/PNG free. SVG and 3D need a key.
Downloads
Reference
Expand a topic when you need it.
Endpoint POST /v1/patch
Create a deterministic patch job from a mask and output formats. The backend assumes an infinite aperiodic monotile tiling, clips it to your requested shape, and chooses the atlas/core depth automatically.
curl -X POST https://api.aperiodicgenerator.com/v1/patch \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-001" \
-d '{
"mask": {"type": "circle", "radius": 50},
"formats": ["png"],
"png_width_px": 1200,
"png_height_px": 1200
}'
# JPG/PNG: no API key. For SVG/GLB/STL, add: -H "X-API-Key: YOUR_API_KEY"
Supported masks Shape-first requests
Shape sizes are in canonical units. Masks are centered automatically, so the request only needs the shape type and dimensions.
- Circle
{"type":"circle","radius":50} - Rectangle
{"type":"rectangle","width":90,"height":40} - Triangle
{"type":"triangle","side_length":50} - Square
{"type":"square","half_side":6.25} - Hexagon
{"type":"regular_hexagon","circumradius":50} - Rounded rectangle
{"type":"rounded_rect","width":90,"height":40,"corner_radius":5}
Boundary behavior Fully tiled clipped panel
Default is clip: edge tiles trim to the mask so the export reads as a crop from a fully tiled plane.
- Clipped edge tiles Outline lands exactly where you asked.
- Whole-tile modes Internal/advanced — most users can ignore them.
- Future polygons Arbitrary polygons are feasible with validation and examples.
Color and labels White fill, black stroke by default
Each tile carries a label such as Gamma or Psi for palettes and filtering.
- Default White fill, black stroke — good for CAD and clean previews.
- Deterministic palette Stable per-tile colors from tile IDs.
- Palette by label Planned: fill/stroke/opacity by label, with
*fallback.
{
"style": {
"fill": "#ffffff",
"stroke": "#000000",
"palette_by_label": {
"Gamma": {"fill": "#ff6600", "opacity": 1},
"Psi": {"fill": "#3366ff", "opacity": 0.25},
"*": {"fill": "#ffffff", "opacity": 1}
}
}
}
Outputs Images, vectors, data, 3D
- JPG / PNG Free raster previews from the API.
- SVG / CSV / JSON Paid vectors and tile metadata for pipelines.
- GLB / STL Paid 3D —
stl_extrusion_mmdefaults to 0 (flat caps). - STL_ZIP / OBJ_ZIP Paid one-file-per-tile packs.
- instance_json Paid transform manifest for custom importers.
Capabilities What free vs paid unlocks
- Free JPG or PNG Small preview patches, raster only — no API key.
- Paid SVG or 3D Production exporters and larger jobs — key from Pricing.
- Queue and downloads Status, wait estimates, signed artifact URLs.
Live limits:
GET /v1/capabilities
· Pricing
Job lifecycle Poll, then signed URLs
POST /v1/patch returns a job_id. Poll until complete, then fetch signed download URLs.
GET /v1/jobs/{job_id}
GET /v1/jobs/{job_id}/urls
GET /v1/downloads/{job_id}/{filename}?exp=...&sig=...
Outputs & ownership You own your pipeline
Plain geometry snapshots are closer to encyclopedic mathematics than expressive authorship — like plotting a Cartesian grid or hex lattice.
We do not assert ownership simply because you exported a patch. Your protectable creativity starts where you add design: materials, art direction, composites, branding, tools, games, textiles, and so on.