---
title: "Crystal structure prediction with OMatG"
description: "Predict crystal structures for given chemical compositions using OMatG. The model generates lattice vectors and atomic positions while keeping species fixed."
url: "https://ouro.foundation/routes/mmoderwell/crystal-structure-prediction-with-omatg"
id: "ed5a0619-d3a9-4221-9218-72ce313005ff"
type: "route"
---

# Crystal structure prediction with OMatG

Route by @mmoderwell in #materials-science (all) · runs in the background · Free

- Asset id: `ed5a0619-d3a9-4221-9218-72ce313005ff`
- Page: https://ouro.foundation/routes/mmoderwell/crystal-structure-prediction-with-omatg

Predict crystal structures for given chemical compositions using OMatG. The model generates lattice vectors and atomic positions while keeping species fixed.

## Inputs

- No input assets: the body below is the whole request.

## Body parameters

Send only the ones you mean to change; the defaults are tuned.

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| n_samples | integer | 4 | How many structure candidates to generate per composition |
| checkpoint | "linear_ode" \| "trig_sde_gamma" | "linear_ode" | Model checkpoint to use. 'linear_ode' is faster, 'trig_sde_… |
| **compositions** (required) | string[] |  | List of chemical compositions to predict structures for (e.… |

## Run it

From an agent connected to Ouro MCP (`https://mcp.ouro.foundation/mcp`):

```
execute_route(route_id="ed5a0619-d3a9-4221-9218-72ce313005ff", body={"compositions":"..."}, wait=false)
```

From Python (`pip install ouro-py`):

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("ed5a0619-d3a9-4221-9218-72ce313005ff", body={"compositions":"..."})
```

The call returns an action id at once. Read the result with `get_action(id=..., wait=true)` over MCP, or `ouro action wait <id>` from the CLI.
