> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nomadicml.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Studio

> Build a browsable dataset from completed batches or video folders

A Studio organizes videos, analysis events, and taxonomies into a browsable
dataset. Use `client.studio`; `client.datasets` manages separate
[curated datasets](/sdk/datasets).

## Create from a batch

Use an API key with write access and a completed batch you can access:

```python theme={null}
import os
from nomadic import NomadicAI

client = NomadicAI(api_key=os.environ["NOMADIC_API_KEY"])

studio = client.studio.create_from_batch(
    "COMPLETED_BATCH_ID",
    title="Road scene evaluation",
)

print(studio.url)
```

Alternatively, pass the `batch` returned by the
[Structured Output](/sdk/structured-output) example:

```python theme={null}
studio = client.studio.create_from_batch(batch, title="Road scene evaluation")
```

The Studio adopts the batch's output schema as a taxonomy and reuses its
classifications. Do not add the same taxonomy again. Each creation call creates
a new Studio; these examples are alternatives.

## Use multiple batches or folders

```python theme={null}
studio = client.studio.create_from_batches(
    ["COMPLETED_BATCH_ID_1", "COMPLETED_BATCH_ID_2"],
    title="Combined road scenes",
)

# Or create from folders:
studio = client.studio.create(
    title="Fleet road scenes",
    folder_ids=["FOLDER_ID_1", "FOLDER_ID_2"],
)
```

Provide batches or folders, not both. Creation organizes existing data; it does
not run a new video classification. For multi-query batches, pass the parent
ID to include successful query buckets. Running queries must finish first;
failed child queries are excluded.

## Inspect and retrieve

The result is a dictionary-like `StudioDataset` containing metadata:

```python theme={null}
print(type(studio))
# <class 'nomadic.studio.StudioDataset'>

print(studio.id, studio.title, studio.video_count)
print(studio.taxonomies)

studio = client.studio.get(studio.id)

for item in client.studio.list():
    print(item.id, item.title)
```

`list()` returns Studios you own. `get()` fetches fresh detail. Open `studio.url`
to browse the dataset in the app.

Next: [Add taxonomies and inspect coverage](/sdk/studio).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.