> For the complete documentation index, see [llms.txt](https://bonsai-docs.gitbook.io/bonsai-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bonsai-docs.gitbook.io/bonsai-docs/bonsai-radio/configuration/creating-radio-stations.md).

# Creating Radio Stations

## Creating Radio Stations

Adding a new radio station only takes a few steps.

Once the station has been added to `config.lua`, simply add your music, run the media scanner, and restart the resource.

***

## Step 1 - Copy an Existing Station

Open:

```
config.lua
```

Navigate to:

```lua
Config.Stations
```

Copy an existing station and paste it underneath the last station.

For example:

```lua
RADIO_01_CLASS_ROCK = {
    ...
},
```

{% hint style="info" %}
Every station already contains all supported settings. Copying an existing station is the easiest way to create a new one.
{% endhint %}

***

## Step 2 - Choose a Station ID

Every station uses a unique GTA radio ID.

Example:

```lua
RADIO_01_CLASS_ROCK
```

If you're replacing an unused GTA station, simply reuse one of the disabled stations already included in the configuration.

For example:

```lua
RADIO_13_JAZZ
RADIO_14_DANCE_02
RADIO_20_THELAB
```

{% hint style="warning" %}
Do not create duplicate station IDs. Every station inside `Config.Stations` must have a unique ID.
{% endhint %}

***

## Step 3 - Configure the Station

Change the basic station information.

```lua
label = 'My Radio',
icon = 'images/stations/myradio.jpg',
folder = 'audio/myradio',
```

#### label

The name displayed in the radio wheel.

Example:

```lua
label = 'Bonsai FM'
```

***

#### icon

The station logo shown inside the radio wheel.

Example:

```lua
icon = 'images/stations/bonsaifm.jpg'
```

Recommended image size:

```
512 × 512 pixels
```

***

#### folder

The folder containing all music for the station.

Example:

```lua
folder = 'audio/bonsaifm'
```

Create the matching folder inside your resource.

***

## Step 4 - Enable the Station

Set:

```lua
enabled = true
```

Disabled stations will not broadcast.

***

## Step 5 - Add the Station to the Radio Wheel

Adding a station to `Config.Stations` does **not** automatically make it visible in the radio wheel.

You also need to update:

```lua
Config.WheelStationEnabled
```

Example:

```lua
RADIO_13_JAZZ = true
```

This controls whether the station is visible in the radio wheel.

***

Next, add the station to:

```lua
Config.WheelStations
```

Example:

```lua
Config.WheelStations = {
    ...
    'RADIO_13_JAZZ',
}
```

The order inside this table determines the order shown in the radio wheel.

{% hint style="warning" %}
If a station exists in `Config.Stations` but is missing from `Config.WheelStations`, it will not appear in the wheel.
{% endhint %}

***

## Step 6 - Add Metadata (Optional)

Open:

```
metadata_template.lua
```

Copy the generated metadata entries into the station's `metadata` table inside:

```
config.lua
```

Then edit the:

* title
* artist
* cover

for each song.

{% hint style="warning" %}
Do not edit `metadata_template.lua` directly.\
It is regenerated every time the media scanner runs.
{% endhint %}

***

## Step 7 - Restart the Resource

Restart Bonsai Radio:

```
restart bonsai_radio
```

Your new station should now appear in the radio wheel and begin broadcasting.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://bonsai-docs.gitbook.io/bonsai-docs/bonsai-radio/configuration/creating-radio-stations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
