Circle
{"type":"circle","radius":50}
Developer docs
The API accepts canonical geometry masks and returns job artifacts: compact SVG for design tools, CSV/JSON for instancing, and mesh formats for 3D workflows.
Endpoint
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 "X-API-Key: YOUR_API_KEY" \
-H "Idempotency-Key: demo-001" \
-d '{
"mask": {"type": "circle", "radius": 50},
"formats": ["svg", "png"],
"png_width_px": 1200,
"png_height_px": 1200
}'
Supported masks
Shape sizes are in canonical units. Masks are centered automatically, so the request only needs the shape type and dimensions.
{"type":"circle","radius":50}
{"type":"rectangle","width":90,"height":40}
{"type":"triangle","side_length":50}
{"type":"square","half_side":6.25}
{"type":"regular_hexagon","circumradius":50}
{"type":"rounded_rect","width":90,"height":40,"corner_radius":5}
Boundary behavior
The default launch behavior is clip: every tile that reaches the mask boundary is trimmed
exactly to the requested outline, so the output reads as a crop from a fully tiled infinite plane.
Trims edge tiles to the mask so the exported outline lands exactly where you asked.
Whole-tile modes can remain internal or advanced. Most users should not need to think about them.
Arbitrary polygons and monotile-shaped masks are feasible, but they should ship with validation and simple examples.
Color and labels
Each emitted tile already carries a label such as Gamma or Psi. That makes
label-driven palettes possible: color one tile class, hide another, or make only one class opaque.
White fill, black stroke, fully opaque. Good for CAD import, surface studies, and clean previews.
Current option: stable per-tile colors generated from tile IDs. Useful for debugging and visual variety.
Planned option: assign fill, stroke, and opacity by tile label, with * as the default 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
Hosted raster previews. Render includes CairoSVG and Pillow, so users can request image files directly from the API.
SVG for design tools; CSV/JSON when your own pipeline needs tile IDs, labels, and transforms.
Interactive 3D patch: one named tile node per tile, with fill and stroke geometry. Best for Blender, game engines, Three.js, and realtime scenes where tiles need to move, change color, or respond independently.
Physical mesh output. Best when the tiling is treated as one locked panel or printable surface.
Independent-tile exports: one movable object/file per tile, clearly separate from whole-panel mesh output.
Lightweight transform manifest for custom importers, USD/Houdini workflows, and scripts that instantiate tiles themselves.
Capabilities
Use this section to quickly compare free previews, Solo, and Commercial access.
Small preview patches with raster outputs only: JPG, JPEG, or PNG.
$10/month or $79 lifetime for one-person access to production exporters: SVG, PNG, JPG, CSV, JSON, STL, GLB, STL_ZIP, OBJ_ZIP, and instance_json.
$39/month or $399 lifetime for commercial client and business use, with production jobs up to 500,000 retained tiles.
Jobs return queue status, position, and estimated wait. Completed artifacts use fixed server-side signed download URLs.
Developers can also call
GET /v1/capabilities.
Job lifecycle
The patch endpoint returns a `job_id`. Poll `GET /v1/jobs/{job_id}` until the job is complete, then call `/v1/jobs/{job_id}/urls` to get signed download URLs for the generated artifacts.
GET /v1/jobs/{job_id}
GET /v1/jobs/{job_id}/urls
GET /v1/downloads/{job_id}/{filename}?exp=...&sig=...
Outputs & ownership
Plain geometry snapshots — uncolored coordinates, repeatable substitution outputs, CSV rows of affine transforms — are closer to encyclopedic mathematics than expressive authorship on their own, much like plotting a Cartesian grid or hex lattice.
Company stance: we do not assert ownership or exclusive licensed rights simply because you exported a patch via the API. Your protectable creativity begins wherever you add substantive design choices: art direction, materials, shading, composites, narrative, branding, UI, tools, games, textiles, apparel, signage, motion, typography, palettes — integration work that goes beyond raw coordinates.
Access model
Free keys stay constrained to small preview patches and JPG/PNG raster previews. Paid checkout grants Solo or Commercial keys for production exporters.