UdhëzuesNga Péter Nagy

Si ta marrësh transkriptin e një videoje në YouTube me një API (curl, Python, JavaScript)

Merr transkriptin e çdo videoje publike në YouTube me një kërkesë HTTP. Shembuj që funksionojnë në curl, Python dhe JavaScript, formate dalëse, kode gabimi dhe kosto.

Përmblidhni një video në YouTube tani

Ngjisni një lidhje dhe merrni pikat kryesore me kohëmatës të klikueshëm.

Për të marrë transkriptin e një videoje në YouTube me një API, dërgo një kërkesë HTTP me URL-në ose ID-në e videos dhe një çelës API, pastaj lexo transkriptin nga përgjigjja. Ky udhëzues e tregon kërkesën në curl, Python dhe JavaScript me API-n e transkripteve të sum.video, pastaj shpjegon formatet, gabimet dhe koston.

Çfarë kthen API-ja

Endpoint-i kthen titrat ekzistues të një videoje publike në YouTube, të shkruar nga krijuesi ose të gjeneruar automatikisht nga YouTube. Nuk e transkripton audion. Nëse videoja nuk ka titra, merr një gabim në vend të një hamendjeje (më poshtë më shumë).

Thelbi:

  • Endpoint: POST https://sum.video/api/v1/transcript (funksionon edhe GET)
  • Autentikimi: çelësi yt në header-in X-API-Key, ose Authorization: Bearer <key>
  • Hyrja: url ose video_id
  • lang opsional (si parazgjedhje en)
  • format opsional: json, text ose srt

Përgjigjja tregon gjuhën reale të pistës së titrave dhe nëse është gjeneruar automatikisht, që të dish çfarë cilësie të presësh.

Hapi 1: krijo një çelës API

Hyr dhe krijo një çelës në panelin e API-së (/dashboard/api në sum.video). Mund të kesh deri në 5 çelësa aktivë, gjë e dobishme për ta ndarë çelësin e testimit nga ai i prodhimit. Çelësi yt i parë vjen me 10 kredite falas, sa për 5 transkripte, kështu që gjithçka më poshtë mund ta provosh pa kosto.

Përmblidhni një video në YouTube tani

Ngjisni një lidhje dhe merrni pikat kryesore me kohëmatës të klikueshëm.

Hapi 2: bëj kërkesën e parë

curl

curl -X POST https://sum.video/api/v1/transcript \
  -H "X-API-Key: $SUMVIDEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en", "format": "text"}'

Meqë funksionon edhe GET, mund të testosh edhe nga një skript që vetëm ndërton URL-në. Është më mirë ta dërgosh çelësin në header, që të mos përfundojë në regjistra.

Python

import os
import requests

resp = requests.post(
    "https://sum.video/api/v1/transcript",
    headers={"X-API-Key": os.environ["SUMVIDEO_API_KEY"]},
    json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
    timeout=30,
)

if resp.status_code == 404:
    print("No captions for this video")
else:
    resp.raise_for_status()
    print(resp.text)

JavaScript (Node 18+ ose shfletues)

const resp = await fetch("https://sum.video/api/v1/transcript", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.SUMVIDEO_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    video_id: "dQw4w9WgXcQ",
    lang: "en",
    format: "text",
  }),
});

if (resp.status === 404) {
  console.log("No captions for this video");
} else if (!resp.ok) {
  throw new Error(`Request failed: ${resp.status}`);
} else {
  console.log(await resp.text());
}

Mbaje çelësin në server. Një çelës në kodin e shfletuesit mund ta kopjojë kushdo që hap mjetet e zhvilluesit.

Hapi 3: zgjidh formatin e duhur

Formati Çfarë merr Më i miri për
json Segmente, secili me offset dhe duration në sekonda Vula kohore, lidhje me një çast të videos, ndarje sipas kohës
text Transkript në tekst të thjeshtë Prompte, indekse kërkimi, përmbledhje
srt Përmbajtja e një skedari titrash Redaktorë videosh, mjete titrimi

Nëse planifikon të lidhesh me një çast të videos, përdor json dhe ndërtoje lidhjen nga offset i segmentit. Për një LLM, text është më i shkurtër dhe më i thjeshtë. Nëse më vonë do të kërkosh me dorë brenda një transkripti, shih si të kërkosh në transkriptin e një videoje në YouTube.

Hapi 4: zgjidh gjuhën

lang është si parazgjedhje en. Vendos gjuhën që do, si de ose es. Përgjigjja tregon gjuhën e pistës që u kthye realisht, prandaj kontrolloje në vend që ta supozosh. Shpesh një video ka vetëm një pistë titrash, dhe API-ja kthen titrat reale, ndaj nuk përkthen për ty.

Hapi 5: trajto gabimet

Planifiko që nga dita e parë për këto raste:

  • 404 no_transcript: videoja nuk ka titra, ose është transmetim live, video private ose e hequr. Nuk ka çfarë të provosh përsëri. Anashkaloje ose kërkoji përdoruesit një video tjetër.
  • 402 budget_exceeded: ke arritur kufirin mujor të krediteve që ke vendosur. Shih seksionin tjetër.
  • Kufiri i kërkesave: çdo çelës lejon 60 kërkesa në minutë. Shpërndaji punët në grupe dhe ngadalëso kur kufizohesh.
  • Dështime nga ana jonë: provo sërish pas pak. Nuk kushtojnë asgjë.

Një cikël i thjeshtë që provon sërish te gabimet e serverit dhe kapërcen te 404 mbulon pjesën më të madhe të nevojave të prodhimit.

Sa kushton

Çdo transkript kushton 2 kredite. Kërkesat që nuk kthejnë transkript ose dështojnë nga ana e sum.video nuk kushtojnë asgjë, ndaj një 404 nuk ta zbraz kurrë gjendjen. Gjendjen e sheh me GET /api/v1/credits.

Kreditet shiten në paketa një herë që nuk skadojnë kurrë:

Paketa Çmimi Për transkript
100 kredite $4.49 $0.090
500 kredite $13.99 $0.056
2,000 kredite $37.99 $0.038
5,000 kredite $74.99 $0.030

Abonentët Pro marrin edhe 100 kredite bonus çdo muaj. Për punë të rënda, si importimi i një kanali të tërë, lexo skenarin transkripte YouTube për një aplikacion RAG në shkallë të madhe, që mbulon rimbushjen automatike dhe buxhetet. Shih edhe çmimet.

Kufizime që duhen njohur para se të ndërtosh

  • Funksionojnë vetëm videot me titra. Është shkaku kryesor i 404 no_transcript.
  • Titrat e gjeneruar automatikisht mund të kenë gabime, sidomos te emrat, theksat dhe termat teknikë.
  • API-ja kthen vetëm transkriptin. Nuk bën përmbledhje. Nëse do përmbledhje, vula kohore dhe bisedë për transkriptin, e bën përmbledhësi i YouTube, ndërsa mjeti i transkripteve është versioni pa kod për një video.
  • API-ja zyrtare YouTube Data nuk është zëvendësim këtu. Metoda e saj e shkarkimit të titrave kërkon leje për ta ndryshuar videon, ndaj është për videot e tua (dokumentimi i Google).

Burimet

Pyetje të shpeshta

A mund të marr transkripte nga YouTube pa API-n zyrtare YouTube Data?

Po. API-ja e transkripteve të sum.video merr URL-në ose ID-në e videos dhe kthen titrat ekzistues, pa nevojën për një projekt Google Cloud. Metoda zyrtare e Google për shkarkimin e titrave kërkon leje për ta ndryshuar videon, ndaj funksionon vetëm për videot e tua.

A i transkripton API-ja videot pa titra?

Jo. Kthen titrat ekzistues të YouTube, të shkruar me dorë ose të gjeneruar automatikisht. Videot pa titra, transmetimet live, videot private dhe të hequra kthejnë 404 no_transcript, dhe ajo kërkesë nuk kushton asgjë.

Sa kushton një transkript?

2 kredite për transkript. Paketat shkojnë nga 100 kredite për $4.49 ($0.090 për transkript) deri te 5,000 kredite për $74.99 ($0.030 për transkript), dhe kreditet nuk skadojnë kurrë.

Cilat formate dalëse ka?

json (segmente me offset dhe duration në sekonda), text dhe srt. Vendos fushën format në kërkesë.

Si ta provoj falas?

Çelësi yt i parë API vjen me 10 kredite falas, pra 5 transkripte. Abonentët Pro marrin edhe 100 kredite bonus çdo muaj.

Përmblidhni një video në YouTube tani

Ngjisni një lidhje dhe merrni pikat kryesore me kohëmatës të klikueshëm.

api transkripti youtubeudhëzues apipythonjavascriptcurl

Lexime të ngjashme

Postimet e fundit

Përmblidhni çdo video në YouTube në sekonda

Provo sum.video