---
title: "API transkrypcji dla wideo i audio"
description: "Zamień linki z YouTube, TikTok, Instagram, LinkedIn i Twitter/X w transkrypcje ze znacznikami czasu za pomocą jednego REST API — najpierw napisy, a gdy ich brak, AI."
canonical: "https://transcript.im/pl/api"
markdown: "https://transcript.im/pl/api.md"
---

# API transkrypcji dla wideo i audio

Zamień linki z YouTube, TikTok, Instagram, LinkedIn i Twitter/X w transkrypcje ze znacznikami czasu za pomocą jednego REST API — najpierw napisy, a gdy ich brak, AI.

## Linki

- [Kanoniczny HTML](https://transcript.im/pl/api)
- [Markdown](https://transcript.im/pl/api.md)


transcript.im udostępnia ten sam potok ekstrakcji, który napędza produkt, jako wersjonowane API transkrypcji. Wyślij URL wideo lub audio i otrzymaj tekst ze znacznikami czasu, w JSON lub jako zwykły tekst, z automatycznie wykrytą platformą. Najpierw wykorzystywane są istniejące napisy; gdy wideo ich nie ma, AI transkrybuje dźwięk, a wynik jest dostarczany asynchronicznie.

- Jeden `url` przyjmuje pełny lub skrócony link i wykrywa YouTube, TikTok, Instagram, LinkedIn i Twitter/X; w przypadku YouTube rozpoznawane jest także samo video id, a `platform` i `externalId` obsługują źródło, które już znasz.
- Najpierw wykorzystywane są napisy; gdy wideo ich nie ma, AI transkrybuje mówiony dźwięk, a przesłany plik lokalny zawsze trafia do rozpoznawania mowy.
- `format=json` zwraca segmenty ze znacznikami czasu, a `format=text` zwraca zwykły tekst gotowy do wklejenia.
- Ekstrakcja wsadowa obejmuje listy URL, playlisty i kanały.
- Eksporty wsadowe obejmują txt, csv, json, srt, vtt i zip; zapisana transkrypcja pobiera się jako txt, srt, vtt, json lub md.
- Zapisane transkrypcje znajdują się w Bibliotece konta, a wyszukiwanie w YouTube obejmuje wyszukiwanie, filmy, kanały, przesłane materiały, playlisty i napisy.
- Pełna specyfikacja jest opublikowana jako dokument OpenAPI.

## Co robi API transcript.im

API transcript.im zamienia publiczny link do wideo lub audio w transkrypcję ze znacznikami czasu, którą Twój produkt może odczytać, zapisać, przeszukać lub przekazać do modelu. Wysyłasz URL; API rozpoznaje platformę, szuka istniejącej ścieżki napisów twórcy i zwraca zapisany tekst ze znacznikiem czasu w każdym wierszu. Gdy wideo nie ma żadnych napisów, API nie zatrzymuje się na błędzie — sięga po transkrypcję AI nagranego dźwięku, dzięki czemu to samo żądanie wciąż zwraca tekst.

Właśnie ta jedna cecha jest sednem API do wyodrębniania transkrypcji: nie potrzebujesz osobnego downloadera, scrapera napisów i usługi zamiany mowy na tekst zszytych razem. API wybiera najtańsze źródło, które działa dla danego linku, utrzymuje znaczniki czasu zgodne z tym, co faktycznie powiedziano, i informuje, jaki język zwróciło. Transkrypcja, która już istnieje, wraca natychmiast; wideo wymagające rozpoznawania mowy trafia do kolejki jako zadanie, więc długie nagranie nigdy nie blokuje Twojego żądania.

- Jedno żądanie, prawdziwy tekst — rozpoznaj link i zwróć segmenty transkrypcji ze znacznikami czasu lub zwykły tekst.
- Najpierw napisy, potem AI — użyj ścieżki twórcy, gdy istnieje, a gdy jej nie ma, transkrybuj dźwięk.
- Domyślnie asynchronicznie dla ASR — identyfikator zadania pozwala odpytywać długą transkrypcję bez blokowania.
- Świadome języka — poproś o priorytet językowy i odczytaj język, który rozpoznało API.
- Niezależne od platformy — wywołujący nie musi wiedzieć, gdzie hostowane jest wideo.

## Jedno API transkrypcji dla pięciu platform

### YouTube

Transkrypcje dla dowolnego publicznego filmu YouTube, Shortsa lub nagrania na żywo, z napisami twórcy w pierwszej kolejności i transkrypcją AI, gdy napisów brakuje. YouTube to także platforma z pełnym zestawem funkcji wyszukiwania — wyszukiwanie, filmy, kanały, przesłane materiały, playlisty i napisy — dostępnych obok samej transkrypcji. Zaległości kanału lub playlista stają się partią transkrypcji ze znacznikami czasu, a pojedynczy link wraca jako czytelny tekst, który możesz przeszukać.

### TikTok

Transkrypcje publicznych filmów TikTok z napisami używanymi w pierwszej kolejności i rozpoznawaniem mowy jako rozwiązaniem zapasowym. Wklej link do filmu i czytaj wypowiedzianą treść jako czysty tekst ze znacznikami czasu, który możesz wykorzystać ponownie, przetłumaczyć lub zacytować. To samo wywołanie obejmuje krótki klip i dłuższy materiał, więc trend, samouczek i nagranie typu talking-head wracają jako tekst.

### Instagram

Transkrypcje publicznych rolek Instagram i postów wideo. Instagram nie ma ścieżki napisów do odczytania, więc wyodrębnianie odbywa się przez asynchroniczne rozpoznawanie mowy: wyślij link, odpytuj zadanie i odbierz tekst, gdy będzie gotowy. Dzięki temu rolka staje się cytowalna i przeszukiwalna, mimo że platforma nigdy nie opublikowała jej słów jako tekstu.

### LinkedIn

Transkrypcje publicznych postów wideo LinkedIn, z napisami używanymi w pierwszej kolejności i rozpoznawaniem mowy jako rozwiązaniem zapasowym. Wynik wraca ze znacznikami czasu, więc prelekcja, klip produktowy lub nagrane spotkanie stają się przeszukiwalnym tekstem, który możesz zacytować i wykorzystać ponownie. Wyciągnij argument z nagrania webinarium albo zamień aktualizację założyciela w szkic, który możesz edytować.

### Twitter/X

Transkrypcje publicznych postów wideo X. X nie ma ścieżki napisów do odczytania, więc wyodrębnianie odbywa się przez asynchroniczne rozpoznawanie mowy: wyślij link, odpytuj zadanie i odbierz tekst ze znacznikami czasu, który możesz przeszukać. Zacytuj film dokładnie lub zarchiwizuj jego wypowiedzianą treść, zanim post zostanie zedytowany lub usunięty.

## Jak przebiega żądanie transkrypcji

Pojedyncze wywołanie prowadzi link lub przesłany plik od danych wejściowych do transkrypcji, a API informuje, którą ścieżką poszło.

- Wyślij źródło — podaj `url`, przekaż `platform` i `externalId`, gdy już je znasz, albo prześlij plik jako `multipart/form-data` do tego samego endpointu.
- Uzyskaj dopasowanie napisów — gdy wideo zawiera napisy w języku z Twojej listy, transkrypcja wraca w odpowiedzi.
- Obsłuż brak dopasowania języka — gdy napisy istnieją, ale żadne nie pasują do Twojej listy, żądanie przechodzi do transkrypcji AI i zwraca `202` z identyfikatorem zadania; `404` z `availableLanguages` jest zwracane tylko wtedy, gdy rozpoznawanie mowy nie jest dozwolone dla wywołującego.
- Wymuś ASR lub skorzystaj z niego jako rozwiązania zapasowego — jawne wpisanie `asr`, wideo bez żadnej ścieżki napisów lub przesłany plik uruchamia zadanie ASR i zwraca identyfikator zadania.
- Odpytuj lub strumieniuj — czytaj zadanie za pomocą `GET /v1/transcript/job/{id}`, aż się powiedzie lub nie, albo subskrybuj jego strumień `/events`, aby otrzymywać postęp wysyłany przez serwer. Zapytanie o zadanie zwraca `200` nawet dla nieudanego zadania, więc rozgałęziaj się na podstawie pola `status`.
- Odczytaj wynik — gotowa transkrypcja zawiera rozpoznany język, długość, segmenty ze znacznikami czasu, a na życzenie metadane, takie jak tytuł, autor i data publikacji.
- Powtarzaj bezpiecznie — transkrypcja, która została już wyodrębniona, jest pobierana z pamięci podręcznej zamiast uruchamiania nowego zadania, więc to samo źródło można zamówić ponownie.
- Najpierw sprawdź — `GET /v1/transcript/info` rozpoznaje źródło i wyświetla języki, które może obsłużyć, zanim zdecydujesz się na wyodrębnienie.

Ponieważ ten sam endpoint obsługuje trafienie w pamięć podręczną i nowe wyodrębnienie, Twoja integracja nie rozgałęzia się na podstawie źródła: zawsze wysyła źródło i reaguje na otrzymany status. Dopasowanie napisów zwraca transkrypcję bezpośrednio, brak dopasowania języka przechodzi do transkrypcji AI i zwraca `202` z identyfikatorem zadania, a naprawdę brakujący zasób lub niedozwolone rozwiązanie zapasowe zwraca `404`. Każda ścieżka zwraca ten sam kształt transkrypcji, gdy tekst jest gotowy.

## Wyodrębnianie wsadowe i eksporty

Rzeczywiste obciążenia rzadko kończą się na jednym filmie, więc API przyjmuje partię jako listę URL, playlistę lub kanał. Każda partia śledzi własne sumy — ile elementów oczekuje, ile się powiodło, a ile nie — i zwraca elementy po jednej stronie, więc długi kanał nie przychodzi jako jeden ogromny ładunek.

- Trzy kształty partii — `POST /v1/batch` przyjmuje listę URL, playlistę lub kanał, wybierane przez wysyłane ciało żądania.
- Niezależny status — jeden nieudany link jest oznaczany osobno i nigdy nie odrzuca reszty partii; nieudane elementy można ponowić za pomocą `/retry`.
- Elementy stronicowane — odczytaj partię za pomocą `GET /v1/batch/{batchId}`, a następnie podążaj za zwróconym tokenem strony, aby pobrać pozostałe elementy.
- Postęp na żywo — każde odpytanie zwraca zaktualizowane liczby, więc wywołujący może pokazać, jaka część długiego przebiegu została ukończona.
- Eksportuj w swoim formacie — pobierz gotową partię z `/export` jako `txt`, `csv`, `json`, `srt`, `vtt` lub `zip`.

W przypadku potoku napisów eksporty `srt` i `vtt` trafiają prosto do edytora lub odtwarzacza. W przypadku archiwum `csv`, `json` i `zip` utrzymują całą bibliotekę nagrań jako przeszukiwalny korpus. Formaty są zgodne z odpowiedziami dla pojedynczej transkrypcji, więc konsument obsługujący jeden wynik już wie, jak odczytać partię.

## Zapisane transkrypcje w bibliotece konta

Wyodrębnianie i przechowywanie są rozdzielone: transkrypcja staje się częścią biblioteki konta, gdy zostanie zapisana, a biblioteka to miejsce, w którym możesz ją później odczytać, przeszukać, pobrać i usunąć bez ponownego uruchamiania wyodrębniania.

- Wyświetl zapisaną zawartość — `GET /v1/library/transcripts` stronicuje transkrypcje konta, rekordy partii i wiersze historii niepowodzeń, z wyszukiwaniem, filtrami platformy i języka oraz sortowaniem.
- Odczytaj jeden element — `GET /v1/library/transcripts/{platform}/{externalId}` zwraca zapisaną transkrypcję według platformy i identyfikatora zewnętrznego lub w podanym języku.
- Pobierz — trasa `/download` eksportuje zapisaną transkrypcję jako `txt`, `srt`, `vtt`, `json` lub `md`.
- Powiązana zawartość — trasa `/related` wyświetla inne zapisane elementy z tego samego kanału.
- Usuń — `DELETE` usuwa element z biblioteki, nie naruszając kopii innych osób.
- Odczyty w zakresie konta — żądanie biblioteki zwraca tylko to, co zapisało konto, i nigdy nie uruchamia nowego wyodrębniania, więc ponowne odwiedzenie zapisanej transkrypcji to odczyt, a nie kolejne zadanie.

## Wyszukiwanie w YouTube poza transkrypcjami

YouTube to platforma, w której API odpowiada także na pytania wokół transkrypcji, używając tych samych nazw zasobów co YouTube Data API.

- Wyszukiwanie — `GET /v1/youtube/search` znajduje filmy, kanały lub playlisty według zapytania i zwraca wyniki stronicowane kursorem.
- Filmy — `GET /v1/youtube/videos` zwraca szczegóły filmu, w tym informację, czy napisy są dostępne.
- Kanały — `GET /v1/youtube/channels` rozpoznaje kanał według identyfikatora lub `@handle`.
- Przesłane materiały kanału — `GET /v1/youtube/channels/{channelId}/videos` przechodzi przez przesłane materiały kanału.
- Elementy playlisty — `GET /v1/youtube/playlists/{playlistId}/items` przechodzi przez playlistę.
- Napisy — `GET /v1/youtube/captions` zwraca metadane ścieżki napisów oraz tekst napisów dla filmu. Nigdy nie uruchamia zadania rozpoznawania mowy: gdy zgłosi `requiresAsync`, wywołaj `POST /v1/transcript`, aby uruchomić transkrypcję.

Wyszukiwanie odpowiada, co transkrybować; wyodrębnianie odpowiada, co powiedziano. Rozdzielenie tych dwóch rzeczy oznacza, że możesz najpierw wyszukiwać i wyliczać, a potem wysłać tylko wybrane linki do żądania transkrypcji lub partii.

## Stworzone do użytku produkcyjnego

Interfejs jest celowo niewielki, a elementy istotne dla usługi są udokumentowane, a nie pozostawione domysłom.

- Jedno poświadczenie — uwierzytelniaj się kluczem API przesyłanym jako token Bearer lub przez `X-API-Key` ze skryptu albo serwera.
- Klucze z zakresami — przyznawaj tylko zakresy potrzebne wywołującemu; `transcripts` i `batches` obejmują ekstrakcję oraz pracę wsadową.
- Ustrukturyzowane błędy — niepowodzenia ekstrakcji i walidacji zwracają obiekt błędu ze stabilnym `code` i czytelnym `message`; odpowiedzi uwierzytelniania (401) i limitu szybkości (429) używają prostszego, płaskiego ciała błędu.
- Limity, na które można zareagować — żądanie objęte limitem szybkości zwraca `429` z `Retry-After`, a udane odpowiedzi niosą nagłówki `X-RateLimit-*`, dzięki czemu klient może prawidłowo się wycofać.
- Opublikowany kontrakt — pełny dokument OpenAPI stoi za API, więc możesz wygenerować klienta, zamockować serwer lub zweryfikować rzeczywiste odpowiedzi względem schematu.
- Odpowiednik dla agentów — to samo konto i te same narzędzia są dostępne z serwera MCP transcript.im, jeśli wywołującym jest klient AI, a nie usługa.

## Powiązane

- [Dokumentacja API](/docs)
- [Dokument OpenAPI](/docs/openapi.json)
- [Serwer MCP](/pl/mcp)
- [Umiejętności agenta](/pl/skills)
- [Transkrypcja z YouTube](/pl/youtube-transcript)
- [Podsumowanie YouTube](/pl/youtube-video-summarizer)
- [Generator napisów YouTube](/pl/youtube-subtitle-generator)
- [Pobierz napisy z YouTube](/pl/youtube-subtitle-downloader)
- [Transkrypcja kanału YouTube](/pl/youtube-channel-transcript)
- [Transkrypcja playlisty YouTube](/pl/youtube-playlist-transcript)
## Najczęstsze pytania o API transkrypcji

### Czym jest API transcript.im?

API transcript.im to interfejs REST, który zamienia publiczny link do wideo lub audio w transkrypcję ze znacznikami czasu, wykorzystując najpierw istniejące napisy, a gdy wideo ich nie ma — transkrypcję AI.

### Jakie platformy obsługuje API transcript.im?

Wyodrębnia transkrypcje z YouTube, TikTok, Instagram, LinkedIn i Twitter/X, rozpoznając platformę na podstawie wysłanego linku. YouTube, TikTok i LinkedIn najpierw korzystają z napisów, a rozpoznawanie mowy służy jako rozwiązanie zapasowe; Instagram i X nie mają ścieżki napisów i od razu przechodzą do rozpoznawania mowy.

### Co się dzieje, gdy wideo nie ma napisów?

Gdy wideo nie ma w ogóle ścieżki napisów, API uruchamia zadanie ASR i zwraca identyfikator zadania; odpytujesz to zadanie, aż transkrypcja będzie gotowa, dzięki czemu żądanie nigdy nie blokuje się na rozpoznawaniu mowy.

### Czy mogę transkrybować lokalny plik audio lub wideo?

Tak. `POST /v1/transcript` przyjmuje ciało `multipart/form-data` z częścią `file` zamiast adresu URL. Przesłany plik od razu trafia do rozpoznawania mowy, więc zwraca zadanie `202` — albo wynik `200`, jeśli zdąży się zakończyć w budżecie oczekiwania.

### Czy API transcript.im może zwracać znaczniki czasu razem z tekstem?

Tak. Odpowiedzi JSON zawierają segmenty ze znacznikami czasu, a odpowiedzi tekstowe mogą zachować prefiks znacznika czasu w każdym wierszu, dzięki czemu możesz wrócić do momentu, w którym wypowiedziano daną kwestię.

### Jak poprosić o transkrypcję w konkretnym języku?

Wyślij rozdzieloną przecinkami listę priorytetów językowych, zawierającą wpisy `asr` i `asr-<code>`. Dopasowanie napisów jest zwracane bezpośrednio; gdy napisy istnieją, ale żadne nie pasują do listy, żądanie przechodzi do transkrypcji AI i zwraca zadanie `202`, a `404` z dostępnymi językami jest zwracane tylko wtedy, gdy rozpoznawanie mowy nie jest dozwolone.

### Skąd mam wiedzieć, kiedy asynchroniczna transkrypcja jest gotowa?

Odpytuj `GET /v1/transcript/job/{id}` tym samym poświadczeniem, aż zgłosi sukces lub porażkę, albo zasubskrybuj `GET /v1/transcript/job/{id}/events`, aby otrzymywać aktualizacje przesyłane przez serwer. Zapytanie o zadanie zwraca `200` nawet gdy zadanie się nie powiodło, więc czytaj pola `status` i `error`, a nie kod HTTP.

### Czy API transcript.im obsługuje ekstrakcję wsadową?

Tak. Partia przyjmuje listę adresów URL, playlistę lub kanał, śledzi status każdego elementu i zwraca elementy po jednej stronie naraz.

### Które formaty eksportu mogę pobrać?

Ukończona partia eksportuje się jako `txt`, `csv`, `json`, `srt`, `vtt` lub `zip`; pojedyncza zapisana transkrypcja pobiera się jako `txt`, `srt`, `vtt`, `json` lub `md`.

### Gdzie znajdują się zapisane transkrypcje?

Biblioteka konta to miejsce, w którym znajdują się zapisane transkrypcje i rekordy partii, pod `/v1/library`. Udostępnia trasy listowania, odczytu, pobierania, powiązane i usuwania, a jej odczyty są ograniczone do konta i nigdy nie uruchamiają nowej ekstrakcji.

### Co zwraca endpoint napisów YouTube?

`GET /v1/youtube/captions` zwraca metadane ścieżki napisów wideo wraz z tekstem napisów. Nigdy nie uruchamia zadania rozpoznawania mowy; gdy zgłosi `requiresAsync`, wywołaj `POST /v1/transcript`, aby przeprowadzić transkrypcję.

### Jak API transcript.im zgłasza błędy i limity szybkości?

Błędy ekstrakcji i walidacji używają obiektu z `code` i `message`; uwierzytelnianie zwraca płaski `401`, a ograniczanie szybkości zwraca płaski `429` z `Retry-After` oraz nagłówkami `X-RateLimit-*`, dzięki czemu klient może prawidłowo się wycofać.

## Dodaj transkrypcje do swojego produktu

Utwórz klucz API, wyślij link do wideo lub plik lokalny, a następnie odczytaj transkrypcję jako JSON lub zwykły tekst.

- [Utwórz klucz API](/app/account/api-keys)
- [Przeczytaj dokumentację](/docs)
