A API MVSEP fornece acesso programático para criar uma separação, retornar os resultados, obter informações do site e controlar os recursos do usuário.
Para usar essa API, você precisa de uma chave de API. Você não está conectado. Faça login para obter seu token de API.
Observe que os usuários Premium podem solicitar um número ilimitado de trabalhos simultâneos, enquanto os usuários não Premium podem solicitar apenas 1 trabalho simultâneo.
O MVSEP mantém endpoints de API regionais. Todas as regiões compartilham o mesmo banco de dados de contas, portanto a mesma conta, a mesma chave de API e os mesmos hashes de tarefa funcionam em qualquer uma delas:
https://de.mvsep.com/apihttps://de2.mvsep.com/apihttps://hk.mvsep.com/apiAs requisições para https://mvsep.com/api são direcionadas por geolocalização: quem chama da Europa é roteado para de, quem chama do norte da Ásia para hk, e todos os demais para de2. Para integrações de API, recomendamos chamar um endpoint regional explicitamente — assim todo o ciclo de vida da tarefa fica em um único host, independentemente de onde partem as suas requisições.
Toda separação é processada e armazenada na região em que foi criada, e as URLs de download retornadas nas respostas sempre apontam para o host daquela região. Para obter o melhor desempenho, escolha o endpoint mais próximo dos seus servidores e use o mesmo host durante todo o ciclo de vida da tarefa — criação, consulta de status e download dos arquivos.
Você pode consultar o status de qualquer tarefa a partir de qualquer região (o banco de dados é compartilhado), mas os arquivos de saída em si são sempre servidos pela região dona da tarefa.
Para criar uma separação, você precisa criar uma chamada POST para a seguinte url:
https://mvsep.com/api/separation/create
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | Sua chave API |
| audiofile | Binário | Arquivo de áudio a ser processado. Não é necessário se o parâmetro url estiver definido ou se o modelo não usar entrada de arquivo. Para modelos de matchering, use target_audiofile e reference_audiofile como entrada em vez de audiofile. |
| url | String | Link para o arquivo de áudio. Não é necessário se o parâmetro audiofile estiver definido. |
| remote_type | String | (opcional) Tipo remoto do arquivo de áudio. O padrão é direct. Não é necessário se o parâmetro audiofile estiver definido. Os tipos suportados são direct (Download Direto), mega (MEGA), drive (Google Drive), dropbox (Dropbox). |
| sep_type | Inteiro | (opcional) Tipo de separação, o padrão é 20. Este é o ID do tipo de separação; consulte a seção GET SEPARATION TYPES para mais informações. Ignorado quando <code class="higlighted">preset_id</code> é fornecido. |
| preset_id | Inteiro | (opcional) Executa uma de suas predefinições salvas sobre o arquivo, em vez de um único algoritmo. Informe sep_type ou preset_id — uma predefinição define seus próprios algoritmos, opções e formatos de saída, portanto sep_type, os campos add_opt e output_format são todos ignorados quando ela é usada. A resposta retorna um hash que você consulta exatamente como o de uma separação; o resultado traz uma entrada por nó de saída (Output) da predefinição. Veja na tabela de predefinições abaixo os seus ids. |
| add_opt1 | String | (opcional) Tipo de separação, primeiro campo adicional |
| add_opt2 | String | (opcional) Tipo de separação, segundo campo adicional |
| add_opt3 | String | (opcional) Terceiro campo adicional do tipo de separação |
| output_format | Inteiro | (opcional) formato de saída, o padrão é 0 (mp3 (320kbps)) |
| is_demo | Booleano | (opcional) define se a separação deve ser publicada na página de demonstração, o padrão é falso |
| webhook_url | String | (optional) A URL we will POST the finished result to, so you do not have to keep polling. The body is the same JSON as GET SEPARATION. This overrides the account-wide address set on the webhooks page, which is useful when several of your own users share one API token. Must be a publicly reachable http or https address. |
| Nome | Valor | Campos adicionais |
|---|---|---|
| Ensemble (vocals, instrum) | 26 | Chave: add_opt1 Nome: Output files Opções:
Chave: add_opt2 Nome: Model Type Opções:
|
| Ensemble (vocals, instrum, bass, drums, other) | 28 | Chave: add_opt1 Nome: Output files Opções:
Chave: add_opt2 Nome: Model Type Opções:
|
| Ensemble All-In (vocals, bass, drums, piano, guitar, lead/back vocals, other) | 30 | Chave: add_opt1 Nome: Output files Opções:
Chave: add_opt2 Nome: Model Type Opções:
|
| BS Roformer SW (vocals, bass, drums, guitar, piano, other) | 63 | |
| Demucs4 HT (vocals, drums, bass, other) | 20 | Chave: add_opt1 Nome: Model type Opções:
|
| BS Roformer (vocals, instrumental) | 40 | Chave: add_opt1 Nome: Vocal model type Opções:
Chave: add_opt2 Nome: Overlap Opções:
Chave: add_opt3 Nome: Set of stems Opções:
|
| BS PolarFormer (vocals, instrumental) | 123 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: Overlap Opções:
|
| MelBand Roformer (vocals, instrumental) | 48 | Chave: add_opt1 Nome: Vocal model type Opções:
Chave: add_opt2 Nome: Overlap Opções:
|
| MDX23C (vocals, instrumental) | 25 | Chave: add_opt1 Nome: Vocal model type Opções:
|
| SCNet (vocals, instrumental) | 46 | Chave: add_opt1 Nome: Vocal model type Opções:
|
| MDX B (vocals, instrumental) | 23 | Chave: add_opt1 Nome: Vocal model type Opções:
|
| Ultimate Vocal Remover VR (vocals, music) | 9 | Chave: add_opt1 Nome: Model Type Opções:
Chave: add_opt2 Nome: Agressiveness Opções:
|
| Demucs4 Vocals 2023 (vocals, instrum) | 27 | |
| MVSep Karaoke (lead/back vocals) | 49 | Chave: add_opt1 Nome: Karaoke model type Opções:
Chave: add_opt2 Nome: Extraction type Opções:
|
| MDX-B Karaoke (lead/back vocals) | 12 | Chave: add_opt1 Nome: Karaoke model type Opções:
|
| MVSep Crowd removal (crowd, other) | 34 | Chave: add_opt1 Nome: Model type Opções:
|
| Medley Vox (Multi-singer separation) | 53 | Chave: add_opt1 Nome: Model type Opções:
|
| MVSep Multichannel BS (vocals, instrumental) | 43 | Chave: add_opt1 Nome: Model Type Opções:
Chave: add_opt2 Nome: Processing Mode Opções:
|
| MVSep Male/Female separation | 57 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Choir (choir, other) | 112 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep SATB Choir (soprano, alto, tenor, bass) | 111 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Drums (drums, other) | 44 | Chave: add_opt1 Nome: Drums model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
Chave: add_opt3 Nome: Output files Opções:
|
| MVSep Bass (bass, other) | 41 | Chave: add_opt1 Nome: Bass model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
Chave: add_opt3 Nome: Output files Opções:
|
| MVSep Synth (synth, other) | 88 | Chave: add_opt1 Nome: How to extract Opções:
|
| DrumSep (4-6 stems: kick, snare, cymbals, toms, ride, hh, crash) | 37 | Chave: add_opt1 Nome: Model Type Opções:
Chave: add_opt2 Nome: Preprocess Opções:
|
| MVSep Piano (piano, other) | 29 | Chave: add_opt1 Nome: Piano model type Opções:
|
| MVSep Digital Piano (digital-piano, other) | 79 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Keys (keys, other) | 106 | |
| MVSep Organ (organ, other) | 58 | Chave: add_opt1 Nome: Organ model type Opções:
|
| MVSep Harpsichord (harpsichord, other) | 91 | |
| MVSep Accordion (accordion, other) | 99 | |
| MVSep Vibraphone | 129 | |
| MVSep Metal Bars | 130 | |
| MVSep Rhodes | 131 | |
| MVSep Clavinet | 135 | |
| MVSep Mellotron | 136 | |
| MVSep Guitar (guitar, other) | 31 | Chave: add_opt1 Nome: Guitar model type Opções:
|
| MVSep Acoustic Guitar (acoustic-guitar, other) | 66 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Electric Guitar (electric-guitar, other) | 81 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Lead/Rhythm Guitar (lead-guitar, rhythm-guitar) | 101 | Chave: add_opt1 Nome: Model type Opções:
|
| MVSep Pedal Steel Guitar | 124 | |
| MVSep Plucked Strings (plucked-strings, other) | 102 | |
| MVSep Harp (harp, other) | 72 | |
| MVSep Mandolin (mandolin, other) | 74 | |
| MVSep Banjo (banjo, other) | 83 | |
| MVSep Sitar (sitar, other) | 90 | |
| MVSep Ukulele (ukulele, other) | 96 | |
| MVSep Dobro (dobro, other) | 97 | |
| MVSep Bowed Strings (strings, other) | 52 | Chave: add_opt1 Nome: String model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Violin (violin, other) | 65 | |
| MVSep Viola (viola, other) | 69 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Cello (cello, other) | 70 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Double Bass (double-bass, other) | 73 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Wind (wind, other) | 54 | Chave: add_opt1 Nome: Wind model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
Chave: add_opt3 Nome: Output files Opções:
|
| MVSep Brass (brass, other) | 107 | Chave: add_opt1 Nome: How to extract Opções:
|
| MVSep Woodwind (woodwind, other) | 108 | Chave: add_opt1 Nome: How to extract Opções:
|
| MVSep Saxophone (saxophone, other) | 61 | Chave: add_opt1 Nome: Model type Opções:
|
| MVSep Flute (flute, other) | 67 | Chave: add_opt1 Nome: Flute model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Trumpet (trumpet, other) | 71 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Trombone (trombone, other) | 75 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Oboe (oboe, other) | 77 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Clarinet (clarinet, other) | 78 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep French Horn (french-horn, other) | 82 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Harmonica (harmonica, other) | 87 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Tuba (tuba, other) | 92 | |
| MVSep Bassoon (bassoon, other) | 93 | |
| MVSep Bagpipes (bagpipes , other) | 116 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Whistle | 132 | |
| MVSep Percussion (percussion, other) | 105 | |
| MVSep Tambourine (tambourine, other) | 76 | |
| MVSep Marimba (marimba, other) | 84 | |
| MVSep Glockenspiel (glockenspiel, other) | 85 | |
| MVSep Timpani (timpani, other) | 86 | |
| MVSep Triangle (triangle, other) | 89 | |
| MVSep Congas (congas , other) | 94 | |
| MVSep Bells (bells, other) | 95 | |
| MVSep Wind Chimes (wind-chimes, other) | 98 | |
| MVSep Xylophone (xylophone, other) | 109 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Celesta (celesta, other) | 110 | Chave: add_opt2 Nome: How to extract Opções:
|
| MVSep Clap | 133 | |
| MVSep Cowbell | 128 | |
| MVSep Demucs4HT DNR (speech, music, effects) | 24 | Chave: add_opt1 Nome: Model type Opções:
|
| BandIt Plus (speech, music, effects) | 36 | |
| BandIt v2 (speech, music, effects) | 45 | Chave: add_opt1 Nome: Model Type Opções:
|
| MVSep DnR v3 (speech, music, effects) | 56 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: How to extract Opções:
Chave: add_opt3 Nome: Output files Opções:
|
| MVSep Braam | 117 | |
| MVSep Risers | 125 | |
| MVSep FX | 122 | |
| Apollo Enhancers (by JusperLee, Lew, baicai1145) | 51 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: Cutoff (Hz) Opções:
|
| Reverb Removal (noreverb) | 22 | Chave: add_opt1 Nome: Model Type Opções:
Chave: add_opt2 Nome: Preprocess Opções:
|
| DeNoise by aufr33 and gabox | 47 | Chave: add_opt1 Nome: Model type Opções:
|
| AudioSR (Super Resolution) | 59 | Chave: add_opt1 Nome: Cutoff (Hz) Opções:
|
| FlashSR (Super Resolution) | 60 | |
| Stable Audio Open Gen | 62 | Chave: add_opt1 Nome: Text prompt Opções: Chave: add_opt2 Nome: Length (in seconds) Opções:
|
| Whisper (extract text from audio) | 39 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: Transcription type Opções:
|
| Parakeet (extract text from audio) | 64 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: Version Opções:
|
| VibeVoice (Voice Cloning) | 103 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: Text prompt Opções: Chave: add_opt3 Nome: Extract vocals first Opções:
|
| VibeVoice (TTS) | 104 | Chave: add_opt1 Nome: Model type Opções:
Chave: add_opt2 Nome: Text prompt Opções: |
| Qwen3-TTS (Custom Voice) | 118 | Chave: add_opt1 Nome: Text prompt Opções: Chave: add_opt2 Nome: Speaker Opções:
Chave: add_opt3 Nome: Language Opções:
Chave: add_opt4 Nome: Voice description Opções: |
| Qwen3-TTS (Voice Design) | 119 | Chave: add_opt1 Nome: Text prompt Opções: Chave: add_opt2 Nome: Voice description Opções: Chave: add_opt3 Nome: Language Opções:
|
| Qwen3-TTS (Voice Cloning) | 120 | Chave: add_opt1 Nome: Text prompt Opções: Chave: add_opt2 Nome: Reference text in audio (optional) Opções: Chave: add_opt3 Nome: Language Opções:
Chave: add_opt4 Nome: Extract vocals first Opções:
|
| Mega 53-stem Model | 126 | |
| Upmixing by Jazzpear | 137 | |
| Bark (Speech Gen) | 115 | Chave: add_opt1 Nome: Text prompt Opções: Chave: add_opt2 Nome: Speaker Opções:
|
| MVSep MultiSpeaker (MDX23C) | 42 | Chave: add_opt1 Nome: Model Type Opções:
|
| Aspiration (by Sucial) | 50 | Chave: add_opt1 Nome: Model type Opções:
|
| Phantom Centre extraction | 55 | Chave: add_opt1 Nome: Model type Opções:
|
| Matchering (by sergree) | 68 | |
| SOME (Singing-Oriented MIDI Extractor) | 80 | Chave: add_opt1 Nome: How to use Opções:
|
| Transkun (Piano -> MIDI) | 113 | Chave: add_opt1 Nome: How to extract Opções:
|
| Basic Pitch (MIDI Extraction) | 114 | |
| ADTOF Plus (Drums -> MIDI) | 127 | Chave: add_opt1 Nome: How to extract Opções:
|
| HeartMuLa (Song Gen) | 121 | Chave: add_opt1 Nome: Lyrics Opções: Chave: add_opt10 Nome: Topic Opções:
Chave: add_opt2 Nome: Tags (optional) Opções: Chave: add_opt3 Nome: Genre Opções:
Chave: add_opt4 Nome: Timbre Opções:
Chave: add_opt5 Nome: Gender Opções:
Chave: add_opt6 Nome: Mood Opções:
Chave: add_opt7 Nome: Instrument Opções:
Chave: add_opt8 Nome: Scene Opções:
Chave: add_opt9 Nome: Region Opções:
|
| Demucs3 Model (vocals, drums, bass, other) | 10 | Chave: add_opt1 Nome: Model type Opções:
|
| MDX A/B (vocals, drums, bass, other) | 7 | Chave: add_opt1 Nome: Vocal model type Opções:
|
| Vit Large 23 (vocals, instrum) | 33 | Chave: add_opt1 Nome: Model type Opções:
|
| UVRv5 Demucs (vocals, music) | 17 | Chave: add_opt1 Nome: Model Type Opções:
|
| MVSep DNR (music, sfx, speech) | 18 | |
| MVSep Old 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 | Chave: add_opt1 Nome: Model type Opções:
|
| UnMix | 3 | Chave: add_opt1 Nome: Model type Opções:
|
| Zero Shot (Query Based) (Low quality) | 14 | Chave: add_opt1 Nome: Model Type Opções:
|
| LarsNet (kick, snare, cymbals, toms, hihat) | 38 | Chave: add_opt1 Nome: Model type Opções:
|
As predefinições são privadas da conta que as criou, portanto esta tabela mostra as suas predefinições mais as curadas. Crie e edite predefinições no editor de predefinições.
Você ainda não tem nenhuma predefinição. Faça login e crie uma no editor de predefinições, e o ID dela aparecerá aqui.
| Nome | Valor |
|---|---|
| mp3 (320 kbps) | 0 |
| wav (uncompressed, 16 bit) | 1 |
| flac (lossless, 16 bit) | 2 |
| m4a (lossy) | 3 |
| wav (uncompressed, 32 bit) | 4 |
| flac (lossless, 24 bit) | 5 |
curl --location --request POST 'https://mvsep.com/api/separation/create'
--form 'audiofile=@"/path/to/file.mp3"'
--form 'api_token="<Seu Token da API>"'
--form 'sep_type="9"'
--form 'add_opt1="0"'
--form 'add_opt2="1"'
--form 'output_format="1"'
--form 'is_demo="1"'
| Chave | Valor |
|---|---|
| success |
|
| data | Contém informações adicionais dependendo da chave success |
| data -> link | Mostra o link para a URL "OBTER RESULTADO" do trabalho criado (apenas exibido quando success é true) |
| data -> hash | Mostra o hash do trabalho criado (apenas exibido quando success é true) |
| data -> message | Mostra a descrição de um erro (apenas exibido quando success é false) |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | Alguns parâmetros estão faltando ou estão inválidos. Este erro aparece quando você não passa todos os parâmetros obrigatórios ou passa parâmetros inválidos. |
| 401 |
api_token desconhecido ou inválido. Esse erro aparece se você usa uma chave de API desconhecida.
|
Para obter o resultado da separação, você precisa fazer uma chamada GET para a seguinte url:
https://mvsep.com/api/separation/get
O mesmo endpoint retorna as execuções de predefinição: consulte o hash devolvido por preset_id exatamente como faria com uma separação. O envelope é idêntico — status passa por waiting e processing até done — e data.type é preset_run. Cada entrada de data.files é um nó de saída da predefinição, nomeado pelo seu rótulo e não por um stem. Uma execução é visível apenas para a conta que a criou.
| Campo | Tipo | Descrição |
|---|---|---|
| hash | String | Hash de separação |
| mirror | Inteiro | (opcional) Usa outro espelho se definido como 1, padrão é 0. Requer api_token e 1 crédito se definido como 1 |
| api_token | String | (opcional) Chave API do usuário. Necessária se o parâmetro de espelho for definido como 1 |
curl --location --request GET 'https://mvsep.com/api/separation/get?hash=20230327071601-0e3e5c6c85-13-dimensions.mp3'
| Chave | Valor |
|---|---|
| success |
|
| status |
|
| data | Contém informações adicionais dependendo da chave status |
| data -> queue_count | Mostra a contagem de trabalhos não processados na prioridade do usuário (apenas exibido quando status é waiting ou distributing) |
| data -> current_order | Mostra a ordem do trabalho do usuário (apenas exibido quando status é waiting ou distributing) |
| data -> message | Mostra a descrição do status (exibido em todos os status, mostra a razão do erro quando status é failed) |
| data -> algorithm | Mostra o algoritmo usado no trabalho (apenas exibido quando status é done) |
| data -> algorithm_description | Mostra os detalhes do algoritmo usado no trabalho (apenas exibido quando status é done) |
| data -> output_format | Mostra o formato de saída do trabalho (apenas exibido quando status é done) |
| data -> tags | Mostra as tags meta de áudio (apenas exibido quando status é done) |
| data -> input_file | Mostra os detalhes do download do áudio de entrada (apenas exibido quando status é done) |
| data -> files | Mostra os detalhes do download dos áudios de saída (apenas exibido quando status é done) |
| data -> date | Mostra a data de processamento do trabalho (apenas exibido quando status é done) |
| data -> finished_chunks | Mostra o número de partes concluídas de um grande trabalho (apenas exibido quando status é distributing) |
| data -> all_chunks | Mostra o número total de partes de um grande trabalho (apenas exibido quando status é distributing) |
Exclui uma das suas próprias separações — uma tarefa comum ou uma execução de predefinição. Isso remove o registro e os arquivos de saída. Uma separação que ainda está em processamento precisa ser cancelada antes. A exclusão não reembolsa créditos, pois o trabalho já foi executado.
POST https://mvsep.com/api/separation/delete
Você pode consultar o status de qualquer tarefa a partir de qualquer região (o banco de dados é compartilhado), mas os arquivos de saída em si são sempre servidos pela região dona da tarefa.
| Campo | Tipo | Descrição |
|---|---|---|
| hash | String | Hash de separação |
| api_token | String | Chave de API do usuário. Obrigatória. |
curl --location --request POST 'https://mvsep.com/api/separation/delete'
--form 'api_token="<Seu Token da API>"'
--form 'hash="20230327071601-0e3e5c6c85-13-dimensions.mp3"'
| Chave | Valor |
|---|---|
| success |
|
| data -> message | Mostra a descrição do status (exibido em todos os status, mostra a razão do erro quando status é failed) |
Para obter o resultado de uma tarefa remota, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/separation/get-remote
| Campo | Tipo | Descrição |
|---|---|---|
| hash | String | Hash de separação |
curl --location --request GET 'https://mvsep.com/api/separation/get-remote?hash=n2AwBjy4KsFZfqqR'
| Chave | Valor |
|---|---|
| success |
|
| status |
|
| data | Contém informações adicionais dependendo da chave status |
| data -> queue_count | Mostra a contagem de tarefas não processadas na prioridade do usuário (exibido apenas quando status é waiting). |
| data -> current_order | Mostra a ordem da tarefa do usuário (exibido apenas quando status é waiting). |
| data -> message | Mostra a descrição do status (somente quando status é failed). |
| data -> link | Mostra o link para a URL "OBTER RESULTADO" da tarefa criada (exibido somente quando status é done). |
| data -> hash | Hash da separação (exibido apenas quando status é done). |
Para cancelar a separação e reembolsar os créditos utilizados (caso a separação ainda não esteja em processamento), você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/separation/cancel
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
| hash | String | Hash de separação |
curl --location --request POST 'https://mvsep.com/api/separation/cancel' --form 'api_token="<Seu Token da API>"' --form 'hash="<hash>"'
| Chave | Valor |
|---|---|
| success |
|
Para obter os dados detalhados sobre os tipos de separação, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/app/algorithms
| Campo | Tipo | Descrição |
|---|---|---|
| scopes | String | Define se devem ser incluídos modelos que utilizam diferentes formas de entrada.
single_upload se não for fornecido. Para obter todos os modelos, defina scopes=single_upload,no_upload,matchering_upload.
|
curl --location --request GET 'https://mvsep.com/api/app/algorithms'
Retorna os dados como um array:
| Chave | Valor |
|---|---|
| render_id | Valor do tipo de separação (ID) |
| name | o nome do tipo de separação |
| algorithm_group_id | o grupo ao qual pertence o tipo de separação: |
| algorithm_group | Contém informações sobre o grupo de algoritmos ao qual o algoritmo pertence. |
| algorithm_group -> name | Nome do grupo de algoritmos. |
| audio_widget |
O tipo de widget de áudio a ser usado para o algoritmo. Isso pode ser usado para determinar como exibir o reprodutor de áudio do algoritmo na interface. Os valores possíveis são:
|
| orientation |
a quem se destina esse tipo de separação:
|
| order_id | ordem do tipo de separação |
| price_coefficient |
usado para calcular quantos créditos a tarefa consome de um usuário premium. usa esta fórmula : floor(<duração do arquivo de áudio em segundos> * price_coefficient / 60)?:1
|
| usage | Mostra a contagem de uso mensal do tipo de separação |
| rating | Mostra a classificação de uso mensal do tipo de separação como uma matriz:
|
| algorithm_fields | contém informações sobre campos adicionais do tipo de separação |
| algorithm_fields -> name |
mostra qual campo adicional do tipo de separação:
|
| algorithm_fields -> text | nome de exibição do campo adicional do tipo de separação. |
| algorithm_fields -> options | Cadeias de chave-valor codificadas em JSON do campo adicional |
| algorithm_fields -> default_key | Valor padrão do campo adicional. Uma das chaves de <code>algorithm_fields -> options</code> |
| algorithm_descriptions | contém informações sobre as descrições do tipo de separação |
| algorithm_descriptions -> short_description | Pequena descrição do tipo de separação que não usa html. |
| algorithm_descriptions -> long_description | descrição detalhada do tipo de separação que usa html. |
| algorithm_descriptions -> lang | código de idioma especificado da descrição. |
Para obter informações sobre as últimas notícias sobre o MVSEP, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/app/news
| Campo | Tipo | Descrição |
|---|---|---|
| lang | String | (opcional) Código de idioma de 2 letras (en, ru) |
| start | Inteiro | (opcional) Ponto de partida de deslocamento, padrão é 0 (ou seja, começa a partir do mais recente) |
| limit | Inteiro | (opcional) Quantidade máxima de resultados retornados, padrão é 10, máximo é 20 |
curl --location --request GET 'https://mvsep.com/api/app/news?lang=en&start=2&limit=1'
Retorna os dados como um array:
| Chave | Valor |
|---|---|
| title | título da notícia |
| lang | título da notícia |
| text | descrição completa da notícia |
| created_at | data da notícia |
Para obter informações sobre a fila do site, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/app/queue
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | (opcional) chave de api do usuário |
curl --location --request GET 'https://mvsep.com/api/app/queue'
| Chave | Valor |
|---|---|
| queue |
Contém uma matriz de filas atuais para diferentes planos:
|
| plan |
Contém a fila atual para o plano atual (adicione api_token à solicitação para o plano registrado/premium):
|
Para obter informações sobre separações de demonstração, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/app/demo
| Campo | Tipo | Descrição |
|---|---|---|
| start | Inteiro | (opcional) Ponto de partida de deslocamento, padrão é 0 (ou seja, começa a partir do mais recente) |
| limit | Inteiro | (opcional) Quantidade máxima de resultados retornados, padrão é 10, máximo é 20 |
| algorithm_id | Inteiro | ID opcional do tipo de separação. Use este campo para retornar apenas separações de demonstração criadas por um único algoritmo. Os valores correspondem a render_id do endpoint GET SEPARATION TYPES. |
| options[FIELD] | String / Inteiro | Filtro opcional por valores de opções do algoritmo. Substitua FIELD por uma chave de campo adicional de algorithm_fields -> name na resposta de GET SEPARATION TYPES e, em seguida, passe como valor uma das chaves de options desse campo. Exemplo: options[vocals]=1. |
| additional_options | String | Filtro opcional do tipo "contém", aplicado diretamente aos dados de opções armazenados da tarefa. Prefira options[FIELD] em novas integrações, pois é explícito e mais fácil de compor. |
curl --location --request GET 'https://mvsep.com/api/app/demo?start=0&limit=2'
curl --location --request GET 'https://mvsep.com/api/app/demo?algorithm_id=20&options[vocals]=1&start=0&limit=10'
Para construir filtros de opções, primeiro chame https://mvsep.com/api/app/algorithms e inspecione a lista algorithm_fields de cada algoritmo. Use o campo name dentro de options[FIELD] e use uma das chaves de opção JSON como valor.
Retorna os dados como um array:
| Chave | Valor |
|---|---|
| hash | Hash de separação |
| date | data da separação |
| input_audio | url do áudio de entrada |
| size | tamanho do áudio de entrada |
| algorithm | Contém informações básicas sobre o tipo de separação utilizado (consulte a aba GET SEPARATION TYPES para informações sobre os parâmetros retornados) |
Para registrar o usuário no site MVSEP, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/app/register
| Campo | Tipo | Descrição |
|---|---|---|
| name | String | Nome do usuário |
| String | email do usuário | |
| password | String | senha do usuário |
| password_confirmation | String | repita a senha do usuário |
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"'
| Chave | Valor |
|---|---|
| success |
|
| message | ocorre quando o formulário é válido |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | o formulário é inválido |
Para autenticar o usuário e obter a chave API do usuário, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/app/login
| Campo | Tipo | Descrição |
|---|---|---|
| String | email do usuário | |
| password | String | senha do usuário |
curl --location --request POST 'https://mvsep.com/api/app/login' --form 'email="<email do usuário>"' --form 'password="<senha do usuário>"'
| Chave | Valor |
|---|---|
| success |
|
| data | contém informações quando as credenciais são válidas |
| data -> name | Nome do usuário |
| data -> email | email do usuário |
| data -> api_token | chave de api do usuário. certifique-se de armazená-la em um local seguro e usá-la em operações subsequentes. |
| data -> premium_minutes | créditos restantes do usuário |
| data -> premium_enabled |
se o usuário permitiu que os créditos sejam gastos.
|
| data -> long_filenames_enabled |
se o usuário deseja informações adicionais nos nomes de arquivos:
|
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | credenciais incorretas especificadas |
Para obter informações do usuário, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/app/user
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
curl --location --request GET 'https://mvsep.com/api/app/user?api_token=<Seu Token da API>'
| Chave | Valor |
|---|---|
| success |
|
| data | contém informações quando as credenciais são válidas |
| data -> name | Nome do usuário |
| data -> email | email do usuário |
| data -> api_token | chave de api do usuário. certifique-se de armazená-la em um local seguro e usá-la em operações subsequentes. |
| data -> premium_minutes | créditos restantes do usuário |
| data -> premium_enabled |
se o usuário permitiu que os créditos sejam gastos.
|
| data -> long_filenames_enabled |
se o usuário deseja informações adicionais nos nomes de arquivos:
|
| data -> current_queue | mostra as separações em andamento para o usuário |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | chave de api inválida |
Para obter informações básicas sobre o histórico de separações do usuário, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/app/separation_history
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
| start | Inteiro | (opcional) Ponto de partida de deslocamento, padrão é 0 (ou seja, começa a partir do mais recente) |
| limit | Inteiro | (opcional) Quantidade máxima de resultados retornados, padrão é 10, máximo é 20 |
curl --location --request GET 'https://mvsep.com/api/app/separation_history?api_token=<Seu Token da API>&start=1&limit=2'
| Chave | Valor |
|---|---|
| success |
|
| data | contém uma matriz de informações básicas sobre separações anteriores |
| data -> hash | Hash de separação |
| data -> job_exists | contém uma matriz de informações básicas sobre separações anteriores |
| data -> credits | quantos créditos foram usados na tarefa; nulo se a separação não existir mais |
| data -> time_left | tempo aproximado restante até que a tarefa seja excluída |
| data -> algorithm | Contém informações básicas sobre o tipo de separação utilizado (consulte a aba GET SEPARATION TYPES para informações sobre os parâmetros retornados) |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | chave de api inválida |
Para obter as compras de créditos desta conta, da mais recente para a mais antiga, faça uma chamada GET para a seguinte URL:
https://mvsep.com/api/purchases
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
| limit | Inteiro | (opcional) Quantas compras retornar, de 1 a 100. O padrão é 20. |
| offset | Inteiro | (opcional) Quantas compras ignorar, para paginar o histórico. O padrão é 0. |
| status | String | (opcional) Retorna apenas as compras neste estado, por exemplo succeeded. Omita (ou passe all) para obter tudo o que a página de histórico do site mostra, incluindo checkouts iniciados e nunca concluídos — esses ficam com o status unpaid e não concederam créditos. |
curl --location --request GET 'https://mvsep.com/api/purchases?api_token=<Seu Token da API>&status=succeeded&limit=20'
| Chave | Valor |
|---|---|
| purchases | Uma entrada por compra: payment_id, status, amount, credits concedidos, payment_method (stripe, paddle, yookassa, google_play ou app_store) e date. |
| total | Quantas compras correspondem no total, ignorando limit e offset — use esse valor para paginar. |
| credits | O saldo de créditos atual da conta. |
O MVSEP envia um e-mail quando seu saldo de créditos cai até um limite escolhido por você, para que uma integração em funcionamento não pare de repente. GET retorna a configuração atual; POST altera. O alerta é enviado uma única vez e não se repete até que o saldo volte a subir acima do limite.
GET https://mvsep.com/api/credit_alert
POST https://mvsep.com/api/credit_alert
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
| credit_threshold | Inteiro | (Somente POST, obrigatório) Envia o alerta assim que o saldo atingir ou ficar abaixo deste valor em créditos. 0 desativa o alerta. Alterar o limite rearma um alerta que já tenha sido enviado. |
curl --location --request GET 'https://mvsep.com/api/credit_alert?api_token=<Seu Token da API>'
curl --location --request POST 'https://mvsep.com/api/credit_alert' --form 'api_token=<Seu Token da API>' --form 'credit_threshold=100'
| Chave | Valor |
|---|---|
| credit_threshold | O limite atualmente definido, em créditos. |
| enabled | <code>true</code> quando um limite acima de zero é definido, caso contrário <code>false</code>. |
| credits | O saldo de créditos atual da conta. |
| notified | <code>true</code> assim que o alerta for enviado para a queda atual; se desmarca quando o saldo voltar a subir acima do limite. |
| O endereço para o qual o alerta é enviado. |
Para habilitar o uso premium para o usuário, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/app/enable_premium
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
curl --location --request POST 'https://mvsep.com/api/app/enable_premium' --form 'api_token="<Seu Token da API>"'
| Chave | Valor |
|---|---|
| success |
|
| message | informa sobre o status da operação |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | chave de api inválida |
Para desabilitar o uso premium para o usuário, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/app/disable_premium
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
curl --location --request POST 'https://mvsep.com/api/app/disable_premium' --form 'api_token="<Seu Token da API>"'
| Chave | Valor |
|---|---|
| success |
|
| message | informa sobre o status da operação |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | chave de api inválida |
Para habilitar nomes de arquivos longos para o usuário, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/app/enable_long_filenames
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
curl --location --request POST 'https://mvsep.com/api/app/enable_long_filenames' --form 'api_token="<Seu Token da API>"'
| Chave | Valor |
|---|---|
| success |
|
| message | informa sobre o status da operação |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | chave de api inválida |
Para desabilitar nomes de arquivos longos para o usuário, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/app/disable_long_filenames
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | chave de api do usuário |
curl --location --request POST 'https://mvsep.com/api/app/disable_long_filenames' --form 'api_token="<Seu Token da API>"'
| Chave | Valor |
|---|---|
| success |
|
| message | informa sobre o status da operação |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | chave de api inválida |
Para obter informações sobre as entradas da fila do Verificador de Qualidade, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/quality_checker/queue
| Campo | Tipo | Descrição |
|---|---|---|
| start | Inteiro | (opcional) Ponto de partida de deslocamento, padrão é 0 (ou seja, começa a partir do mais recente) |
| limit | Inteiro | (opcional) Quantidade máxima de resultados retornados, padrão é 10, máximo é 20 |
curl --location --request GET 'https://mvsep.com/api/quality_checker/queue?&start=1&limit=2'
Retorna os dados como um array:
| Chave | Valor |
|---|---|
| id | Número de identificação da entrada |
| dataset_type | Tipo de conjunto de dados escolhido ao adicionar a entrada / tipo de classificação
|
| date | Data de criação da entrada |
| algo_name | Nome do tipo/algoritmo de separação utilizado |
| main_text | Descrição do tipo/algoritmo de separação utilizado |
| proc | Estado do processamento
|
| proc_remote_date | Data e hora de processamento |
| msg | Retorna "OK" se a operação for bem-sucedida; caso contrário, exibe uma mensagem de erro |
| metrics | Informações sobre as métricas da entrada |
| sdr_* (wildcard) | SDR dos stems correspondentes |
| dataset_name | Nome do conjunto de dados |
Para obter informações sobre as classificações do Verificador de Qualidade, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/quality_checker/leaderboard
| Campo | Tipo | Descrição |
|---|---|---|
| dataset_type | String | Tipo de conjunto de dados, o padrão é 0 se não for fornecido.
|
| start | Inteiro | (opcional) Ponto de partida de deslocamento, padrão é 0 (ou seja, começa a partir do mais recente) |
| limit | Inteiro | (opcional) Quantidade máxima de resultados retornados, padrão é 10, máximo é 20 |
| algo_name_filter | String | Filtra nomes de tipo/algoritmo de separação por texto fornecido |
| sort | String | Classifica pelo SDR do stem informado. Você pode obter a lista de valores classificáveis para o tipo de conjunto de dados na chave sortables da resposta. |
curl --location --request GET 'https://mvsep.com/api/quality_checker/leaderboard?&start=1&limit=2&algo_name_filter=MVSep'
| Chave | Valor |
|---|---|
| data | Contém uma matriz de entradas do Verificador de Qualidade. Consulte a resposta de GET QUEUE na seção do Verificador de Qualidade para obter mais informações. |
| dataset_type | Chave do tipo de conjunto de dados usado |
| sortables | Chaves que podem ser usadas para classificar o tipo de conjunto de dados por um determinado stem, em ordem sequencial. |
| sort | Chave de classificação usada, dentre as classificáveis. |
Para criar uma entrada no Verificador de Qualidade, você precisa fazer uma chamada POST para a seguinte URL:
https://mvsep.com/api/quality_checker/add
| Campo | Tipo | Descrição |
|---|---|---|
| api_token | String | (obrigatório) Sua chave API |
| zipfile | Binário | (obrigatório) Arquivo zip a ser processado |
| algo_name | String | (obrigatório) Nome do algoritmo |
| main_text | String | (obrigatório) Descrição do algoritmo |
| dataset_type | String | Tipo de conjunto de dados. O padrão é 0.
|
| password | String | (obrigatório) Senha para excluir o algoritmo |
| ensemble | Inteiro | 0 - o algoritmo não é um ensemble. 1 - o algoritmo é um ensemble |
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"'
| Chave | Valor |
|---|---|
| success |
|
| data | Contém informações sobre a entrada |
| data -> id | ID da entrada |
| data -> link | Link para a entrada |
A API de MVSEP usa os seguintes códigos de erro:
| Código de erro | Significado |
|---|---|
| 400 | o formulário é inválido |
| 401 |
api_token desconhecido ou inválido. Esse erro aparece se você usa uma chave de API desconhecida.
|
Para obter informações sobre a entrada da fila do Verificador de Qualidade pelo ID, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/quality_checker/entry
| Campo | Tipo | Descrição |
|---|---|---|
| id | Inteiro | (obrigatório) ID da entrada |
curl --location --request GET 'https://mvsep.com/api/quality_checker/entry?id=7675'
Para excluir uma entrada da fila do Verificador de Qualidade por ID e senha, você precisa fazer uma chamada GET para a seguinte URL:
https://mvsep.com/api/quality_checker/delete
| Campo | Tipo | Descrição |
|---|---|---|
| id | Inteiro | (obrigatório) ID da entrada |
| password | String | (obrigatório) Senha usada para a entrada |
curl --location 'https://mvsep.com/api/quality_checker/delete' --form 'id="7720"' --form 'password="test"'
| Chave | Valor |
|---|---|
| success |
|
| data->message | Mostra se a entrada foi excluída |
Bibliotecas, aplicativos e integrações criados com base nesta API. Salvo indicação em contrário, estes são projetos da comunidade: não são mantidos pela MVSEP e não podemos garantir seu funcionamento.
Esta versão é distribuída no PyPI com o nome mvsep-cli e lista o MVSEP como autor, o que pode dar a impressão de ser oficial. Ela é publicada e mantida por terceiros, não pelo MVSEP, e o repositório de origem para o qual ele direciona não existe. Ele solicita seu token de API, portanto, leia o código-fonte antes de colar um token nele.
mvsep-cli: pypi.org/project/mvsep-cli