Wprowadzenie
Przepisuje tekst zaśpiewany w pliku audio i zwraca go jako tekst przy zadaniu. Jest nastawiony na wokal na tle muzyki, a nie na samą mowę.
HeartMuLa Transcribe wyciąga z pliku audio zaśpiewany tekst i zwraca go jako tekst. Jedno pole audio, żadnych opcji, wiele języków, rozliczenie za transkrypcję, a nie za minutę.
Najważniejsze funkcje
Nastawiony dokładnie tam, gdzie ogólne rozpoznawanie mowy się sypie
Zaśpiewana linijka przychodzi skompresowana, zdublowana, zalana pogłosem i walcząca o to samo pasmo co instrumenty. Właśnie tego ogólny model mowy nie uczył się rozpoznawać i właśnie tam zwraca strzępy. Ten jest nastawiony dokładnie na taki materiał. Działa to też w drugą stronę: przy wywiadzie albo podcaście, gdzie nie ma z czym walczyć, lepszym narzędziem zostaje ogólny model zamiany mowy na tekst.
Tekst w zadaniu, żadnego pliku do pobrania
Nie powstaje żaden plik, po który trzeba iść. Uruchomienie kończy się na samym zadaniu, a transkrypcja leży w wyniku: żadnego kroku pobierania, żadnego bucketu do zapisu i niczego, co trafiałoby do 14-dniowego przechowywania mediów. Odczytaj tekst z zakończonego zadania i wyślij go prosto tam, gdzie i tak trzymasz teksty utworów.
Zaległy katalog to mnożenie, a sterta krótkich klipów już nie
Długość nigdy nie wchodzi do ceny, więc sześciominutowy utwór kosztuje tyle samo co dwudziestosekundowy refren. Zaległości łatwo więc wycenić — liczba utworów razy jedna liczba — a folder krótkich wycinków okazuje się formą względnie drogą. Warto to wkalkulować: kawałek, który okazuje się instrumentalny, wraca prawie pusty i mimo to liczy się jako udane, płatne wywołanie, więc odsiewaj takie pliki przed wrzuceniem do kolejki.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
audio_url | Tak | URL prowadzący wprost do pliku audio. Strony zwracające HTML kończą się błędem nieprawidłowego materiału. od 1 znaków |
Cennik
$0.05 / transkrypcja
Rozliczenie następuje za transkrypcję, nie za minutę: ubogi wynik z utworu instrumentalnego też jest płatny.
Zastosowania
Zamień mowę w użyteczny tekst
Przepisuje tekst zaśpiewany w pliku audio i zwraca go jako tekst przy zadaniu. Jest nastawiony na wokal na tle muzyki, a nie na samą mowę. Użyj tego trybu do transkrypcji źródła audio lub wideo. Jeśli to możliwe, podaj wyraźne nagranie, a potem sprawdź nazwy, znaczniki czasu i fragmenty o niskiej pewności.
Produkty audio bez cenzury
SpicyAPI nie nakłada filtra treści, więc dosadne linijki wracają przepisane, a nie odrzucone czy złagodzone. Prawa do wysyłanego nagrania nadal są po twojej stronie.
Metadane katalogu muzycznego
Wygeneruj teksty utworów dla całego katalogu, żeby poprawić wyszukiwanie, wyświetlanie i tagowanie. Przy rozliczeniu za wywołanie koszt zaległości jest zwykłym mnożeniem, a nie funkcją łącznego czasu nagrań.
Napisy do wideo z muzyką
Wyciągnij zaśpiewane linijki z utworu, żeby potem rozłożyć je w czasie w napisach do krótkiego wideo, gdzie wokal leży na gęstym miksie.
Wskazówki
Wyślij bezpośredni URL do pliku audio
Pole przyjmuje URL, a nie treść przesyłanego pliku. Ma wskazywać samo nagranie: strona odtwarzacza albo link do udostępniania, które zwracają HTML, kończą się błędem nieprawidłowego materiału, a nie słabą transkrypcją.
Spodziewaj się tekstu przy zadaniu, nie pliku
Transkrypcja wraca jako tekst w wyniku zadania. Nie ma pliku do pobrania i dla tego endpointu nic nie trafia do przechowywania mediów.
Sprawdź wynik przed kolejną iteracją
Na wejściu jeden URL audio, na wyjściu tekst utworu, nie ma czego ustawiać: ani podpowiedzi języka, ani znaczników czasu, ani etykiet głosów, ani wartości pewności, ani wyboru postaci wyniku. Model jest nastawiony na wokal śpiewany na tle muzyki; gęsto warstwowane miksy, wokal szeptany albo krzyczany oraz źródła o bardzo niskim bitrate pogarszają wynik, a nagranie czysto instrumentalne zwraca niewiele albo nic. URL musi prowadzić wprost do pliku audio: strona zwracająca HTML kończy się błędem nieprawidłowego materiału. Ten endpoint nie tworzy żadnego pliku mediów, więc nic z niego nie trafia do 14-dniowego przechowywania mediów.
Szybki start z API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "heartmula/transcribe/speech-to-text",
"input": {
"audio_url": "https://example.com/reference.mp3"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.
