DokumentacjaLinki i ustawienia

Linki i ustawienia

Sprawdź, jakie linki obsługujemy. Wybierz napisy lub transkrypcję AI, ustaw język i włącz podział na rozmówców.

Wyślij link do nagrania z YouTube, X, TikToka, Instagrama, Facebooka lub Bluesky albo dodaj własny plik. W tabeli znajdziesz też pozostałe platformy i dokładne formaty linków do publicznych nagrań.

W body requestu POST /v1/transcriptions możesz dodać trzy opcje: source wybiera napisy lub AI, diarize włącza podział na rozmówców, a language ustawia język. Żadnej z nich nie musisz podawać.

Z jakich platform przyjmujemy linki

Wpisz link w polu url. API samo rozpozna platformę, więc pole platform możesz pominąć. Jeśli je dodasz, jego wartość musi zgadzać się z linkiem.

PlatformaJaki link podać
YouTube (youtube)Pełny link do nagrania w jednym z formatów opisanych niżej.
X (x)Link do posta z filmem na x.com lub twitter.com, np. https://x.com/user/status/1234567890.
TikTok (tiktok)Link do filmu na tiktok.com. Działają też krótkie linki vm.tiktok.com, vt.tiktok.com i www.tiktok.com/t/.
Instagram (instagram)Rolka lub post z filmem na instagram.com: /reel/, /reels/, /p/ lub /tv/. Link może też zawierać nazwę użytkownika przed ścieżką rolki lub posta.
Facebook (facebook)Film lub rolka na facebook.com, także link watch. Przyjmujemy również krótkie linki fb.watch, /share/v/ i /share/r/.
Bluesky (bluesky)Link do posta z filmem na bsky.app, np. https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2.
Twitch (twitch)Nagranie zakończonej transmisji (VOD): twitch.tv/videos/<id> lub /<channel>/v/<id> (zamiast v może też wystąpić video). Klip: clips.twitch.tv/<slug>, twitch.tv/<channel>/clip/<slug> lub /clip/<slug>. Działają hosty twitch.tv, www, m, go i clips.twitch.tv.
Dailymotion (dailymotion)Link w formacie dailymotion.com/video/<id> (z opcjonalnym _title), /embed/video/<id> lub dai.ly/<id>. Działają też www.dailymotion.com i touch.dailymotion.com.
Pinterest (pinterest)Pin z filmem dodanym bezpośrednio na pinterest.com lub www.pinterest.com: /pin/<id>/ lub /pin/<slug>--<id>/. Bierzemy pierwszy blok z takim filmem. Nie przyjmujemy filmów osadzonych z innych stron, obrazów, tablic, linków pin.it ani domen regionalnych.
LinkedIn (linkedin)Publiczny post z filmem dodanym bezpośrednio na linkedin.com lub www.linkedin.com: /posts/<slug>-<activity-id>-<four-character-suffix> albo /feed/update/urn:li:activity:<id>/. Linki do profili, LinkedIn Learning, wydarzeń i lnkd.in nie zadziałają.
Snapchat Spotlight (snapchat)Film ze Spotlight na snapchat.com lub www.snapchat.com: /spotlight/<id>. Relacje i profile nie zadziałają.

Dla Twitcha, Dailymotion, Pinteresta, LinkedIn i Snapchat Spotlight link musi używać HTTPS. Nie może zawierać danych logowania ani niestandardowego portu. Podaj link do pojedynczego, publicznego nagrania. Nie pobierzemy prywatnych postów, treści za logowaniem, trwających lub jeszcze przetwarzanych transmisji, profili, feedów ani kolekcji. Nie przekazujemy cookies konta użytkownika. Parametry czasu w linku nie przycinają nagrania.

Przy klipach Twitcha i Snapchat Spotlight zachowaj otrzymany media_id bez zmian. Może to być ciąg znaków, którego struktury nie należy interpretować. Nie próbuj wyliczać identyfikatora z URL-a.

Na X, TikToku, Instagramie, Facebooku i Bluesky też przyjmujemy tylko publiczne posty. Jeśli w poście jest kilka filmów, przepiszemy pierwszy. Linki do profili, relacji, transmisji na żywo i postów ze zdjęciami na TikToku nie zadziałają. Gdy platforma wymaga logowania, dostaniesz login_required. Jeśli w filmie nie ma ścieżki audio, dostaniesz no_audio. W obu przypadkach nic nie płacisz.

Na YouTube, X, TikToku, Bluesky, Dailymotion i LinkedIn możemy skorzystać z napisów w języku nagrania, o ile są dostępne i da się je odczytać. Instagram, Facebook, Twitch, Pinterest i Snapchat korzystają wyłącznie z transkrypcji AI. Przyjmują auto lub stt, a odrzucają captions. To, czy są napisy, zależy od konkretnego filmu.

Każda platforma i własne pliki mają tę samą stawkę za minutę. Opłatę liczymy według zmierzonej długości nagrania. Krótkie linki działają tylko w formach podanych w tabeli. Jeśli link do udostępniania nie zawiera ID posta w chwili wysłania, API nie dopasuje go wtedy do wcześniejszej transkrypcji. Gdy zależy ci na ponownym użyciu tekstu, wybierz pełny link do posta.

Platforma z napisamiJakie napisy i czasy dostaniesz
YouTube i XPobieramy dostępne ścieżki napisów. Tylko automatyczne napisy z YouTube podają czasy poszczególnych słów.
TikTokKorzystamy z napisów VTT lub SRT dostępnych bezpośrednio na platformie. Dostaniesz czasy całych segmentów.
BlueskyPobieramy napisy z filmów na obsługiwanym, zaufanym PDS. Nie pobieramy ich z dowolnych serwerów federacji, cytowanych filmów ani filmów z innych stron. Dostaniesz czasy segmentów.
DailymotionPobieramy pliki SRT bezpośrednio, bez playlist napisów. Dostaniesz czasy segmentów. Rozpoznane ścieżki en-auto/fr-auto mają oznaczenie auto_generated.
LinkedInPobieramy dostępne ścieżki VTT z publicznych filmów dodanych bezpośrednio do posta, nie z LinkedIn Learning. Dostaniesz czasy segmentów.

Jak podać link do YouTube

W polu url podaj pełny link do filmu. Pole platform pomiń lub ustaw na youtube. Przyjmujemy poniższe formaty, z www. i bez:

Rodzaj linkuPrzykład
Standardowy link do filmuhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
Krótki linkhttps://youtu.be/dQw4w9WgXcQ
Shortshttps://www.youtube.com/shorts/dQw4w9WgXcQ
Link do osadzenia filmuhttps://www.youtube.com/embed/dQw4w9WgXcQ
Ścieżka livehttps://www.youtube.com/live/dQw4w9WgXcQ
Wersja mobilna i muzycznahttps://m.youtube.com/watch?v=dQw4w9WgXcQ, https://music.youtube.com/watch?v=dQw4w9WgXcQ

Nie musisz usuwać parametrów takich jak t, list i si, bo je ignorujemy. Różne formaty linku do tego samego filmu wskazują dla nas jedno nagranie. Zawsze wysyłaj pełny URL. Samo 11-znakowe ID nie wystarczy.

Za link do kanału, samej playlisty lub inny nieobsługiwany link dostaniesz 422 invalid_url. Nieznana wartość platform oznacza 422 unsupported_platform; w odpowiedzi znajdziesz listę supported_platforms.

Pobieramy nagrania publiczne i niepubliczne (unlisted). Jeśli film jest prywatny, ma ograniczenie wiekowe lub trwa transmisja na żywo, dostaniesz odpowiednio media_private, age_restricted lub live_stream. Jeśli masz własny plik, możesz go wysłać bezpośrednio.

source

W polu source wybierasz, czy chcesz pobrać napisy z platformy, czy przepisać dźwięk przez AI.

UstawienieCo zrobimy
auto (domyślnie)Najpierw spróbujemy pobrać napisy w języku nagrania z YouTube, X, TikToka, Bluesky, Dailymotion lub LinkedIn. Jeśli nie da się ich użyć, AI przepisze dźwięk.
captions (tylko napisy)Pobierzemy napisy z platformy, która je obsługuje. Nie pobieramy audio i nie uruchamiamy AI. Jeśli nie ma napisów, których można użyć, dostaniesz no_captions i nic nie zapłacisz. Błąd pobrania treści napisów oznacza fetch_failed. Na pozostałych platformach ta opcja zwraca 422 invalid_request.
sttPominiemy napisy i od razu przepiszemy dźwięk przez AI.

Własne pliki zawsze przepisujemy z dźwięku przez AI. Dla uploadu ustaw source na auto lub stt. Wartość captions zwróci 422 invalid_request.

Napisy muszą być w wybranym języku. Jeśli language ma wartość auto, szukamy ich w oryginalnym języku nagrania. Na YouTube korzystamy z napisów dodanych przez twórcę lub wygenerowanych w tym języku przez platformę. Nie bierzemy automatycznych tłumaczeń. Najpierw wybieramy napisy twórcy, potem ścieżki o nieznanym pochodzeniu, a na końcu napisy generowane automatycznie. Nie zakładaj, że ścieżkę o nieznanym pochodzeniu dodał twórca.

Z X pobieramy dostępne ścieżki VTT. Mają czasy segmentów, bez czasów pojedynczych słów, nawet jeśli napisy powstały automatycznie.

Tryb auto może przejść na STT, jeśli treści napisów nie da się pobrać lub sparsować. Błędy routingu, storage'u lub kodu nie powodują takiego przejścia. Przy stt zawsze pomijamy napisy.

diarize

Opcja diarize pozwala rozdzielić wypowiedzi rozmówców. Domyślnie ma wartość false.

  • Podział na rozmówców wymaga transkrypcji z audio. Jeśli source to auto, ustawienie diarize: true pomija napisy i od razu uruchamia STT.
  • Nie łącz source: "captions" z diarize: true. API zwróci 422 invalid_request.
  • Rozmówcy dostają etykiety Speaker 1, Speaker 2 itd. Znajdziesz je w transcript.speakers i w polu speaker każdego segmentu. Formaty text i srt dodają przed wypowiedzią prefiks Speaker 1: , a vtt używa znacznika głosu <v Speaker 1>.
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }

language

W language wpisz auto lub dwuliterowy kod ISO 639-1, np. en, de albo es. Domyślnie używamy auto.

  • Jeśli pobierasz napisy, wybierasz w ten sposób język ich ścieżki. Przy auto bierzemy oryginalny język nagrania.
  • Przy transkrypcji AI przekazujemy ten kod dostawcy STT jako podpowiedź języka. Z auto język wykrywamy automatycznie. Każdy segment ma własne pole language.

Pole language całej transkrypcji wskazuje język, który przeważa w nagraniu.

Jak odczytać źródło i strukturę transkrypcji

Z pola transcript_source dowiesz się, skąd pochodzi tekst. Możliwe wartości to youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions i speech_to_text.

Przy napisach pole caption_kind ma wartość manual, auto_generated lub null, jeśli nie znamy pochodzenia ścieżki. Wartość null nie oznacza, że napisy dodał twórca.

youtube_captions, caption_kind manualyoutube_captions, caption_kind auto_generatedspeech_to_text
Podział na segmentyOsobny segment dla każdego fragmentu napisówOsobny segment dla każdego fragmentu napisówSegment kończy się przy zmianie rozmówcy lub języka, po znaku kończącym zdanie albo po osiągnięciu limitu 15 sekund
Czasy słów po dodaniu include=wordsNie ma ich: words to nullPoczątek każdego słowa; jego koniec to początek następnego słowaPoczątek i koniec każdego słowa oraz confidence
Podział na rozmówcówNieNieTak, jeśli diarize ma wartość true
Informacja o językuWspólna dla całej ścieżkiWspólna dla całej ścieżkiOsobna dla każdego segmentu

Nie zmieniamy tekstu napisów opublikowanych przez YouTube. Zachowujemy też oznaczenia takie jak [Music]. Do transkrypcji AI możesz wysłać nagranie trwające maksymalnie 5 godzin. Dłuższe zakończy się błędem media_too_long.

Napisy z X (x_captions), TikToka, Bluesky, Dailymotion i LinkedIn mają tylko czasy segmentów, bez podziału na rozmówców. Nawet dla automatycznych napisów include=words zwróci words: null w każdym segmencie. Jeśli potrzebujesz czasów słów z AI, ustaw source: "stt". Żeby rozdzielić rozmówców, użyj diarize: true razem z auto lub stt.

Ile to kosztuje

Za każdą rozpoczętą minutę nagrania zużywasz 1 kredyt. Napisy i transkrypcja AI kosztują tyle samo, więc zmiana źródła nie zmienia stawki. Szczegóły znajdziesz w rozliczeniach i limitach.

Ostatnia aktualizacja 20 października 2026