Skip to content

Deterministic · Nothing leaves your browser

Three mathematical generators: superformula shells, gyroid minimal surfaces, and harmonic tori. Driven by a seed you choose. Type a word, get a unique metal form, and export it as GLB, OBJ, or raw buffers. The same seed always returns the same mesh.

Or call the API →20 free generations, no account50 trial credits on sign-up

Showcase · drag to orbit

Titan#418

Method

A seed is a complete address

There is no database of models and no server-side render queue. The engine is a deterministic function from a composite tag to a BufferGeometry. Share Matrix#832 and anyone gets the exact same vertices, normals, and indices — every time, in any browser.

Try it →
  1. 01

    Pick a word

    Any word becomes a seed. The engine hashes it, derives a variation, and that pair — word and variation — is the complete identity of the mesh.

  2. 02

    Tune the surface

    Subdivisions, metalness, roughness, wireframe. The material is derived from the seed, so every variation reads as a different alloy under the same light.

  3. 03

    Export it

    GLB for the browser and engines, OBJ for everything else, or the raw vertex and index arrays if you are writing your own renderer.

Catalogue

Every form here was generated by the engine on this page

No stock assets, no external stores, no pre-rendered thumbnails. Each preview is the actual mesh, and every number on the card is read off its geometry.

Open the Studio →
Seed: Titan#418

Titan

Logarithmic shell — a lobed titanium vessel.

Tris
—
Verts
—
PBR
—
Format
GLTF / OBJ
Seed: Vortex#7

Vortex

Harmonic torus with a swept, noise-displaced ribbon.

Tris
—
Verts
—
PBR
—
Format
GLTF / OBJ
Seed: Matrix#832

Matrix

Gyroid lattice — a triply periodic minimal surface.

Tris
—
Verts
—
PBR
—
Format
GLTF / OBJ
Seed: Helix#203

Helix

Tight harmonic exponents, near-spherical envelope.

Tris
—
Verts
—
PBR
—
Format
GLTF / OBJ
Seed: Cobalt#64

Cobalt

Chromed ribbon, harmonic flare across the tube.

Tris
—
Verts
—
PBR
—
Format
GLTF / OBJ
Seed: Lattice#901

Lattice

Enveloped gyroid, clipped to a bounded slab.

Tris
—
Verts
—
PBR
—
Format
GLTF / OBJ

Engine

Three generators, one deterministic function

Each generator takes a seed and a resolution and returns a standard three.js BufferGeometry with computed vertex normals and triplanar UVs. No textures, no HDR downloads, no model files.

01Gielis · logarithmic shells

Superformula

A generalised superellipse swept through three dimensions. The exponents run long on odd and even axes, so a single seed walks from a near-sphere to a spiky star to a pinched shell — the form behind seashells, egg shapes, and much of the biological curvature that reads as 'natural'.

( |x/a|ⁿᶜˡˢʸ |z/a|ⁿᶜʰˢᶜᵗ |ˣ/a|ᵐ )ᵉⁿ + ( |x/a|ⁿᶜˡˢʸ′ |z/a|ⁿᶜʰˢᶜᵗ′ |ˣ/a|ᵐ′ )ᵉⁿ′⁼ 0

02Triply periodic minimal surfaces

Gyroid / TPMS

A triply periodic minimal surface: the equation is periodic in all three axes with no overall repetition, so the result is an infinite lattice. We intersect it with a bounding envelope and polygonise the result with naive surface nets — watertight, manifold, and smooth enough to shade as metal.

sin x · cos y + sin y · cos z + sin z · cos x = t

03Topological ribbons

Harmonic Torus

A torus whose tube centre is displaced by a sum of harmonics along the major and minor angles, with fractal value-noise layered on top. The topology never changes — it is a ribbon that breathes, which is what makes it read as machined rather than grown.

c(θ,φ) = r(θ,φ) · n̂(θ) + Σ aᵏᵢ cos(kᵢθ + bᵢφ) + fbm

Developer API

The same engine, over HTTP

One endpoint. Authenticate with an API key in the x-artemaze-key header, pass a seed, choose a format. Each successful generation spends exactly one credit, and trial credits are always drawn down before purchased ones.

  • Keys are shown once and stored only as a SHA-256 hash.
  • format=json returns flat arrays; format=glb returns binary.
  • Rate limited per key; 402 when the balance is empty.
GET /api/v1/models/generate
curl "https://artemaze.com/api/v1/models/generate?seed=Matrix%23832&format=json" \
  -H "x-artemaze-key: amz_live_..."

# 200 OK — 1 credit spent
{
  "seed": "Matrix#832",
  "generator": "superformula",
  "vertexCount": 2745,
  "triangleCount": 5184,
  "position": [ 0.0, 1.284, 0.0, ... ],
  "normal":   [ 0.0, 1.0, 0.0, ... ],
  "index":    [ 0, 1, 2, ... ]
}