# cobalt API Documentation This document provides info about methods and acceptable variables for all cobalt API requests.
``` ⚠️ Main API instance has moved to https://co.wuk.sh/ Make sure your projects use the correct API domain. ``` ## POST: ``/api/json`` Main processing endpoint.
Request Body Type: ``application/json``
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`` | | | ``filenamePattern`` | ``boolean`` | ``classic / pretty / basic / nerdy`` | ``classic`` | Changes the way files are named. Previews can be seen in the web app. | | ``isAudioOnly`` | ``boolean`` | ``true / false`` | ``false`` | | | ``isNoTTWatermark`` | ``boolean`` | ``true / false`` | ``false`` | Changes whether downloaded TikTok 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``. | | ``disableMetadata`` | ``boolean`` | ``true / false`` | ``false`` | Disables file metadata when set to ``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 live render | | ``pickerType`` | ``string`` | ``various / images`` | | ``picker`` | ``array`` | Array of picker items | | ``audio`` | ``string`` | Direct link to a file / link to cobalt's live render | ### 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 live render | | | ``thumb`` | ``string`` | Item thumbnail that's displayed in the picker | Used only for ``video`` type. | ## GET: ``/api/stream`` Content live render streaming endpoint.
### Request Query Variables | key | variables | description | |:--------|:-----------------|:-------------------------------------------------------------------------------------------------------------------------------| | ``p`` | ``1`` | Used for probing whether user is rate limited. | | ``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/serverInfo`` Returns current basic server info.
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`` | ``int`` | CORS status | | ``startTime`` | ``string`` | Server start time |