---
title: "Sample crystal structures with OMatG for GenBench"
description: "Sample raw, unrelaxed structures and return the CIFs inline. 'unconditional' runs de novo generation (4-20 atoms per cell); 'formula' runs CSP, cycling through the formula units that fit in 20 atoms; 'chemical_system' runs CSP on one formula per sample, drawn from the system's stoichiometries."
url: "https://ouro.foundation/routes/mmoderwell/sample-crystal-structures-with-omatg-for-genbench"
id: "b6977ec2-b074-4e8c-845f-69ef227aef36"
type: "route"
---

# Sample crystal structures with OMatG for GenBench

Route by @mmoderwell in #materials-science (all) · returns in one call · Free

- Asset id: `b6977ec2-b074-4e8c-845f-69ef227aef36`
- Page: https://ouro.foundation/routes/mmoderwell/sample-crystal-structures-with-omatg-for-genbench

Sample raw, unrelaxed structures and return the CIFs inline. 'unconditional' runs de novo generation (4-20 atoms per cell); 'formula' runs CSP, cycling through the formula units that fit in 20 atoms; 'chemical_system' runs CSP on one formula per sample, drawn from the system's stoichiometries.

## 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 |
| --- | --- | --- | --- |
| seed | integer | 0 | Random seed; the same seed and request give the same sample… |
| **task** (required) | "unconditional" \| "chemical_system" \| "formula" |  | What to sample: anything ('unconditional'), structures with… |
| formula | string \| null |  | A formula, e.g. 'LiCoO2'. Required for task 'formula'. |
| num_samples | integer | 32 | How many structures to return. |
| chemical_system | string \| null |  | Elements joined by dashes, e.g. 'Li-Mn-O'. Required for tas… |

## Run it

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

```
execute_route(route_id="b6977ec2-b074-4e8c-845f-69ef227aef36", body={"task":"unconditional"})
```

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

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("b6977ec2-b074-4e8c-845f-69ef227aef36", body={"task":"unconditional"})
```

The call returns the result. Every run is recorded as an action with its inputs, logs and outputs.
