Claude Opus 5.5 jest już dostępny w SeedRouter

Model APIs

Whisper-1

View Markdown

Prześlij plik audio do transkrypcji lub tłumaczenia na angielski, sprawdzaj zadanie i pobierz tekst, JSON lub napisy.

Whisper-1 zamienia nagraną mowę w tekst. Użyj /v1/audio/transcriptions, aby zachować język wypowiedzi, lub /v1/audio/translations, aby otrzymać angielski. Oba punkty końcowe przyjmują multipart/form-data z przesłanym plikiem. SeedRouter najpierw zwraca ID zadania; pobierz wybrany wynik po jego ukończeniu. Różni się to od synchronicznej odpowiedzi OpenAI SDK.

Playground i aktualne ceny · Pierwszy poradnik transkrypcji · OpenAPI · Markdown

Prześlij nagranie

Przechowuj klucz API na serwerze. Pozwól klientowi HTTP wygenerować separator multipart; nie ustawiaj ręcznie samego nagłówka Content-Type: multipart/form-data bez separatora.

curl https://api.seedrouter.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -F model=whisper-1 \
  -F [email protected] \
  -F language=en \
  -F response_format=verbose_json \
  -F 'timestamp_granularities[]=word' \
  -F 'timestamp_granularities[]=segment'

Odpowiedź potwierdza zadanie, a nie gotową transkrypcję:

{
  "id": "task_example",
  "model": "whisper-1",
  "status": "processing",
  "created_at": 1792376116
}

Zapisz rzeczywiście zwrócone id. Wyślij raz. Utrata połączenia nie rozstrzyga, czy żądanie zostało przyjęte; sprawdź historię zadań przed utworzeniem kolejnego żądania.

Odczytaj wynik

curl "https://api.seedrouter.ai/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

Sprawdzaj stan, dopóki status to processing. Ukończone zadanie zawiera output.url i output.format; nieudane zawiera error.code i error.message. Przekroczenie czasu odpytywania nie jest końcowym stanem zadania. Tylko właściciel zadania może je odczytać. Poniższe przykłady ilustrują strukturę odpowiedzi:

{
  "id": "task_example",
  "model": "whisper-1",
  "status": "completed",
  "output": {
    "format": "verbose_json",
    "url": "https://static.seedrouter.ai/media/tasks/task_example/0.json"
  }
}

Pobierz output.url osobnym żądaniem GET. Plik JSON odczytaj jako JSON, a pozostałe formaty jako tekst. Publiczne odpowiedzi zadań nie zawierają cen ani danych konta.

Parametry transkrypcji

file i model są wymagane. Dziewięć poniższych pól stanowi wspólny interfejs żądania, w tym file, model i jawnie ignorowane stream. Zgodność chunking_strategy pozostaje niepotwierdzona, jak opisano poniżej.

PoleTypDomyślnieKontrakt
filePrzesłanie danych binarnychWymaganeJeden niepusty plik audio, a nie URL ani ciąg z nazwą pliku. Zobacz limity plików.
modelCiąg znakówWymaganeDokładnie whisper-1.
languageCiąg znakówWykrywanie automatyczneWskazówka języka wejścia, np. en. Nie narzuca się lokalnej listy dozwolonych języków. Pomiń, aby wykrywać.
promptCiąg znakówPominiętyKontekst, pisownia lub kontynuacja w języku audio. Nie wprowadza się wymyślonego limitu znaków; Whisper uwzględnia ostatnie 224 tokeny własnego tokenizera. To nie jest ogólny prompt z instrukcjami.
response_formatCiąg znakówjsonjson, text, srt, verbose_json lub vtt.
temperatureLiczba0Zakres 0–1 włącznie. Zero pozwala modelowi automatycznie dostosować temperaturę; nie gwarantuje deterministycznego tekstu.
timestamp_granularities[]Powtarzany ciąg znakówZnaczniki czasu segmentów, gdy mają zastosowanieword, segment lub oba. Wymaga response_format=verbose_json. Akceptowana jest również nazwa powtarzanego pola bez nawiasów timestamp_granularities.
chunking_strategyauto, obiekt VAD lub nullPominiętyPole wspólnego schematu audio, którego zastosowanie do Whisper nie jest rozstrzygnięte. Pomiń dla zweryfikowanego wariantu. Jawne auto nie przeszło weryfikacji zgodności rzeczywistym żądaniem.
streamWartość logiczna lub nullfalseIgnorowane dla Whisper-1. Nie powstaje SSE ani częściowa transkrypcja.

Obiekt VAD zawiera wymagane type: "server_vad", opcjonalną liczbę całkowitą prefix_padding_ms (udokumentowana wartość domyślna 300), opcjonalną liczbę całkowitą silence_duration_ms (domyślnie 200) i opcjonalne liczbowe threshold od 0 do 1 (domyślnie 0,5). Nie wymusza się nieudokumentowanego zakresu liczb całkowitych. Pominięta strategia pozostaje pominięta; te wartości obiektu nie czynią auto domyślną wartością żądania.

Dla zgodności z SDK obiekt VAD można zakodować w jednej części JSON żądania multipart lub jako chunking_strategy[type], chunking_strategy[prefix_padding_ms], chunking_strategy[silence_duration_ms] i chunking_strategy[threshold]. Nie mieszaj obu sposobów. Przyjęcie takiej struktury pól nie potwierdza działania VAD z tym modelem.

Opcjonalne pola tekstowe należy pomijać zamiast podawać dosłowny ciąg multipart null. Pola nieznane i niepasujące do modelu są odrzucane. W szczególności diarized_json, ustawienia referencji mówców, logprobs i zdarzenia czasu rzeczywistego nie są funkcjami Whisper-1. Powielone pola skalarne są nieprawidłowe.

Limity plików

Udokumentowane formaty audio to FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV i WebM. Obecny limit przesyłania wynosi 26,214,400 bajtów (25 MiB). FAQ OpenAI Audio API określa maksymalny rozmiar żądania 25 MiB dla przesyłania do starszego Whisper-1; utrzymuj pliki poniżej limitu, aby zostawić miejsce na pola multipart. Pliki muszą zawierać czytelne audio o dodatnim, mierzalnym czasie. Samo rozszerzenie nie dowodzi poprawności audio.

Nie ma dodatkowego lokalnego limitu jednej godziny, wymogu stałej częstotliwości próbkowania ani ograniczenia do mono. Rozmiar pliku może nadal wymagać dzielenia długich nagrań. Sprawdź granice między częściami, aby nie pominąć ani nie powielić wypowiedzi.

Tłumaczenie na angielski

curl https://api.seedrouter.ai/v1/audio/translations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -F model=whisper-1 \
  -F [email protected] \
  -F response_format=text \
  -F temperature=0

Tłumaczenie ma pięć pól: file, model, prompt, response_format i temperature, o tych samych typach i granicach co powyżej. Opcjonalny prompt powinien być po angielsku. Nie można wybrać języka docelowego. language, ustawienia znaczników czasu, podziału i inne pola wyłącznie transkrypcyjne są odrzucane w tym punkcie końcowym. Udany test tłumaczenia z wejściem po angielsku nie potwierdza dokładności dla każdego języka źródłowego.

Pola pobranego pliku

FormatZawartość
jsonObiekt z text. Transkrypcja może również zawierać usage: {type: "duration", seconds: number}.
textZwykły tekst transkrypcji.
srtNumerowane bloki napisów z kodami czasu SRT.
vttNapisy WebVTT.
verbose_jsontext, language i duration w sekundach; opcjonalne segments, a dla transkrypcji także words i czas usage.

Każde słowo ma word, start i end. Każdy segment ma id, seek, start, end, text, tokens, temperature, avg_logprob, compression_ratio i no_speech_prob. start i end są w sekundach. Segmenty nie identyfikują mówców. Może wystąpić stała task: "transcribe", wyłącznie dla transkrypcji. Pliki tłumaczeń pomijają words i usage przeznaczone tylko dla transkrypcji. Pomiary audio i tekst transkrypcji nie są zmieniane, aby naśladować oczekiwaną odpowiedź.

Rozliczenia

Obie operacje korzystają ze zmierzonego czasu wejścia. Dla każdego nagrania jednostki pomiaru audio wynoszą round(ceil(seconds) × 1000 / 60). Pomnóż je przez aktualną stawkę jednostkową; te jednostki nie liczą tekstu transkrypcji. Na przykład 15 sekund daje 250 jednostek, a 15,1 sekundy — 267. Strona i Playground pobierają tę samą aktualną stawkę. Nieudane żądania nie są płatne.

Stan weryfikacji

Sprawdzono 19 października 2026 r. Lokalne testy od początku do końca ukończyły wszystkie pięć formatów transkrypcji oraz tłumaczenie verbose_json, w tym pobieranie wyników przez właściciela i dokładne obciążenia konta. Transkrypcja z jednoczesnymi znacznikami czasu słów i segmentów zakończyła się powodzeniem. Przesyłanie FLAC, OGG, M4A, MP4 oraz WAV o czasie krótszym niż sekunda lub ułamkowej liczbie sekund przeszło osobne rzeczywiste testy zgodności.

Jawne chunking_strategy=auto zostało odrzucone. Trzy przesłane przypadki obejmujące WebM, MPEG z VAD oraz MPGA z stream=true nie zakończyły się powodzeniem. Nie wskazuje to, które z połączonych ustawień spowodowało odrzucenie. Te formaty i opcje pozostają niezweryfikowane; usługa nie zastępuje po cichu jawnie żądanej strategii. Test tłumaczenia używał angielskiego wejścia, więc jakość tłumaczenia między językami nie została zmierzona. Nie traktuj przyjętego schematu jako dowodu, że każda kombinacja przeszła rzeczywisty test.

Błędy i odzyskiwanie

Nieprawidłowe kombinacje pliku i parametrów są odrzucane przed utworzeniem zadania. Błędy API zawierają liczbowy code i czytelny message; zobacz kody błędów. Po przyjęciu sprawdź końcowy stan zadania. Przy niepewnym wyniku wysłania znajdź istniejące zadanie przed ponownym wysłaniem. Nieudane zadanie nie jest płatne.

Źródła kontraktu

OpenAI ogłosiło wyłączenie Whisper w swoim API 26 lutego 2027 r. Ten komunikat nie określa daty wyłączenia tej usługi. Zobacz komunikat OpenAI o wycofaniu.