> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.conductorquantum.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.conductorquantum.com/_mcp/server.

# Quickstart

## Run your first model

### Generate API key

[Sign in and create a new API key](/control/getting-started/api-keys). Remember, your API key is your access secret - keep it safe with environment variables.

### Install package

Install the Conductor Quantum SDK.

**`pip`**

```bash title="pip"
pip install conductorquantum
```

**`poetry`**

```bash title="poetry"
poetry add conductorquantum
```

**`uv`**

```bash title="uv"
uv add conductorquantum
```

### Run your first model

**`Python`**

```python title="Python"
from conductorquantum import ConductorQuantum

client = ConductorQuantum(
    token="YOUR_TOKEN",
)

with open("path/to/file.npy", "rb") as f:
    client.control.models.run(
        model="coulomb-blockade-peak-detector-v2",
        data=f,
    )
```

**`cURL`**

```curl title="cURL"
curl -X POST https://api.conductorquantum.com/v0/models \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: multipart/form-data" \
    -F model="coulomb-blockade-peak-detector-v2" \
    -F data=@<file1>
```

When you have multiple traces, `coulomb-blockade-peak-detector-v2` also supports batching through `client.control.models.batch.run(...)`.

**`Python`**

```python title="Python"
import numpy as np
from conductorquantum import ConductorQuantum

client = ConductorQuantum(
    token="YOUR_TOKEN",
)

trace_a = ...
trace_b = ...
batch = np.stack([trace_a, trace_b])

client.control.models.batch.run(
    model="coulomb-blockade-peak-detector-v2",
    data=batch,
)
```