{
  "opencollection": "1.0.0",
  "info": {
    "name": "LALAL.AI API",
    "version": "1.1.0"
  },
  "items": [
    {
      "info": {
        "name": "Common",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Upload a file to the server.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/upload/",
            "headers": [
              {
                "name": "Content-Disposition",
                "value": "attachment; filename=song.mp3"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    The uploaded file in other endpoints is called a \"source file\".\n    You can use the source file ID from the response to create split tasks.\n    The file will be deleted when the expiration time from the response is reached.\n    Upload limit is 10GB per request.\n    "
        },
        {
          "info": {
            "name": "Check the status of a task by id",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/check/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    This endpoint allows you to check the status of a specific task by its ID.\n    Checking is only possible within 24h after task creation, otherwise an error will be returned.\n    The current rate limit for this endpoint is 30 requests per minute. This limit may be increased in the future.\n    "
        },
        {
          "info": {
            "name": "Cancel tasks by id",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/cancel/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "Cancel tasks by id"
        },
        {
          "info": {
            "name": "Cancel all user tasks in progress state",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/cancel/all/",
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "Cancel all user tasks in progress state"
        },
        {
          "info": {
            "name": "Delete source file and resulting tracks from storage.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/delete/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    WARNING: All running tasks related to the source file will be cancelled. Do not call delete on source files with processing tasks.\n    This only deletes the media files, not the database records.\n    The files are removed from storage immediately, but download links will remain valid for one hour after deletion due to CDN caching.\n    The /check/ endpoint will still return a valid check result for 24 hours, but the download links will lead to a 404 error after deletion.\n    "
        },
        {
          "info": {
            "name": "Get number of processing minutes available to consume.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/limits/minutes_left/",
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "Get number of processing minutes available to consume."
        }
      ]
    },
    {
      "info": {
        "name": "Stem Separation",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Split a file into stems using the stem separator presets",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/stem_separator/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    Result of /check/ includes 2 tracks:\n    - stem:{\"type\":\"stem\", \"label\":\"<stem_name>\", \"url\":\"...\"}\n    - without stem:{\"type\":\"back\", \"label\":\"no_<stem_name>\", \"url\":\"...\"}\n\n    LEAD_BACK VOCALS:\n    For 'vocals' stem you can use parameter multivocal=\"lead_back\" and receive both lead and backing vocals as separate stems.\n    Result of /check/ includes 4 tracks. Backing vocals track is optional and could be suppressed if not found in the audio:\n    lead vocals:{\"type\":\"stem\", \"label\":\"vocal"
        },
        {
          "info": {
            "name": "Clean voice from background music",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/demuser/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    Typical usage case - is voice with background music.\n    Demuser will separate voice (stem) and music (back).\n    Result of /check/ includes 2 tracks:\n    - stem:{\"type\":\"stem\", \"label\":\"music\", \"url\":\"...\"}\n    - back:{\"type\":\"back\", \"label\":\"no_music\", \"url\":\"...\"}\n    "
        },
        {
          "info": {
            "name": "Clean voice from background noise",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/voice_clean/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    Typical usage case - is voice with background noise.\n    Voice clean will separate clean voice (stem) and noise (back).\n    Result of /check/ includes 2 tracks:\n    - stem:{\"type\":\"stem\", \"label\":\"voice\", \"url\":\"...\"}\n    - back:{\"type\":\"back\", \"label\":\"no_voice\", \"url\":\"...\"}\n    "
        },
        {
          "info": {
            "name": "Split a file into multiple stems in one request (multistem feature)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/multistem/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    WARNING: The stems are internally extracted one by one, so the processing time is proportional to the number of stems selected.\n\n    You will be charged an equal amount of minutes for each stem.\n    For example, if you have an audio file with a duration of 1 minute,\n    with stem_list=[\"vocals\", \"drum\"], you will be charged 2 minutes (1 minute for \"vocals\", 1 minute for \"drum\").\n    At the /check/ endpoint you will receive <number_of_stems> tracks with 1 additional track which is the source"
        }
      ]
    },
    {
      "info": {
        "name": "Batch Stem Separation",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Split multiple files into stems using the stem separator presets",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/batch/stem_separator/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    Batch version of /split/stem_separator/. Accepts a list of split parameters and returns results for each item.\n    Each item is processed independently - if one fails, others will still be processed.\n    Results are returned in the same order as input items.\n\n    Each result contains either:\n    - success: {\"status\": \"success\", \"task_id\": \"...\", \"source_id\": \"...\"}\n    - error: {\"status\": \"error\", \"error\": \"...\", \"code\": \"...\", \"source_id\": \"...\"}\n    "
        },
        {
          "info": {
            "name": "Clean voice from background music for multiple files",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/batch/demuser/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    Batch version of /split/demuser/. Accepts a list of split parameters and returns results for each item.\n    Each item is processed independently - if one fails, others will still be processed.\n    Results are returned in the same order as input items.\n\n    Each result contains either:\n    - success: {\"status\": \"success\", \"task_id\": \"...\", \"source_id\": \"...\"}\n    - error: {\"status\": \"error\", \"error\": \"...\", \"code\": \"...\", \"source_id\": \"...\"}\n    "
        },
        {
          "info": {
            "name": "Clean voice from background noise for multiple files",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/split/batch/voice_clean/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    Batch version of /split/voice_clean/. Accepts a list of split parameters and returns results for each item.\n    Each item is processed independently - if one fails, others will still be processed.\n    Results are returned in the same order as input items.\n\n    Each result contains either:\n    - success: {\"status\": \"success\", \"task_id\": \"...\", \"source_id\": \"...\"}\n    - error: {\"status\": \"error\", \"error\": \"...\", \"code\": \"...\", \"source_id\": \"...\"}\n    "
        }
      ]
    },
    {
      "info": {
        "name": "Voice Change",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Changes voice in the audio file using voice pack",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/change_voice/",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "\n    For 'voice_pack_id' parameter use 'pack_id' from /voice_packs/list/ endpoint or one of legal packs: ['ALEX_KAYE', 'STASIA_FAYE', 'NICOLAAS_HAAS', 'NIK_ZEL', 'OLIA_CHEBO', 'YVAR_DE_GROOT', 'VETRANA']\n\n    Result of /check/ includes 1 track with label 'converted_mix'.\n    {\"label\":\"converted_mix\", \"type\":\"back\", \"url\":\"...\"}\n    "
        },
        {
          "info": {
            "name": "Lists voice packs available to the user",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.lalal.ai/api/v1/voice_packs/list/",
            "auth": {
              "type": "apikey",
              "key": "X-License-Key",
              "value": "{{X-License-Key}}",
              "placement": "header"
            }
          },
          "docs": "Helps to find pack_id for /change_voice/ endpoint."
        }
      ]
    }
  ],
  "bundled": true
}