cobalt/docs/API.md
wukko 527ca29215 6.0
in this commit:
- enhanced css (hover border, less annoying donate highlight, checkbox width fix for mobile, more consistent color scheme)
- addition of an urgent notice (in this case it mentions all issues related to old infra being fixed)
- updated twitter picker test
- changelog for 6.0
- removed partial translations
2023-06-07 21:41:06 +06:00

87 lines
5.6 KiB
Markdown

# cobalt API Documentation
This document provides info about methods and acceptable variables for all cobalt API requests.<br>
```
⚠️ Main API instance has moved to https://co.wuk.sh/
Previous API domain will stop redirecting users to correct API instance after July 25th.
Make sure to update your projects in time.
```
## POST: ``/api/json``
Main processing endpoint.<br>
Request Body Type: ``application/json``<br>
Response Body Type: ``application/json``
### Request Body Variables
| key | type | variables | default | description |
|:----------------|:--------|:----------------------------------|:----------|:-------------------------------------------------------------------------------|
| url | string | Sharable URL encoded as URI | ``null`` | **Must** be included in every request. |
| vCodec | string | ``h264 / av1 / vp9`` | ``h264`` | Applies only to YouTube downloads. ``h264`` is recommended for phones. |
| vQuality | string | ``144 / ... / 2160 / max`` | ``720`` | ``720`` quality is recommended for phones. |
| aFormat | string | ``best / mp3 / ogg / wav / opus`` | ``mp3`` | |
| isAudioOnly | boolean | ``true / false`` | ``false`` | |
| isNoTTWatermark | boolean | ``true / false`` | ``false`` | Changes whether downloaded TikTok & Douyin videos have watermarks. |
| isTTFullAudio | boolean | ``true / false`` | ``false`` | Enables download of original sound used in a TikTok video. |
| isAudioMuted | boolean | ``true / false`` | ``false`` | Disables audio track in video downloads. |
| dubLang | boolean | ``true / false`` | ``false`` | Backend uses Accept-Language for YouTube video audio tracks when ``true``. |
### Response Body Variables
| key | type | variables |
|:-----------|:-------|:--------------------------------------------------------------|
| status | string | ``error / redirect / stream / success / rate-limit / picker`` |
| text | string | Text |
| url | string | Direct link to a file / link to cobalt's stream |
| pickerType | string | ``various / images`` |
| picker | array | Array of picker items |
| audio | string | Direct link to a file / link to cobalt's stream |
### Picker Item Variables
Item type: ``object``
| key | type | variables | description |
|:-----------|:-------|:------------------------------------------------|:--------------------------------------------|
| type | string | ``video`` | Used only if ``pickerType`` is ``various``. |
| url | string | Direct link to a file / link to cobalt's stream | |
| thumb | string | Item thumbnail that's displayed in the picker | Used only for ``video`` type. |
## GET: ``/api/stream``
Content live render streaming endpoint.<br>
### Request Query Variables
| key | variables | description |
|:----|:-----------------|:-------------------------------------------------------------------------------------------------------------------------------|
| p | ``1`` | Used for probing the rate limit. |
| t | Stream token | Unique stream ID. Used for retrieving cached stream info data. |
| h | HMAC | Hashed combination of: (hashed) ip address, stream token, expiry timestamp, and service name. Used for verification of stream. |
| e | Expiry timestamp | |
## GET: ``/api/onDemand``
On-demand website element loading. Currently used only for older changelogs.<br>
### Request Query Variables
| key | variables | description |
|:--------|:----------|:---------------------------------------|
| blockId | ``0`` | Block ID to be rendered on the server. |
### Response Body Variables
| key | type | variables |
|:-------|:-------|:-----------------------------|
| status | string | ``error / success`` |
| text | string | Error text or rendered block |
## GET: ``/api/serverInfo``
Returns current basic server info.<br>
Response Body Type: ``application/json``
### Response Body Variables
| key | type | variables |
|:----------|:-------|:------------------|
| version | string | cobalt version |
| commit | string | Git commit |
| branch | string | Git branch |
| name | string | Server name |
| url | string | Server url |
| cors | string | CORS status |
| startTime | string | Server start time |