# Main JSON

**Sora** uses a simple JSON file to manage and integrate different streaming modules. You can easily configure new modules by editing this JSON file, adding details like the source name, URLs, and streaming settings.

**JSON Fields:**

<table><thead><tr><th width="186">Fields</th><th width="98">Type</th><th width="248">Description</th><th data-type="checkbox">Required?</th><th>Variables</th></tr></thead><tbody><tr><td>sourceName</td><td>string</td><td>Name of the source.</td><td>true</td><td>-</td></tr><tr><td>author</td><td>-</td><td>Information about the modules author, including name and icon.</td><td>true</td><td>-</td></tr><tr><td>name</td><td>string</td><td>Name of the author.</td><td>true</td><td>-</td></tr><tr><td>icon</td><td>string</td><td>Icon of the author.</td><td>true</td><td>-</td></tr><tr><td>iconUrl</td><td>string</td><td>URL to the modules icon.</td><td>true</td><td>-</td></tr><tr><td>version</td><td>integer</td><td>Version of the module.</td><td>true</td><td>-</td></tr><tr><td>language</td><td>string</td><td>Language of the module.</td><td>true</td><td>-</td></tr><tr><td>baseUrl</td><td>string</td><td>baseUrl of the source.</td><td>true</td><td>-</td></tr><tr><td>streamType</td><td>string</td><td>Stream type of the module.</td><td>true</td><td>HLS, MP4</td></tr><tr><td>quality</td><td>string</td><td>Quality of the stream.</td><td>true</td><td>360p, 720p, 1080p</td></tr><tr><td>searchBaseUrl</td><td>string</td><td>Search url of the source.<br><br>Make sure to include <strong><code>%s</code></strong> in the place where the search query will go.</td><td>true</td><td>%s</td></tr><tr><td>scriptUrl</td><td>string</td><td>Url to the raw link of the JavaScript file.</td><td>true</td><td>-</td></tr><tr><td>asyncJS</td><td>string</td><td>Set to true to load the script asynchronously.</td><td>false</td><td>true, false</td></tr><tr><td>streamAsyncJS</td><td>string</td><td>Set to true to only load the stream function asynchronously.</td><td>false</td><td>true, false</td></tr><tr><td>softsub</td><td>string</td><td>Set to true to load subtitles.</td><td>false</td><td>true, false</td></tr></tbody></table>

**Full format:**

{% code lineNumbers="true" %}

```json
{
   "sourceName": "YourSourceName",
   "iconUrl": "https://your-source.com/icon.png",
   "author": {
       "name": "AuthorName",
       "icon": "https://your-source.com/author-icon.png"
   },
   "version": "1.0.0",
   "language": "English (DUB)",
   "streamType": "HLS",
   "quality": "720p",
   "baseUrl": "https://api.your-source.com/",
   "searchBaseUrl": "https://your-source.com/search=%s",
   "scriptUrl": "https://your-source.com/script.js",
   "asyncJS": true,
   "streamAsyncJS": false.
   "softsub": true
}
```

{% endcode %}

**Example:**

{% code lineNumbers="true" %}

```json
{
   "sourceName": "Hianime",
   "iconUrl": "https://raw.githubusercontent.com/50n50/maisgay/refs/heads/main/hianime/icon.png",
   "author": {
       "name": "50/50",
       "icon": "https://encrypted-tbn0.gstatic.com/images?q=tbn:&s"
   },
   "version": "1.0.1",
   "language": "English (DUB)",
   "streamType": "HLS",
   "quality": "720p",
   "baseUrl": "https://api.animemundo.net/",
   "searchBaseUrl": "https://api.animemundo.net/api/v2/hianime/search?q=%s",
   "scriptUrl": "https://raw.githubusercontent.com/50n50/maisgay/refs/heads/main/hianime/hianime.js",
   "asyncJS": true
}
```

{% endcode %}


---

# 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://soradocs.gitbook.io/sora-documentation/main-json.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.
