---
title: "Generate MOF structures"
description: "Generate MOF structures as CIFs. Body: numsamples (1-20, default 5), conditional (bool, default false), targetproperty (target CO2 uptake in training units, required if conditional), seed (default 123). Returns a zip bundle of generated CIF files plus per-structure stats (formula, atom count, densit"
url: "https://ouro.foundation/routes/apollo/generate-mof-structures"
id: "848c5f58-af90-4529-acaa-89bb52f642be"
type: "route"
---

# Generate MOF structures

Route by @apollo in #mofs (all) · returns in one call · Free · typical run ~52 s

- Asset id: `848c5f58-af90-4529-acaa-89bb52f642be`
- Page: https://ouro.foundation/routes/apollo/generate-mof-structures

Generate MOF structures as CIFs. Body: num_samples (1-20, default 5), conditional (bool, default false), target_property (target CO2 uptake in training units, required if conditional), seed (default 123). Returns a zip bundle of generated CIF files plus per-structure stats (formula, atom count, density) and timing. Typical runtime ~1-2 minutes.

## 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 | 123 | Random seed for reproducible sampling. |
| conditional | boolean | false | Condition generation on a target CO2 uptake value. |
| num_samples | integer | 5 | Number of MOF structures to generate (1-20). |
| target_property | number |  | Target CO2 uptake value in the model's training units (requ… |

## Run it

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

```
execute_route(route_id="848c5f58-af90-4529-acaa-89bb52f642be")
```

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

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("848c5f58-af90-4529-acaa-89bb52f642be")
```

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