MoC-JEPAMoC-JEPA

API Reference

MoC-JEPA is a pretrained framework — Moment-driven Charge Density Joint Embedding Predictive Architecture — that maps a structure into per-node latents, then into a charge-density grid you can drop into PySCF as an SCF initial guess. Billing is metered on Processed Atoms for every density prediction. The API is operated by 本征实验室 (Braketlab Inc.). All requests go over HTTPS to https://api.moc-jepa.ai/v1.

  1. 01

    Upload structure

    Crystal .cif / .xyz, or molecule .pdb / .xyz.

  2. 02

    Encode latents

    Backbone returns per-node latents as .h5.

  3. 03

    Predict density

    DEN head writes .cube (default) or .chgcar.

  4. 04

    Accelerate SCF

    Feed the grid to PySCF as init_guess.

Authentication

Authenticate with a secret key in the Authorization header. Generate keys from your dashboard. Never expose a secret key in client-side code.

Authorization: Bearer moc-...

Pretrained Backbones

Two independently pretrained backbones share the same architecture and versioning rule. Pick the one that matches your chemistry.

MoC-JEPA-M1-v1.0.pt

moc-jepa-m1

Pretrained on crystal datasets in the Materials Project family. Built for solid-state chemistry and condensed-matter problems.

Inputs .cif / .xyz · crystal chemistry, materials discovery, periodic systems

MoC-JEPA-O1-v1.0.pt

moc-jepa-o1

Pretrained on single-molecule organic datasets with more complex covalent topologies. Built for drug-discovery workflows.

Inputs .pdb / .xyz · drug discovery, small-molecule screening, ligand design

Density Prediction Models

Density is the shipping application. Each DEN head is bound to one backbone major line and is the model you pay API tokens against. Future heads (Band Gap Prediction, Potential Energy Prediction) will reuse the same slot.

MoC-JEPA-M1-DEN-v1.0.pt

moc-jepa-m1-den

Recommended density head bound to MoC-JEPA-M1-v1.0.pt. Predicts the charge-density grid from per-node latents.

Default .cube · optional .chgcar · pin moc-jepa-m1-den-v1.0

MoC-JEPA-O1-DEN-v1.0.pt

moc-jepa-o1-den

Recommended density head bound to MoC-JEPA-O1-v1.0.pt. Predicts the charge-density grid from per-node latents.

Default .cube · optional .chgcar · pin moc-jepa-o1-den-v1.0

Naming & Versioning

Checkpoints follow a single pattern. The three-letter task slot is reserved so new applications can land without renaming the backbone.

MoC-JEPA-{BACKBONE}[-{TASK}]-v{major}.{minor}.pt
  • major — latent space is not backward compatible; every downstream head must be retrained.
  • minor — same architecture, more or cleaner data; latents stay compatible.
  • A head at DEN-v1.x binds to backbone major line v1.x.
  • API ids are the lowercase kebab form. Unpinned ids (moc-jepa-m1-den) resolve to the latest minor within the current major. Pin with moc-jepa-m1-den-v1.0.
  • Reserved task codes: GAP Band Gap Prediction PES Potential Energy Prediction — documented, not shipping.
KindCheckpointMeaning
BackboneMoC-JEPA-M1-v1.0.ptMaterials pretrained model, first major line
BackboneMoC-JEPA-O1-v1.0.ptOrganic pretrained model, first major line
Task headMoC-JEPA-M1-DEN-v1.0.ptDensity head bound to M1 v1.x
Task headMoC-JEPA-O1-DEN-v1.0.ptDensity head bound to O1 v1.x

Encode Latents

POST/v1/latents

Maps an input structure into the MoC-JEPA latent space and returns per-node latents as an .h5 file. The model is equivariant under the Euclidean group E(3), so for any rotation R the latents transform as z(Rx) = R · z(x).

ρ(r) = Σ_i |ψ_i(r)|² → z = f_θ( {Z_i, r_i} ) ∈ ℝ^(N×256)

Each Processed Atom yields a 256-dimensional latent vector. The full tensor has shape (N, 256) and dtype float32.

Request body

ParameterTypeDescription
modelrequiredstringBackbone id. Currently moc-jepa-m1 or moc-jepa-o1.
structurerequiredfileCrystal geometry as .cif / .xyz, or molecular geometry as .pdb / .xyz.

Predict Density

POST/v1/density

Runs the recommended Density Prediction Model on a latents file and returns a charge-density grid. This is the billable call: one Processed Atom is counted per atom in the encoded structure.

Request body

ParameterTypeDescription
modelstringDensity-head id. Defaults to the recommended DEN head bound to the latents' backbone. Currently moc-jepa-m1-den or moc-jepa-o1-den. Pin with a version suffix, e.g. moc-jepa-m1-den-v1.0.
latentsrequiredfilePer-node latents .h5 from POST /v1/latents. Alternatively pass latents_id from a previous encode response.
latents_idstringServer-side handle returned by /v1/latents. Use instead of re-uploading the .h5 file.
formatstringOutput grid format: cube (default) or chgcar.

One-shot Density

POST/v1/density:direct

Convenience endpoint that encodes latents and predicts density in one request. Equivalent to calling /v1/latents then /v1/density. Prefer the two-step path when you want to reuse latents across multiple heads.

Request body

ParameterTypeDescription
modelrequiredstringDensity-head id (moc-jepa-m1-den or moc-jepa-o1-den). The matching backbone is selected automatically.
structurerequiredfileSame structure formats as /v1/latents.
formatstringOutput grid format: cube (default) or chgcar.

Accelerating SCF with PySCF

Download the density grid, then initialize the SCF density matrix from that cube instead of a minao or atomic guess. The helper projects the real-space density onto the chosen basis and returns a density matrix you pass to mf.kernel.

  1. Call /v1/density or /v1/density:direct and save the .cube.
  2. Build the PySCF molecule with the same geometry you uploaded.
  3. Construct dm0 via initial_guess_from_cube.
  4. Run mf.kernel(dm0=dm0).

File Formats

StageFormatsNotes
Crystal input.cif / .xyzUse with moc-jepa-m1
Molecule input.pdb / .xyzUse with moc-jepa-o1
Latents.h5Per-node float32 tensor, shape (N, 256)
Charge density.cube / .chgcarcube is the default; chgcar for periodic cells

Rate Limits

Limits are enforced per Processed Atom, not per request. Both /v1/latents and /v1/density count against the same quota. The default tier allows 10,000,000 Processed Atoms per month and 200 requests per minute. Contact us for research-scale throughput.

Errors

MoC-JEPA uses conventional HTTP response codes. 2xx indicates success, 4xx a client error (e.g. malformed structure or unsupported format), and 5xx an error on our side.