Wprowadzenie
Wyślij adres URL nagrania i opcjonalnie język mowy, listę kluczowych terminów i trzy przełączniki: liczby cyframi, wtrącenia i transkrypcja według kanałów. Zadanie zwraca transkrypcję jako tekst oraz transkrypcję strukturalną ze znacznikami czasu słów, wykrytym językiem i długością nagrania; żaden plik nie powstaje. SpicyAPI nie stosuje filtra treści: mowa bez filtra jest transkrybowana tak, jak została wypowiedziana. Rozliczenie następuje za sekundę nagrania.
| Pole | Wartość |
|---|---|
| Wejście | Audio |
| Wyjście | Tekst |
| Pole wymagane |
|
| Pola opcjonalne | language (25 kodów), |
| Wynik | Transkrypcja jako tekst oraz output.transcript ze znacznikami czasu słów, językiem i długością; z multichannel według kanałów |
| Rozliczana ilość | Sekundy nagrania; przesłany plik rezerwuje swoją długość, adres URL maksimum dwóch godzin |
| Typowy czas | Około 3 sekund dla 10-sekundowego klipu, około 15 sekund dla godziny |
| Przechowywanie | Przesłane nagranie jest usuwane po jednym dniu; transkrypcja razem z danymi promptu |
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
audio_url | Tak | Nagranie do przepisania: przesłany plik MP3 lub WAV albo publiczny adres URL do MP3, WAV, M4A, FLAC, OGG, Opus, AAC, MP4 lub MKV. Od 1 sekundy do 2 godzin. od 1 znaków |
language | Nie | Język mowy jako kod języka. Zostaw puste, aby język był wykrywany automatycznie; mowa w każdym obsługiwanym języku jest przepisywana w obu przypadkach. |
text_normalization | Nie | Po włączeniu wypowiedziane liczby, ceny, daty i jednostki są zapisywane cyframi — „$1,250” i „March 14” zamiast słów. Wymaga language. Domyślnie: |
keyterms | Nie | Do 100 słów lub krótkich wyrażeń (po 50 znaków), którym transkrypcja ma dawać pierwszeństwo — nazwy, marki, żargon. Nie wpływa na cenę. Domyślnie: |
filler_words | Nie | Po włączeniu wtrącenia, takie jak um i uh, zostają w transkrypcji; przy wyłączeniu (domyślnie) są usuwane. Nie wpływa na cenę. Domyślnie: |
multichannel | Nie | Po włączeniu każdy kanał pliku wielokanałowego (do 8) jest przepisywany osobno i zwracany w osobnej linii, w kolejności kanałów. Używaj, gdy mówcy są nagrani na osobnych kanałach. Domyślnie: |
Cennik
$0.00003 / sekunda nagrania
Rozliczenie za sekundę nagrania. Przy tworzeniu zadania rezerwowana jest cena faktycznej długości przesłanego pliku albo, dla adresu URL nagrania, cena maksymalnych dwóch godzin; płacisz za faktyczną długość, a reszta jest zwalniana. Nieudane żądanie nie jest rozliczane.
Zastosowania
Notatki głosowe i historie audio
Mowa bez filtra jest transkrybowana tak, jak jest wypowiadana, więc wiadomości głosowe, nagrania z roleplay i historie audio można przeszukiwać, opisywać napisami lub edytować jako tekst.
Nagrania rozmów
Nagrania z każdą stroną na osobnym kanale wracają z włączonym multichannel jako jedna linia na stronę. Bez tej opcji nasze testy zwracały tylko jedną z dwóch stron, więc przy rozmowach z rozdzielonymi kanałami ją włącz.
Sprawdzanie wygenerowanej mowy
Przepuść wynik syntezy mowy z powrotem przez model i porównaj transkrypcję ze scenariuszem: pominięte słowa, ucięte zakończenie albo przeczytany na głos tag widać od razu.
Nazwy, marki i liczby
Dodaj nietypowe nazwy jako kluczowe terminy i włącz normalizację tekstu: transkrypcja zapisze nazwy po twojemu, a ceny i daty jako $1,250 czy March 14.
Wskazówki
Wskaż nagranie w
audio_urlPrześlij plik MP3 lub WAV albo podaj publiczny adres URL, który odpowiada samym nagraniem — strona odtwarzacza albo link do udostępniania zwracający HTML nie zadziała. Od 1 sekundy do 2 godzin.
Dodaj to, co wiesz
Ustaw language, jeśli znasz język, wypisz nazwy i marki w keyterms i włącz
text_normalization, jeśli liczby mają być zapisane cyframi.text_normalizationwymaga language.Odczytaj tekst z zadania
Transkrypcja przychodzi jako tekst w wyniku zadania, a output.transcript wymienia każde słowo z czasem początku i końca. Z multichannel jest jedna linia na kanał, w kolejności kanałów. Skopiuj ją do własnego magazynu, jeśli będzie potrzebna później.
Co jest zwracane
Transkrypcja jako tekst w wyniku zadania oraz output.transcript: wykryty język i jego kod, długość nagrania w sekundach i każde słowo z czasem początku i końca w sekundach. Przy multichannel pole output.transcript.channels zawiera to samo dla każdego kanału. Żaden plik nie powstaje i nic nie trafia do magazynu multimediów. Oznaczenia mówców nie są częścią wyniku.
Wysyłanie nagrania
audio_url przyjmuje przesłany plik MP3 lub WAV albo publiczny adres URL do MP3, WAV, M4A, FLAC, OGG, Opus, AAC, MP4 lub MKV, o długości od 1 sekundy do 2 godzin. Adres URL musi odpowiadać samym nagraniem. Surowy dźwięk bez nagłówka pliku (PCM, μ-law, A-law) nie jest przyjmowany.
Język i liczby
Gdy language jest puste, język jest wykrywany; mowa w każdym z 25 obsługiwanych języków jest przepisywana w obu przypadkach. Ustaw je i włącz text_normalization, aby liczby, ceny, daty i jednostki były zapisywane w formie pisanej — w naszym teście „one thousand two hundred fifty dollars on March fourteenth” zmieniło się w „$1,250 on March 14”. text_normalization wymaga language.
Kluczowe terminy i wtrącenia
keyterms przyjmuje do 100 terminów o długości do 50 znaków, po jednym w wierszu. W naszym teście „Xandrelle” i „Qorvessa” bez nich wróciły jako „Xandrel” i „Corvessa”, a z nimi — dokładnie poprawnie. filler_words zachowuje um i uh, które domyślnie są usuwane.
Kilka kanałów
Włącz multichannel dla nagrań, w których każda osoba ma własny kanał. Każdy kanał jest przepisywany osobno i zwracany w osobnej linii, w kolejności kanałów. Zostaw wyłączone tylko wtedy, gdy wszystkie kanały niosą ten sam dźwięk: w naszych testach plik stereo z inną osobą na każdej stronie wrócił bez jednej z dwóch osób.
Rozliczenie
Za sekundę nagrania. Przy tworzeniu zadania rezerwowana jest cena faktycznej długości przesłanego pliku albo, dla adresu URL nagrania, cena maksymalnych dwóch godzin; płacisz za faktyczną długość, a reszta jest zwalniana. Żadna opcja nie wpływa na cenę. Nieudane żądania nie są rozliczane.
Treść
SpicyAPI nie dodaje filtra treści. W naszych testach mowa bez filtra wracała słowo w słowo, bez gwiazdek, piskań i luk.
SpicyAPI nie dodaje filtra treści: mowa jest transkrybowana tak, jak została wypowiedziana, zamiast być maskowana lub odrzucana. Odpowiadasz za prawa do wysyłanego nagrania i za zgodę nagranych osób.
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": "xai/grok-stt/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.





