# W3U

`w3u` is a new playlist format that aims to provide more features and be simpler than `m3u`. It is based on the `JSON` format, which makes things easier to edit with a cleaner structure.

These are the fields that we currently support for `w3u` playlists:

## Root fields

| Name     | Type       | Required | Description                                                             |
| -------- | ---------- | -------- | ----------------------------------------------------------------------- |
| contact  | String     | No       | The author's email address                                              |
| epg      | String     | No       | The EPG URL to load and use for this playlist                           |
| groups   | Array      | No       | The list of groups (categories)                                         |
| image    | String     | No       | The image URL of the playlist                                           |
| **name** | **String** | **Yes**  | **The name of the playlist**                                            |
| stations | Array      | No       | The list of media links                                                 |
| telegram | String     | No       | The Telegram contact username, without `@`                              |
| url      | String     | No       | The URL of this playlist. This option allows the app to update the list |

## Group fields

| Name       | Type       | Required | Description                                                                                                                          |
| ---------- | ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| groups     | Array      | No       | The list of groups (categories)                                                                                                      |
| image      | String     | No       | The image URL of the group                                                                                                           |
| imageScale | String     | No       | Determines how the image will be displayed. Possible values are:  `fitCenter`, `fitEnd`, `fitStart`, `fitXY`, `center`, `centerCrop` |
| info       | String     | No       | The information to show to the user inside this group                                                                                |
| **name**   | **String** | **Yes**  | **The name of the group**                                                                                                            |
| stations   | Array      | No       | The list of video links                                                                                                              |
| url        | String     | No       | The URL of a remote playlist that will be loaded when opening this group                                                             |

## Station fields

| Name       | Type       | Required | Description                                                                                                                                                      |
| ---------- | ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| audio      | Boolean    | No       | Determines if the station is an audio stream. When no value is specified, the app tries to auto-detect the stream type                                           |
| desktop    | Boolean    | No       | Determines if the app should emulate a desktop web client when loading the URL                                                                                   |
| embed      | Boolean    | No       | Determines if the URL should be opened in an embedded web browser instead of the video player                                                                    |
| epgId      | String     | No       | The EPG ID of this station                                                                                                                                       |
| headers    | Map        | No       | The headers to be sent in HTTP requests. This only affects to requests related with the media playback                                                           |
| host       | Boolean    | No       | Determines if the URL is not a video but a website that contains a video that needs to be fetched. When no value is specified, the app tries to auto-detect this |
| hostParser | String     | No       | Determines the host parser to use. When no value is specified, all available parsers are used. Possible values are: `web`                                        |
| image      | String     | No       | The image URL of the station                                                                                                                                     |
| imageScale | String     | No       | Determines how the image will be displayed. Possible values are:  `fitCenter`, `fitEnd`, `fitStart`, `fitXY`, `center`, `centerCrop`                             |
| isHost     | Boolean    | No       | Alias for `host`                                                                                                                                                 |
| **name**   | **String** | **Yes**  | **The name of the station**                                                                                                                                      |
| referer    | String     | No       | Determines the referrer to send in HTTP requests. This value affects both the media playback and the host parsing                                                |
| **url**    | **String** | **Yes**  | **The URL to be loaded**                                                                                                                                         |
| userAgent  | String     | No       | The user agent to use when loading HTTP URLs                                                                                                                     |


---

# Agent Instructions: 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:

```
GET https://docs.dimplay.app/playlists/w3u.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
