MVSEP Logo
  • Home
  • News
  • Plans
  • Demo
  • FAQ
  • Create Account
  • Login

Get started

The MVSEP API provides programmatic access to create a separation, return the results, get site information and control user capabilities.

To use this API, you need an API key. You are not logged in, please login to get your API token.

Examples in Python: https://github.com/ZFTurbo/MVSep-API-Examples

Webhooks can be setup here: Webhooks Page

Note that Premium users can request up to 10 concurrent jobs, while non-Premium users can only request 1 concurrent job.

Separation activity

create separation

To create separation you need to make a POST call to the following url:
https://mvsep.com/api/separation/create


QUERY PARAMETERS

Field Type Description
api_token String Your API key
audiofile Binary Audiofile to be processed. Not required if url parameter is set
url String Link to the audiofile. Not required if audiofile parameter is set
remote_type String (optional) Remote type of the audiofile. Defaults to direct. Not required if audiofile parameter is set. Supported types are direct (Direct Download), mega (MEGA), drive (Google Drive), dropbox (Dropbox)
sep_type Integer (optional) Separation Type, defaults to 20. This is the separation type ID, refer to the GET SEPARATION TYPES section for more information.
add_opt1 String (optional) Separation Type first additional field
add_opt2 String (optional) Separation Type second additional field
add_opt3 String (optional) Separation Type third additional field
output_format Integer (optional) output format, defaults to 0 (mp3 (320kbps))
is_demo Boolean (optional) should the separation be published to demo page, defaults to false

Separation type (sep_type) and additional fields (add_opt1, add_opt2, ...) values

Name Value Additional fields
Ensemble (vocals, instrum) 26 Key: add_opt1
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include intermediate results and max_fft, min_fft

Key: add_opt2
Name: Model Type
Options:
  • 1 - SDR Vocals 10.44 (MDX23C, VitLarge23, Demucs4HT)
  • 2 - SDR Vocals 10.75 (MDX23C, BS Roformer (v1), VitLarge23)
  • 3 - SDR Vocals 11.06 (MDX23C, BS Roformer (viperx))
  • 4 - SDR Vocals 11.33 (MDX23C, BS Roformer (finetuned))
  • 5 - SDR Vocals 11.50 (Mel Roformer and BS Roformer)
  • 6 - SDR Vocals 11.61 (Mel Roformer, BS Roformer and SCNet XL) (default)
Ensemble (vocals, instrum, bass, drums, other) 28 Key: add_opt1
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include intermediate results and max_fft, min_fft

Key: add_opt2
Name: Model Type
Options:
  • 1 - SDR average: 11.21 (v. 2023.09.01)
  • 2 - SDR average: 11.87 (v. 2024.03.08)
  • 3 - SDR average: 12.03 (v. 2024.03.28)
  • 4 - SDR average: 12.17 (v. 2024.04.04)
  • 5 - SDR average: 12.34 (v. 2024.05.21)
  • 6 - SDR average: 12.66 (v. 2024.07.14)
  • 7 - SDR average: 12.76 (v. 2024.08.15)
  • 8 - SDR average: 12.84 (v. 2024.10.08)
  • 9 - SDR average: 13.01 (v. 2024.12.20)
  • 10 - SDR average: 13.07 (v. 2024.12.28) (default)
Ensemble All-In (vocals, bass, drums, piano, guitar, lead/back vocals, other) 30 Key: add_opt1
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include intermediate results and max_fft, min_fft

Key: add_opt2
Name: Model Type
Options:
  • 1 - SDR average: 11.21 (v. 2023.09.01)
  • 2 - SDR average: 11.87 (v. 2024.03.08)
  • 3 - SDR average: 12.03 (v. 2024.03.28)
  • 4 - SDR average: 12.17 (v. 2024.04.04)
  • 5 - SDR average: 12.32 (v. 2024.05.21)
  • 6 - SDR average: 12.66 (v. 2024.07.14)
  • 7 - SDR average: 12.76 (v. 2024.08.15)
  • 8 - SDR average: 12.84 (v. 2024.10.08)
  • 9 - SDR average: 13.01 (v. 2024.12.20)
  • 10 - SDR average: 13.07 (v. 2024.12.28) (default)
Demucs4 HT (vocals, drums, bass, other) 20 Key: add_opt1
Name: Model type
Options:
  • 0 - htdemucs_ft (High Quality, Slow)
  • 1 - htdemucs (Good Quality, Fast) (default)
  • 2 - htdemucs_6s (6 stems, additional piano and guitar)
BS Roformer (vocals, instrumental) 40 Key: add_opt1
Name: Vocal model type
Options:
  • 3 - ver. 2024.02 (SDR vocals: 10.42, SDR instrum: 16.73)
  • 4 - viperx edition (SDR vocals: 10.87, SDR instrum: 17.17)
  • 5 - ver 2024.04 (SDR vocals: 11.24, SDR instrum: 17.55)
  • 29 - ver 2024.08 (SDR vocals: 11.31, SDR instrum: 17.62) (default)
MelBand Roformer (vocals, instrumental) 48 Key: add_opt1
Name: Vocal model type
Options:
  • 0 - Kimberley Jensen edition (SDR vocals: 11.01, SDR instrum: 17.32)
  • 1 - ver 2024.08 (SDR vocals: 11.17, SDR instrum: 17.48)
  • 2 - Bas Curtiz edition (SDR vocals: 11.18, SDR instrum: 17.49)
  • 3 - unwa Instrumental v1 (SDR vocals: 10.24, SDR instrum: 16.54)
  • 5 - unwa Instrumental v1e (SDR vocals: 10.05, SDR instrum: 16.36)
  • 6 - unwa big beta v5e (SDR vocals: 10.59, SDR instrum: 16.89)
  • 4 - ver 2024.10 (SDR vocals: 11.28, SDR instrum: 17.59) (default)
  • 7 - becruily instrum high fullness (SDR instrum: 16.47)
  • 8 - becruily vocals high fullness (SDR vocals: 10.55)
  • 9 - unwa Instrumental v1e plus (SDR vocals: 10.33, SDR instrum: 16.64)
MDX23C (vocals, instrumental) 25 Key: add_opt1
Name: Vocal model type
Options:
  • 3 - 12K FFT, Large Conv, Hop 1024 (SDR vocals: 9.95, SDR instrum: 16.26)
  • 2 - 12K FFT, Large Conv (SDR vocals: 9.71, SDR instrum: 16.02)
  • 0 - 12K FFT (SDR vocals: 9.68, SDR instrum: 15.99)
  • 1 - 12K FFT, 6 Poolings (SDR vocals: 9.49, SDR instrum: 15.79)
  • 4 - 8K FFT (SDR vocals: 10.17, SDR instrum: 16.48)
  • 7 - 8K FFT (SDR vocals: 10.36, SDR instrum: 16.66) (default)
SCNet (vocals, instrumental) 46 Key: add_opt1
Name: Vocal model type
Options:
  • 0 - SCNet (SDR vocals: 10.25, SDR instrum: 16.56)
  • 1 - SCNet Large (SDR vocals: 10.74, SDR instrum: 17.05)
  • 2 - SCNet XL (SDR vocals: 10.96, SDR instrum: 17.27) (default)
  • 3 - SCNet XL (high fullness)
  • 4 - SCNet XL (very high fullness)
MDX B (vocals, instrumental) 23 Key: add_opt1
Name: Vocal model type
Options:
  • 7 - MDX Kimberley Jensen v2 2023.05.21 (SDR: 9.60)
  • 0 - MDX UVR 2022.01.01 (SDR: 8.83)
  • 1 - MDX UVR 2022.07.25(SDR: 8.67)
  • 2 - MDX Kimberley Jensen v1 2023.02.12 (SDR: 9.48)
  • 4 - UVR-MDX-NET-Inst_HQ_2 (SDR: 9.12)
  • 5 - UVR_MDXNET_Main (SDR: 8.79)
  • 6 - MDX Kimberley Jensen Inst (SDR: 9.28)
  • 8 - UVR-MDX-NET-Inst_HQ_3 (SDR: 9.38)
  • 9 - UVR-MDX-NET-Voc_FT (SDR: 9.64)
  • 11 - UVR-MDX-NET-Inst_HQ_4 (SDR: 9.71) (default)
  • 12 - UVR-MDX-NET-Inst_HQ_5 (SDR: 9.45)
Ultimate Vocal Remover VR (vocals, music) 9 Key: add_opt1
Name: Model Type
Options:
  • 0 - HP2-4BAND-3090_4band_arch-500m_1 (default)
  • 1 - HP2-4BAND-3090_4band_2
  • 2 - HP2-4BAND-3090_4band_1
  • 3 - HP_4BAND_3090
  • 4 - Vocal_HP_4BAND_3090
  • 5 - Vocal_HP_4BAND_3090_AGG
  • 6 - HP2-MAIN-MSB2-3BAND-3090
  • 7 - HP-4BAND-V2
  • 8 - HP-KAROKEE-MSB2-3BAND-3090 (Karaokee model)
  • 9 - WIP-Piano-4band-129605kb (Piano model)
  • 10 - drums-4BAND-3090_4band (Drums model)
  • 11 - bass-4BAND-3090_4band (Bass model)
  • 12 - karokee_4band_v2_sn (Karaokee model v2)
  • 13 - UVR-De-Echo-Aggressive
  • 14 - UVR-De-Echo-Normal
  • 15 - UVR-DeNoise
  • 16 - UVR-DeEcho-DeReverb
  • 17 - UVR-BVE-4B_SN-44100-1 (Back vocals model)

Key: add_opt2
Name: Agressiveness
Options:
  • 0.3 - 0.3 (default)
  • 0.1 - 0.1
  • 0.2 - 0.2
  • 0.4 - 0.4
  • 0.5 - 0.5
  • 0.6 - 0.6
  • 0.7 - 0.7
  • 0.8 - 0.8
  • 0.9 - 0.9
  • 1.0 - 1.0
Demucs4 Vocals 2023 (vocals, instrum) 27
MDX-B Karaoke (lead/back vocals) 12 Key: add_opt1
Name: Karaoke model type
Options:
  • 0 - Extract directly from mixture (SDR lead vocals: 6.81) (default)
  • 1 - Extract from vocals part (SDR lead vocals: 7.94)
MelBand Karaoke (lead/back vocals) 49 Key: add_opt1
Name: Karaoke model type
Options:
  • 0 - Model by viperx and aufr33 (SDR: 10.36) (default)
  • 1 - Model by becruily (SDR: 10.47)

Key: add_opt2
Name: Extraction type
Options:
  • 0 - Use as is (default)
  • 1 - Extract vocals first
MVSep Piano (piano, other) 29 Key: add_opt1
Name: Piano model type
Options:
  • 0 - mdx23c (2023.08, SDR: 4.79)
  • 1 - mdx23c (2024.09, SDR: 5.59)
  • 2 - MelRoformer (viperx, SDR: 5.71)
  • 3 - SCNet Large (2024.09, SDR: 5.89)
  • 4 - Ensemble (SCNet + Mel, SDR: 6.20) (default)
MVSep Guitar (guitar, other) 31 Key: add_opt1
Name: Guitar model type
Options:
  • 0 - mdx23c (2023.08, SDR: 4.78)
  • 2 - mdx23c (2024.06, SDR: 6.34)
  • 3 - MelRoformer (2024.06, SDR: 7.02)
  • 5 - BSRoformer (viperx, SDR: 7.16)
  • 6 - Ensemble (BS + Mel, SDR: 7.51) (default)
MVSep Bass (bass, other) 41 Key: add_opt1
Name: Bass model type
Options:
  • 0 - BS Roformer (SDR bass: 12.49)
  • 1 - HTDemucs4 (SDR bass: 12.52)
  • 2 - SCNet XL (SDR bass: 13.81)
  • 3 - BS + HTDemucs + SCNet (SDR bass: 14.07) (default)

Key: add_opt2
Name: How to extract
Options:
  • 0 - Extract directly from mixture (default)
  • 1 - Extract from instrumental part

Key: add_opt3
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include results of independent models
MVSep Drums (drums, other) 44 Key: add_opt1
Name: Drums model type
Options:
  • 0 - HTDemucs (SDR drums: 12.04)
  • 1 - MelBand Roformer (SDR drums: 12.76)
  • 2 - SCNet Large (SDR drums: 13.01)
  • 3 - SCNet XL (SDR drums: 13.42)
  • 4 - Mel + SCNet XL (SDR drums: 13.78) (default)

Key: add_opt2
Name: How to extract
Options:
  • 0 - Extract directly from mixture (default)
  • 1 - Extract from instrumental part

Key: add_opt3
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include results of independent models
MVSep Strings (strings, other) 52
MVSep Wind (wind, other) 54 Key: add_opt1
Name: Wind model type
Options:
  • 0 - MelBand Roformer (SDR wind: 6.73)
  • 1 - SCNet Large (SDR wind: 6.76)
  • 2 - Mel + SCNet (SDR wind: 7.22) (default)

Key: add_opt2
Name: How to extract
Options:
  • 0 - Extract directly from mixture (default)
  • 1 - Extract from instrumental part

Key: add_opt3
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include results of independent models
MVSep Organ (organ, other) 58 Key: add_opt1
Name: Organ model type
Options:
  • 0 - SCNet XL (SDR organ: 2.71)
  • 1 - MelBand Roformer (SDR organ: 2.77)
  • 2 - Mel + SCNet (SDR organ: 3.05) (default)
MVSep Saxophone (saxophone, other) 61 Key: add_opt1
Name: Model type
Options:
  • 0 - SCNet XL (SDR saxophone: 6.15)
  • 1 - MelBand Roformer (SDR saxophone: 6.97) (default)
  • 2 - Mel + SCNet (SDR saxophone: 7.13)
Apollo Enhancers (by JusperLee and Lew) 51 Key: add_opt1
Name: Model type
Options:
  • 0 - MP3 Enhancer (by JusperLee) (default)
  • 1 - Universal Super Resolution (by Lew)
  • 2 - Vocals Super Resolution (by Lew)
  • 3 - Universal Super Resolution (by MVSep Team)
Reverb Removal (noreverb) 22 Key: add_opt1
Name: Model Type
Options:
  • 0 - Reverb removal by FoxJoy (MDX23C) (default)
  • 1 - Reverb removal by anvuew (MelRoformer)
  • 2 - Reverb removal by anvuew (BSRoformer)
  • 3 - Reverb removal by anvuew v2 (MelRoformer)
  • 4 - Reverb removal by Sucial (MelRoformer)
  • 5 - Reverb removal by Sucial v2 (MelRoformer)

Key: add_opt2
Name: Preprocess
Options:
  • 0 - Extract vocals (needed for Mel/BS Roformer)
  • 1 - Use as is (default)
MVSep Crowd removal (crowd, other) 34 Key: add_opt1
Name: Model type
Options:
  • 8 - MDX23C v1 (SDR crowd: 5.57)
  • 9 - MDX23C v2 (SDR crowd: 6.06)
  • 0 - Mel Roformer (SDR crowd: 6.07)
  • 1 - Ensemble MDX23C + Mel Roformer (SDR crowd: 6.27) (default)
MVSep Demucs4HT DNR (dialog, sfx, music) 24 Key: add_opt1
Name: Model type
Options:
  • 0 - Single (SDR: 9.62) (default)
  • 1 - Ensemble (SDR: 10.16)
BandIt Plus (speech, music, effects) 36
BandIt v2 (speech, music, effects) 45 Key: add_opt1
Name: Model Type
Options:
  • 0 - Multi language model (default)
  • 1 - English model
  • 2 - German model
  • 3 - French model
  • 4 - Spanish model
  • 5 - Chinese model
  • 6 - Faroese model
MVSep DnR v3 (speech, music, sfx) 56 Key: add_opt1
Name: Model type
Options:
  • 0 - SCNet Large (SDR avg: 11.22)
  • 1 - MelBand Roformer (SDR avg: 10.99)
  • 2 - Mel + SCNet (SDR avg: 11.54) (default)

Key: add_opt2
Name: How to extract
Options:
  • 0 - Extract directly from mixture (default)
  • 1 - Use vocals model to help

Key: add_opt3
Name: Output files
Options:
  • 0 - Standard set (default)
  • 1 - Include results of independent models
DrumSep (4-6 stems: kick, snare, cymbals, toms, ride, hh, crash) 37 Key: add_opt1
Name: Model Type
Options:
  • 0 - DrumSep model by inagoy (HDemucs, 4 stems)
  • 1 - DrumSep model by aufr33 and jarredou (MDX23C, 4 stems)
  • 2 - DrumSep SCNet XL (5 stems)
  • 3 - DrumSep SCNet XL (6 stems)
  • 4 - DrumSep SCNet XL (4 stems)
  • 5 - DrumSep Ensemble of 4 models (MDX23C + 3 * SCNet XL, 8 stems)
  • 6 - DrumSep MelBand Roformer (4 stems)
  • 7 - DrumSep MelBand Roformer (6 stems) (default)

Key: add_opt2
Name: Preprocess
Options:
  • 0 - Apply Drums model before (default)
  • 1 - Use as is (audio must contain drums only)
DeNoise by aufr33 47 Key: add_opt1
Name: Model type
Options:
  • 0 - Standard (default)
  • 1 - Aggressive
Whisper (extract text from audio) 39 Key: add_opt1
Name: Model type
Options:
  • 0 - Apply to original file
  • 1 - Extract vocals first (default)
Medley Vox (Multi-singer separation) 53 Key: add_opt1
Name: Model type
Options:
  • 0 - Apply to original file
  • 1 - Extract vocals first (default)
MVSep Multichannel BS (vocals, instrumental) 43 Key: add_opt1
Name: Model Type
Options:
  • 0 - BS Roformer (SDR: 11.31) (default)
  • 1 - MDX23C (SDR: 10.36)
  • 2 - MelBand Roformer (SDR: 11.17)
  • 3 - MelBand Roformer XL (SDR: 11.28)
MVSep Male/Female separation 57 Key: add_opt1
Name: Model type
Options:
  • 0 - BSRoformer by Sucial (SDR: 6.52)
  • 3 - BSRoformer by aufr33 (SDR: 8.18)
  • 1 - SCNet XL (SDR: 11.83)
  • 2 - MelRoformer (2025.01) (SDR: 13.03) (default)

Key: add_opt2
Name: How to extract
Options:
  • 0 - Extract directly from mixture (default)
  • 1 - Extract vocals first with BS Roformer
MDX A/B (vocals, drums, bass, other) 7 Key: add_opt1
Name: Vocal model type
Options:
  • 0 - MDX A (Contest Version)
  • 3 - MDX Kimberley Jensen 2023.02.12 SDR: 9.30 (New) (default)
  • 1 - MDX UVR 2022.01.01 SDR 8.62
  • 2 - MDX UVR 2022.07.25 SDR 8.51
Demucs3 Model (vocals, drums, bass, other) 10 Key: add_opt1
Name: Model type
Options:
  • 0 - Demucs3 Model A (Contest Version)
  • 1 - Demucs3 Model B (High Quality) (default)
Vit Large 23 (vocals, instrum) 33 Key: add_opt1
Name: Model type
Options:
  • 0 - v1 (SDR vocals: 9.78)
  • 1 - v2 (SDR vocals: 9.90) (default)
UVRv5 Demucs (vocals, music) 17 Key: add_opt1
Name: Model Type
Options:
  • 0 - UVR_Demucs_Model_1
  • 1 - UVR_Demucs_Model_2
  • 2 - UVR_Demucs_Model_Bag
MVSep DNR (music, sfx, speech) 18
MVSep Vocal Model (vocals, music) 19
Demucs2 (vocals, drums, bass, other) 13
Danna Sep (vocals, drums, bass, other) 15
Byte Dance (vocals, drums, bass, other) 16
MVSep MelBand Roformer (vocals, instrum) 35
spleeter 0 Key: add_opt1
Name: Model type
Options:
  • 0 - 2 stems (vocals, music) (default)
  • 1 - 4 stems (vocals, drums, bass, other)
  • 2 - 5 stems (vocals, drums, bass, piano, other)
UnMix 3 Key: add_opt1
Name: Model type
Options:
  • 0 - unmix XL (vocals, drums, bass, other) (default)
  • 1 - unmix HQ (vocals, drums, bass, other)
  • 2 - unmix SD (vocals, drums, bass, other)
  • 3 - unmix SE (vocals, music) - low quality
Zero Shot (Query Based) (Low quality) 14 Key: add_opt1
Name: Model Type
Options:
  • 0 - Bass (MUSDB18HQ AVG)
  • 1 - Drums (MUSDB18HQ AVG)
  • 2 - Vocals (MUSDB18HQ AVG) (default)
  • 3 - Other (MUSDB18HQ AVG)
LarsNet (kick, snare, cymbals, toms, hihat) 38 Key: add_opt1
Name: Model type
Options:
  • 0 - Apply Demucs4HT first to get drums (default)
  • 1 - Use as is (audio must contain drums only)
MVSep MultiSpeaker (MDX23C) 42 Key: add_opt1
Name: Model Type
Options:
  • 0 - Extract directly from mixture
  • 1 - Extract from vocals part (default)
Aspiration (by Sucial) 50 Key: add_opt1
Name: Model type
Options:
  • 0 - Extract directly from mixture (default)
  • 1 - Extract from vocals part
Phantom Centre extraction (by wesleyr36) 55
AudioSR (Super Resolution) 59 Key: add_opt1
Name: Cutoff (Hz)
Options:
  • 0 - Automatic (default)
  • 2000 - 2000
  • 3000 - 3000
  • 4000 - 4000
  • 5000 - 5000
  • 6000 - 6000
  • 7000 - 7000
  • 8000 - 8000
  • 9000 - 9000
  • 10000 - 10000
  • 11000 - 11000
  • 12000 - 12000
  • 13000 - 13000
  • 14000 - 14000
  • 15000 - 15000
  • 16000 - 16000
  • 17000 - 17000
  • 18000 - 18000
  • 19000 - 19000
  • 20000 - 20000
  • 21000 - 21000
  • 22000 - 22000
FlashSR (Super Resolution) 60

Output format (output_format) values

Name Value
mp3 (320 kbps) 0
wav (uncompressed) 1
flac (lossless) 2
m4a (lossy) 3

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/separation/create' --form 'audiofile=@"/path/to/file.mp3"' --form 'api_token="<Your API Token>"' --form 'sep_type="9"' --form 'add_opt1="0"' --form 'add_opt2="1"' --form 'output_format="1"' --form 'is_demo="1"'

Response details:

Key Value
success
  • false - when the job creation failed
  • true - when the job was created successfully
data Holds extra information depending on the success key
data -> link Shows link to "GET RESULT" URL of created job (only shown when success is true)
data -> hash Shows created job hash (only shown when success is true)
data -> message Shows the description of an error (only shown when success is false)

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Some parameters are missing or invalid. This error appears when you don't pass every mandatory parameters or pass invalid parameters.
401 Unknown or invalid api_token. This error appears if you use an unknown API key

get result

To get the separation result, you need to make a GET call to the following url:
https://mvsep.com/api/separation/get


QUERY PARAMETERS

Field Type Description
hash String Separation Hash
mirror Integer (optional) Uses another mirror if set to 1, defaults to 0. Requires api_token and 1 credit if set to 1.
api_token string (optional) API key of the user. Required if mirror parameter is set to 1.

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/separation/get?hash=20230327071601-0e3e5c6c85-13-dimensions.mp3'

Response details:

Key Value
success
  • false - when file hash is not found or is removed or is expired
  • true - when file hash is found and valid
status
  • not_found - when the job is invalid
  • waiting - when the job is in queue and not yet processed
  • processing - when the job is being processed
  • done - when the job have been succesfully processed
  • failed - when the job processing failed
  • distributing - when the job audiofile is large and being distributed to multiple GPU instances
  • merging - when the all job distribution parts have finished processing and being merged
data Holds extra information depending on the status key
data -> queue_count Shows unprocessed jobs count in user's priority (only shown when status is waiting or distributing)
data -> current_order Shows the order of user's job (only shown when status is waiting or distributing)
data -> message Shows the description of status (shown on all statuses, shows error reason instead when status is failed)
data -> algorithm Shows the used algorithm on job (only shown when status is done)
data -> algorithm_description Shows the used algorithm details on job (only shown when status is done)
data -> output_format Shows the output format of job (only shown when status is done)
data -> tags Shows the audio meta tags (only shown when status is done)
data -> input_file Shows the input audio download details (only shown when status is done)
data -> files Shows the output audios download details (only shown when status is done)
data -> date Shows the job processing date (only shown when status is done)
data -> finished_chunks Shows the number of finished parts of a large job (only shown when status is distributing)
data -> all_chunks Shows the number of all parts of a large job (only shown when status is distributing)

get result

To get the result of remote job, you need to make a GET call to the following url:
https://mvsep.com/api/separation/get-remote


QUERY PARAMETERS

Field Type Description
hash String Separation Hash

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/separation/get-remote?hash=n2AwBjy4KsFZfqqR'

Response details:

Key Value
success
  • false - when file hash is not found or is removed or is expired
  • true - when file hash is found and valid
status
  • not_found - when the job is invalid
  • waiting - when the job is in queue and not yet processed
  • processing - when the job is being processed
  • done - when the job have been succesfully processed
  • failed - when the job processing failed
data Holds extra information depending on the status key
data -> queue_count Shows unprocessed jobs count in user's priority (only shown when status is waiting)
data -> current_order Shows the order of user's job (only shown when status is waiting)
data -> message Shows the description of status (only when status is failed)
data -> link Shows link to "GET RESULT" URL of created job (only shown when status is done)
data -> hash Hash of the separation (only shown when status is done)

Cancel SEPARATION

To cancel the separation and refund used credits (if the separation is not being processed yet), you need to make a POST call to the following url:
https://mvsep.com/api/separation/cancel


QUERY PARAMETERS

Field Type Description
api_token string API key of the user
hash string Separation Hash

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/separation/cancel' --form 'api_token="<Your API Token>"' --form 'hash="<hash>"'

Response details:

Key Value
success
  • false - when file hash is not found or is removed or is expired
  • true - when file hash is found and valid

Site information

get separation types

To get the detailed data about separation types, you need to make a GET call to the following url:
https://mvsep.com/api/app/algorithms


Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/algorithms'

Response details:

Returns data as an array:

Key Value
render_id Separation type value (ID)
name The name of the separation type
algorithm_group_id The group where separation type belongs:
  • 0 - Experimental
  • 1 - Old Models
  • 2 - HQ Models
  • 3 - Ensemble
orientation For whom does this separation type intended:
  • 0 - All users
  • 1 - Registered users
  • 2 - Premium users
order_id The order of the separation type
price_coefficient Used to calculate how many credits do job take from premium user.
Uses this formula : floor(<audiofile duration in seconds> * price_coefficient / 60)?:1
usage Shows monthly usage count of separation type
rating Shows monthly usage rating of separation type as array:
  • average - average rating
  • total - vote count
algorithm_fields Contains information about additional fields of the separation type
algorithm_fields -> name Shows which additional field of the separation type:
  • add_opt1 - first
  • add_opt2 - second
  • add_opt3 - third
You will need to post separation with this name in order to select right additional field.
algorithm_fields -> text Display name of the additional field of the separation type.
algorithm_fields -> options JSON Encoded key-value chains of additional field
algorithm_fields -> default_key Default value of the additional field. One of the keys of <code>algorithm_fields -> options</code>
algorithm_descriptions Contains information about descriptions of the separation type
algorithm_descriptions -> short_description Small description of the separation type that does not use HTML.
algorithm_descriptions -> long_description Detailed description of the separation type that uses HTML.
algorithm_descriptions -> lang Specified language code of the description.

get news

To get information about latest news about MVSEP, you need to make a GET call to the following url:
https://mvsep.com/api/app/news


QUERY PARAMETERS

Field Type Description
lang String (optional) 2-letter language code (en, ru)
start Integer (optional) Starting point offset, defaults to 0 (i.e. start from latest)
limit Integer (optional) Maximum amount of results returned, defaults to 10, maximum is 20.

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/news?lang=en&start=2&limit=1'

Response details:

Returns data as an array:

Key Value
title Title of the news
lang Title of the news
text Full description of the news
created_at Date of the news

GET QUEUE

To get site queue information, you need to make a GET call to the following url:
https://mvsep.com/api/app/queue


QUERY PARAMETERS

Field Type Description
api_token String (optional) API key of the user

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/queue'

Response details:

Key Value
queue Contains array of current queues for different plans:
  • in_process - Currently being processed
  • premium - Queue count for premium users
  • registered - Queue count for registered users
  • unregistered - Queue count for unregistered users
plan Contains current queue for current plan (add api_token to request for registered/premium plan):
  • plan - Your current plan
  • queue - Queue count for your current plan

get demo separations

To get information about demo separations, you need to make a GET call to the following url: https://mvsep.com/api/app/demo


QUERY PARAMETERS

Field Type Description
start Integer (optional) Starting point offset, defaults to 0 (i.e. start from latest)
limit Integer (optional) Maximum amount of results returned, defaults to 10, maximum is 20.

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/demo?start=0&limit=2'

Response details:

Returns data as an array:

Key Value
hash Separation Hash
date Date of the separation
input_audio Input audio URL
size Input audio size
algorithm Contains basic information about used separation type (refer to the GET SEPARATION TYPES tab for information about returned parameters)

User Authentication

login

To authenticate user and get user's API key, you need to make a POST call to the following url:
https://mvsep.com/api/app/login

QUERY PARAMETERS

Field Type Description
email String Email of the user
password String Password of the user

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/app/login' --form 'email="<Email of the user>"' --form 'password="<Password of the user>"'

Response details:

Key Value
success
  • false - Occurs when incorrect credentials were specified
  • true - Occurs when valid credentials were specified
data Contains information when credentials are valid
data -> name Name of the user
data -> email Email of the user
data -> api_token The API key of the user. Make sure to store it in secure storage and use for subsequent operations.
data -> premium_minutes Credits left for the user
data -> premium_enabled Whether user allowed credits to be spent.
  • 0 - disallowed
  • 1 - allowed
data -> long_filenames_enabled Whether user wants extra information in filenames:
  • 0 - shorter
  • 1 - longer

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Incorrect credentials specified

register

To register user to the MVSEP site, you need to make a POST call to the following url:
https://mvsep.com/api/app/register


QUERY PARAMETERS

Field Type Description
name String Name of the user
email String Email of the user
password String Password of the user
password_confirmation String Repeat the password of the user

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/register' --form 'name="user"' --form 'email="asdf@example.com"' --form 'password="ASDFQWEr123"' --form 'password_confirmation="ASDFQWEr123"'

Response details:

Key Value
success
  • false - Occurs when the email is invalid, user exists or confirmation is incorrect
  • true - Occurs when the form is valid
message Occurs when the form is valid

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Form is invalid

Profile

get user

To get user information, you need to make a GET call to the following url:
https://mvsep.com/api/app/user

QUERY PARAMETERS

Field Type Description
api_token String API key of the user

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/user?api_token=<Your API Token>'

Response details:

Key Value
success
  • false - Occurs when invalid API Key is specified
  • true - Occurs when valid API Key is specified
data Contains information when credentials are valid
data -> name Name of the user
data -> email Email of the user
data -> api_token The API key of the user. Make sure to store it in secure storage and use for subsequent operations.
data -> premium_minutes Credits left for the user
data -> premium_enabled Whether user allowed credits to be spent.
  • 0 - disallowed
  • 1 - allowed
data -> long_filenames_enabled Whether user wants extra information in filenames:
  • 0 - shorter
  • 1 - longer
data -> current_queue Shows ongoing separations for the user

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Invalid API key

get separation history

To get basic information separation history of the user, you need to make a GET call to the following url:
https://mvsep.com/api/app/separation_history


QUERY PARAMETERS

Field Type Description
api_token String API key of the user
start Integer (optional) Starting point offset, defaults to 0 (i.e. start from latest)
limit Integer (optional) Maximum amount of results returned, defaults to 10, maximum is 20.

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/app/separation_history?api_token=<Your API Token>&start=1&limit=2'

Response details:

Key Value
success
  • false - Occurs when invalid API Key is specified
  • true - Occurs when valid API Key is specified
data Contains basic information array about previous separations
data -> hash Separation Hash
data -> job_exists Contains basic information array about previous separations
data -> credits How many credits were used for the job, null if separation does not exist
data -> time_left Approximate time left until job is deleted
data -> algorithm Contains basic information about used separation type (refer to the GET SEPARATION TYPES tab for information about returned parameters)

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Invalid API key

enable premium usage

To enable premium usage for the user, you need to make a POST call to the following url:
https://mvsep.com/api/app/enable_premium


QUERY PARAMETERS

Field Type Description
api_token String API key of the user

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/app/enable_premium' --form 'api_token="<Your API Token>"'

Response details:

Key Value
success
  • false - Occurs when invalid API Key is specified
  • true - Occurs when valid API Key is specified
message Informs about the status of the operation

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Invalid API key

disable premium usage

To disable premium usage for the user, you need to make a POST call to the following url:
https://mvsep.com/api/app/disable_premium


QUERY PARAMETERS

Field Type Description
api_token String API key of the user

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/app/disable_premium' --form 'api_token="<Your API Token>"'

Response details:

Key Value
success
  • false - Occurs when invalid API Key is specified
  • true - Occurs when valid API Key is specified
message Informs about the status of the operation

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Invalid API key

enable long filenames

To enable long filenames for the user, you need to make a POST call to the following url:
https://mvsep.com/api/app/enable_long_filenames


QUERY PARAMETERS

Field Type Description
api_token String API key of the user

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/app/enable_long_filenames' --form 'api_token="<Your API Token>"'

Response details:

Key Value
success
  • false - Occurs when invalid API Key is specified
  • true - Occurs when valid API Key is specified
message Informs about the status of the operation

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Invalid API key

disable long filenames

To disable long filenames for the user, you need to make a POST call to the following url:
https://mvsep.com/api/app/disable_long_filenames


QUERY PARAMETERS

Field Type Description
api_token String API key of the user

Curl Example Code:

curl --location --request POST 'https://mvsep.com/api/app/disable_long_filenames' --form 'api_token="<Your API Token>"'

Response details:

Key Value
success
  • false - Occurs when invalid API Key is specified
  • true - Occurs when valid API Key is specified
message Informs about the status of the operation

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Invalid API key

Quality Checker

GET QUEUE

To get information about Quality Checker queue entries, you need to make a GET call to the following url:
https://mvsep.com/api/quality_checker/queue

QUERY PARAMETERS

Field Type Description
start Integer (optional) Starting point offset, defaults to 0 (i.e. start from latest)
limit Integer (optional) Maximum amount of results returned, defaults to 10, maximum is 20.

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/quality_checker/queue?&start=1&limit=2'

Response details:

Returns data as an array:

Key Value
id Identification number of entry
dataset_type Dataset Type chosen when adding the entry / Leaderboard type
  • 0 - Synth
  • 1 - Multi
  • 2 - Piano
  • 3 - Lead/Back Vocals
  • 4 - Guitar
  • 5 - Medley Vox
  • 6 - Strings
  • 7 - Wind
  • 8 - DNR v3 Test
  • 9 - Super Resolution Checker for Music
  • 10 - Drums Separation (5 stems)
  • 11 - Male/Female vocals separation
date Created date of the entry
algo_name Name of the used separation type/algorithm
main_text Description of the used separation type/algorithm
proc Status of the processing
  • 0 - Not processed
  • 1 - Processed
proc_remote_date Timestamp of processing date
msg Returns "OK" if successful, otherwise shows error message
metrics Information about entry metrics
sdr_* (wildcard) SDR of the corresponding stems
dataset_name Name of the dataset

GET LEADERBOARD

To get information about Quality Checker leaderboards, you need to make a GET call to the following url:
https://mvsep.com/api/quality_checker/leaderboard

QUERY PARAMETERS

Field Type Description
dataset_type String Dataset Type, defaults to 0 if not given
  • 0 - Synth
  • 1 - Multi
  • 2 - Piano
  • 3 - Lead/Back Vocals
  • 4 - Guitar
  • 5 - Medley Vox
  • 6 - Strings
  • 7 - Wind
  • 8 - DNR v3 Test
  • 9 - Super Resolution Checker for Music
  • 10 - Drums Separation (5 stems)
  • 11 - Male/Female vocals separation
start Integer (optional) Starting point offset, defaults to 0 (i.e. start from latest)
limit Integer (optional) Maximum amount of results returned, defaults to 10, maximum is 20.
algo_name_filter String Filters Separation Type/Algorithm names by given text
sort String Sort by given SDR of the stem. You can get list of sortable values for given dataset type from sortables key in response

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/quality_checker/leaderboard?&start=1&limit=2&algo_name_filter=MVSep'

Response details:

Key Value
data Contains array of Quality Checker entries. Refer to GET QUEUE response from Quality Checker Section for more information
dataset_type Used dataset type key
sortables Keys that can be used to sort used dataset type by given stem in sequential order.
sort Used sorting key from sortable.

CREATE ENTRY

To create Quality Checker entry, you need to make a POST call to the following url:
https://mvsep.com/api/quality_checker/add

QUERY PARAMETERS

Field Type Description
api_token String (required) Your API key
zipfile Binary (required) Zip file to be processed
algo_name String (required) Name of the algorithm
main_text String (required) Description of the algorithm
dataset_type String Dataset type. Defaults to 0.
  • 0 - Synth
  • 1 - Multi
  • 2 - Piano
  • 3 - Lead/Back Vocals
  • 4 - Guitar
  • 5 - Medley Vox
  • 6 - Strings
  • 7 - Wind
  • 8 - DNR v3 Test
  • 9 - Super Resolution Checker for Music
  • 10 - Drums Separation (5 stems)
  • 11 - Male/Female vocals separation
password String (required) Password to delete algorithm
ensemble integer 0 - algorithm is not ensemble. 1 - algorithm is ensemble.

Curl Example Code:

curl --location 'https://mvsep.com/api/quality_checker/add' --form 'zipfile=@"/path/to/zipfile"' --form 'algo_name="Test Algorithm Name"' --form 'main_text="Test Algorithm Description"' --form 'dataset_type="2"' --form 'ensemble="1"' --form 'password="test"'

Response details:

Key Value
success
  • false - when the entry creation failed
  • true - when the entry was created successfully
data Contains information about entry
data -> id ID of the entry.
data -> link Link to the entry.

Errors

The MVSEP API uses the following error codes:

Error Code Meaning
400 Form is invalid
401 Unknown or invalid api_token. This error appears if you use an unknown API key

GET ENTRY

To get information about Quality Checker queue entry by id, you need to make a GET call to the following url:
https://mvsep.com/api/quality_checker/entry

QUERY PARAMETERS

Field Type Description
id Integer (required) ID of the entry

Curl Example Code:

curl --location --request GET 'https://mvsep.com/api/quality_checker/entry?id=7675'

Response details:

Response is the same as GET QUEUE response from Quality Checker Section, returns only one entry.

DELETE ENTRY

To delete Quality Checker queue entry by id and password, you need to make a GET call to the following url:
https://mvsep.com/api/quality_checker/delete

QUERY PARAMETERS

Field Type Description
id Integer (required) ID of the entry
password String (required) Used password for the entry

Curl Example Code:

curl --location 'https://mvsep.com/api/quality_checker/delete' --form 'id="7720"' --form 'password="test"'

Response details:

Key Value
success
  • false - when the entry deletion failed
  • true - when the entry was deleted successfully
data->message Shows whether entry was deleted
MVSEP Logo

turbo@mvsep.com

Advanced features

Quality Checker

Algorithms

Full API Documentation

Company

Privacy Policy

Terms & Conditions

Refund Policy

Extra

Help us translate!

Help us promote!