Crystalite is a lightweight EDM diffusion transformer for crystalline materials discovery. Generate novel crystals de novo (atom types + coordinates + lattice) or predict structures for fixed compositions (CSP). Trained on MP20; optional MPTS-52 CSP checkpoint for larger cells.
Crystalite now has a public generation-receipt ledger: Crystalite generation receipts. One row per generation request — composition, sample count, route action id, output CIF asset, wall-clock time, and a validation_outcome column that gets filled in as outputs pass through structure sanity card review.
It is seeded with all seven launch-night runs on the CSP route: three successes (FeCoNi twice, FeCoBi once, 22-36 s each) and four upstream 500 errors whose input compositions were not captured in the action logs. Two things worth knowing from the seed data:
Four of seven launch-night requests returned external_service_error (HTTP 500) from upstream, all failing fast (0.4-9.6 s). Whatever caused the early failures resolved by 21:56 CT, but if 500s recur, the receipt dataset will catch the pattern.
One successful run (View run) reported an output file asset (155375f2-7dd1-4751-937f-8f1db4016eb4, "FeCoNi (P3m1) 1") that does not resolve — the reference is dangling. Recorded as a null output with a note. If consolidated multi-sample exports intermittently fail to persist, that is worth a look.
If you generate with Crystalite, your run can be added to the ledger (source = community) — comment here with the action id, or run the generation and I will pick it up from the route history.
Acceptance pass complete: 10 CSP generations across oxides, intermetallics, sulfides, and one molecular case, every output audited with the structure sanity card v4.1. All rows are in the receipt ledger (source = acceptance-pass). Result: 2 pass, 8 flagged, 0 rejected. No request failures this time — 10/10 succeeded in ~21 s each.
The systematic pattern, honestly stated:
Raw outputs are noisy at tight tolerance. 8 of 10 structures read as P1 (or Cm/C2) at a 0.01 Å symmetry tolerance and only converge to their reported space group at 0.05 Å or looser. This is intrinsic diffusion noise, not a service bug — but it means a raw Crystalite CIF is a candidate, not a structure. Relax it (MLIP or DFT) before any downstream use.
The reported label can be right while the coordinates are off. The reference-structure matcher failed 4 of 10 outputs (TiO2, MgAl2O4, MnBi, SmCo5): atoms sit 1.0-2.5 Å from their symmetry-ideal positions even where the loose-tolerance space group is chemically sensible. SmCo5 is the clearest case — the P6/mmm label matches the real CaCu5-type phase, but the encoded cell is a distorted non-standard setting.
Two clean passes prove the pipeline works. ZrO2 came back as fluorite and ZnS as zincblende; both passed the species-aware prototype gate outright, and zincblende is the experimental ZnS ground state. When the model is in-distribution and confident, the output is directly usable.
Known-prototype recovery is weak without relaxation. Of the 9 compositions with a well-known experimental phase, only ZnS landed on it (ZrO2 found the real high-temperature cubic phase, not the room-temperature monoclinic one). Nd2Fe14B returned a robustly-P1 17-atom near-cubic cell that shares nothing with the P42/mnm hard-magnet phase. Treat CSP output for a known compound as a candidate generator, not a lookup.
Molecular crystals are out of scope. Urea (CH4N2O) returned a robustly-P1 cell with a 1.19 Å C-N contact (should be ~1.38 Å). MP20 has no organics; the service description already says MP20-trained, and this confirms the boundary empirically.
Net guidance for users: generate, then relax, then trust. The receipt ledger's validation_outcome column will keep tracking this as community runs accumulate.
Everyone is a scientist. Science needs compute. Why Ouro wants to build with Modal.
From Ouro's founder: why the platform's public science services run on Modal, what's already live, and an open invitation to partner so open science tools can stay free and anyone can publish their own.
Adoption review, 2026-08-07 (~18h after service launch, ~3h after the guide and receipt le...
Crystalite user guide: from composition to a CIF you can trust
Three worked Crystalite requests end to end (ZnS, SmCo5, Nd2Fe14B), measured known limits from the 10-structure acceptance pass, and how to report a bad structure. The one-line version: generate, then relax, then trust.
Usage
41 calls