Vocal Remover to narzędzie audio dostępne w Jantarisie, które oddziela wokal od reszty zmiksowanego utworu. Podajesz publiczny adres pliku (http lub https) i dostajesz ścieżkę z samym głosem. W zapytaniu nie ma promptu ani dodatkowych ustawień - jakość wyniku zależy głównie od pliku źródłowego, więc warto wysłać możliwie najlepszą wersję nagrania. Odwrotną operację, czyli sam podkład, wykona Music Extractor.
Do czego się nadaje
- Acapella do remiksu lub mash-upu
- Wokal do nauki śpiewu i analizy frazowania
- Materiał do lipsynca w teledysku
- Porównanie wokalu z różnych wersji tego samego utworu
Jak przygotować plik
- Wrzuć plik na serwer lub do chmury tak, żeby był dostępny pod publicznym adresem.
- Wysyłaj najlepszą jakość, jaką masz - WAV lub FLAC zamiast mocno skompresowanego MP3.
- Utnij ciszę na początku i końcu, bo płacisz za minutę audio.
- Gdy potrzebujesz też perkusji i basu osobno, sięgnij po Multistem Splitter.
FAQ
Ile kosztuje oddzielenie wokalu?
Stawka to 2,94 zł za minutę audio, z VAT. Nieudane zadania nie są płatne.
Jak wysłać plik do Vocal Remover?
Podaj publiczny adres pliku w polu audio_url w zapytaniu POST /v1/generate. Szczegóły są w dokumentacji.
Czy mogę publikować wyodrębniony wokal?
Tylko jeśli masz prawa do utworu źródłowego. Narzędzie nie zmienia praw autorskich do nagrania, więc cudzy wokal wolno Ci użyć tylko na zasadach właściciela.
Jak wywołać Vocal Remover przez API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "vocal-remover",
"input": {
"audio_url": "https://example.com/input.mp3"
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "vocal-remover",
"input": {
"audio_url": "https://example.com/input.mp3"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "vocal-remover",
"input": {
"audio_url": "https://example.com/input.mp3"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parametry
| Parametr | Typ | Dozwolone | Domyślnie |
|---|---|---|---|
audio_url * | string |
Ten sam schemat zwraca GET /v1/models/vocal-remover.









