Jak stworzyć plik SRT lub WebVTT ze znacznikami czasu

Sprawdź, jak stworzyć plik SRT z nagrania i pobrać go przez API. Przyjmujemy własne pliki oraz linki z YouTube, X, TikToka, Instagrama, Facebooka, Bluesky, Dailymotion i LinkedIn, klipy i zakończone VOD-y z Twitcha, piny z filmami z Pinteresta i Snapchat Spotlight. Każdy fragment ma początek i koniec. Tę samą transkrypcję pobierzesz też jako WebVTT, JSON lub tekst ze znacznikami czasu.

  • JSON, tekst, SRT i VTT z jednej transkrypcji
  • Początek i koniec każdego segmentu
  • Dostępne czasy słów przez include=words

Wybierz format do odtwarzacza, montażu lub aplikacji

Jedno ID, cztery formaty
Przy GET /v1/transcriptions/:id podaj format=json, format=text, format=srt lub format=vtt. Bez tego parametru dostaniesz JSON.
Tekst z czasem przy każdej linijce
Połącz format=text z timestamps=true. Każda linijka zacznie się od znacznika [hh:mm:ss], więc łatwiej znajdziesz wypowiedź w nagraniu.
Gotowy plik SRT lub WebVTT
SRT ma typ application/x-subrip, a VTT typ text/vtt i nagłówek WEBVTT. Każdemu segmentowi odpowiada jeden wpis napisów z czasem początku i końca.
Czasy pojedynczych słów, gdy źródło je podaje
Dodaj include=words przy odczycie JSON. Dane słów mogą zawierać start, end, text, confidence i speaker. Przy napisach twórcy words ma wartość null.
Kolejny format bez kolejnej opłaty
Pobierasz te same dane w innym zapisie. Odczyt gotowej transkrypcji nie tworzy nowego zlecenia i nie zużywa minut.

Transkrypcja ze znacznikami czasu do notatek

Pobierz format=text z timestamps=true. Jeśli przy tworzeniu transkrypcji włączysz podział na rozmówców, tekst będzie miał też ich etykiety. Sprawdź parametry pobierania.

To wygodny zapis do czytania i sprawdzania cytatów. Każda linijka wskazuje fragment nagrania, ale nie zawiera całej składni pliku z napisami. Zachowaj obok link lub nazwę pliku. Sam znacznik 00:12:40 nie powie później, o które nagranie chodziło.

W JSON początek i koniec segmentu podajemy w sekundach od początku nagrania. To nie godzina ani data. W odtwarzaczu możesz przeskoczyć do tego miejsca, a w notatkach zapisać je przy cytacie.

Tekst poniżej jest przykładem formatu, nie transkrypcją konkretnego nagrania.

format=text&timestamps=true
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=text&timestamps=true" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"

[00:00:00] Place the microphone near the speaker.
[00:00:04] Record a short test before the interview.

Jak stworzyć plik VTT i czym różni się od SRT

SRT zapisuje ponumerowane fragmenty z czasem początku i końca. WebVTT zaczyna się od WEBVTT i działa z elementem track w HTML. Gdy transkrypcja się skończy, pobierz format=srt lub format=vtt i zapisz odpowiedź jako plik.

Wybierz format obsługiwany przez narzędzie, do którego trafią napisy. SRT często przydaje się w montażu i przy dodawaniu napisów do platform. Do ścieżki napisów w odtwarzaczu HTML użyj WebVTT.

Żaden z tych plików nie nakłada tekstu na obraz ani nie kopiuje stylu napisów z social mediów. Czcionkę, położenie i wygląd ustawiasz w edytorze lub odtwarzaczu.

SRT oddziela milisekundy przecinkiem, WebVTT kropką. Sama zmiana rozszerzenia nie zamieni jednego formatu w drugi. Pobierz właściwy format po tym samym ID. Nie zużyjesz na to kolejnych minut.

format=srt
1
00:00:00,000 --> 00:00:04,200
Place the microphone near the speaker.

2
00:00:04,200 --> 00:00:09,800
Record a short test before the interview.

JSON do podświetlania słów i dokładniejszego montażu

Parametr include=words dodaje dostępne czasy słów do JSON. Przydadzą się do podświetlania tekstu podczas odtwarzania lub wybierania fragmentu na klip. Gdy źródło nie podaje tych danych, dostaniesz words: null. Sprawdź pola słów w API.

Transkrypcja AI podaje początek, koniec i confidence dla słów. Automatyczne napisy YouTube dostarczają początki, a koniec wyznaczamy z początku następnego słowa.

Napisy twórcy z YouTube i wszystkie napisy spoza YouTube nie mają czasów słów. Dotyczy to również automatycznych ścieżek z X, TikToka i Bluesky. Przy napisach z X zobaczysz transcript_source: x_captions. Zapewnij w aplikacji obsługę samych czasów segmentów, gdy words ma wartość null.

Czas słowa pomaga znaleźć miejsce cięcia, ale przed montażem odsłuchaj jego otoczenie. Nie utnij początku głoski ani oddechu. W napisach łącz słowa w czytelne frazy i sprawdź je na ekranie, na którym będą oglądane.

include=words
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?include=words" \
  -H "Authorization: Bearer $TRANSCRIPT1_API_KEY"

Przed importem sprawdź plik i wersję nagrania

Poczekaj na status=completed. Wcześniej API zwraca JSON ze statusem, nawet jeśli prosisz o SRT, VTT lub tekst. Gdy odtwarzacz odrzuca napisy, sprawdź najpierw, czy nie zapisujesz tego JSON jako pliku .srt.

Czasy pasują do początku i długości nagrania, które dodasz. Po wycięciu czołówki czy fragmentu ze środka trzeba je dopasować. Przy przerabianiu nagrania na nowe materiały zachowaj planowany zakres klipu, ale napisy wyrównaj dopiero do końcowego montażu.

Przed publikacją otwórz napisy w docelowym odtwarzaczu i obejrzyj je w normalnym tempie. Sprawdź długość linijek, czas na przeczytanie i oznaczenia rozmówców. Przy napisach dostępnościowych uwzględnij też istotne dźwięki i kontekst obrazu, których sama transkrypcja mowy może nie zawierać.

Zapisz ID transkrypcji obok pobranego pliku. Jeśli później potrzebujesz WebVTT zamiast SRT albo JSON z czasami słów zamiast tekstu, pobierzesz je bez ponownego przepisywania nagrania.

Na start dostajesz 60 minut

Załóż konto, potwierdź e-mail i wykorzystaj 60 minut za darmo. To jednorazowa pula. Bez karty.

Utwórz klucz API

Najczęstsze pytania

Nie ma tu odpowiedzi na twoje pytanie? Napisz do nas

Mogę w ten sposób zamienić wideo na SRT?

Tak. Dodaj link z YouTube lub plik, np. MP4, poczekaj na transkrypcję i pobierz format=srt. Z tej samej transkrypcji dostaniesz też WebVTT, tekst i JSON. Tak samo działa konwersja audio na SRT.

W jakich jednostkach są czasy w JSON?

Pola start i end podajemy w sekundach od początku nagrania. SRT i VTT mają standardowy zapis hh:mm:ss z milisekundami.

Czy napisy z YouTube mają czas każdego słowa?

Automatyczne napisy mają początki słów. Napisy dodane przez twórcę nie mają tych danych, więc words ma wartość null. Transkrypcja AI podaje początek i koniec słowa oraz confidence.

Da się pobrać napisy, zanim transkrypcja się skończy?

Nie. SRT, VTT i tekst pobierzesz dopiero dla gotowej transkrypcji. Wcześniej dostaniesz JSON, w którym sprawdzisz status.