GidilsDa Péter Nagy

Co retschaiver la transcripziun da YouTube cun in API (curl, Python, JavaScript)

Retschaiva la transcripziun da mintga video public da YouTube cun ina dumonda HTTP. Exempels funcziunants en curl, Python e JavaScript, formats, codes d'sbagls e custs.

Resuma ussa in video da YouTube

Taglia in link e survegn ils puncts centrals cun tschientas da temp che funcziunan sco colliaziuns.

Per retschaiver la transcripziun d'in video da YouTube cun in API, trametta ina dumonda HTTP cun l'URL u l'ID dal video ed ina clav API, e legia la transcripziun or da la resposta. Questa guida mussa la dumonda en curl, Python e JavaScript cun l'API da transcripziuns da sum.video e declara lura ils formats, ils sbagls ed ils custs.

Tge che l'API turna

L'endpoint turna ils suttitels existents d'in video public da YouTube, scrits dal creatur u generads automaticamain da YouTube. El na transcriva betg l'audio. Sch'in video n'ha nagins suttitels, survegnas ti in sbagl empè d'ina supposiziun (dapli sutvart).

Ils puncts essenzials:

  • Endpoint: POST https://sum.video/api/v1/transcript (GET funcziuna era)
  • Autentificaziun: tia clav en l'header X-API-Key, u Authorization: Bearer <key>
  • Input: url u video_id
  • lang opziunal (per default en)
  • format opziunal: json, text u srt

La resposta di la lingua vera da la pista da suttitels ed sch'ella è vegnida generada automaticamain, uschè ch'ti sas tge qualitad che ti pos spetgar.

Pass 1: creescha ina clav API

Annunzia-ti e creescha ina clav en il dashboard da l'API (/dashboard/api sin sum.video). Ti pos avair fin 5 clavs activas, quai ch'è util per separar ina clav da test ed ina da producziun. Tia emprima clav vegn cun 10 credits gratuits, avunda per 5 transcripziuns, uschè che ti pos empruvar tut qua sutvart senza pajar nagut.

Resuma ussa in video da YouTube

Taglia in link e survegn ils puncts centrals cun tschientas da temp che funcziunan sco colliaziuns.

Pass 2: fa l'emprima dumonda

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"}'

Perquai che GET funcziuna era, pos ti testar era or d'in script che construescha mo l'URL. Meglier èsi da trametter la clav en l'header, uschè ch'ella na vegn betg en ils logs.

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+ u navigatur)

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());
}

Tegna la clav sin il server. Ina clav en il code dal navigatur po vegnir copiada da mintga persuna che avra ils utensils da svilupader.

Pass 3: tscherna il format tgi

Format Tge che ti survegns Il meglier per
json Segments, mintgin cun offset e duration en secundas Timestamps, colliaziuns ad in mument dal video, partiziun tenor il temp
text Transcripziun en text simpel Prompts, indexs da tschertga, resumaziuns
srt Cuntegn d'ina datoteca da suttitels Editurs da video, utensils da suttitels

Sche ti vuls colliar ad in mument dal video, utilisescha json e construescha la colliaziun or da l'offset dal segment. Per dar ad in LLM è text pli curt e pli simpel. Sche ti vuls pli tard tschertgar a maun en ina transcripziun, guarda co tschertgar en la transcripziun d'in video da YouTube.

Pass 4: tscherna la lingua

lang è per default en. Definescha la lingua giavischada, p.ex. de u es. La resposta di la lingua da la pista turnada en realitad, perquai controlla ella empè da la supponer. Savens ha in video mo ina pista da suttitels, e l'API turna ils suttitels reals, perquai ch'ella na traducescha betg per tai.

Pass 5: tracta ils sbagls

Planisescha gia dal emprim di per questas situaziuns:

  • 404 no_transcript: il video n'ha nagins suttitels, u i sa tracta d'in livestream, d'in video privat u allontanà. Nagut da empruvar danovamain. Salta el u dumonda in auter video a l'utilisader.
  • 402 budget_exceeded: ti has cuntanschì la limita mensila da credits che ti has definì. Guarda la secziun suandanta.
  • Limita da dumondas: mintga clav lubescha 60 dumondas per minuta. Reparta il lavur da batch e va pli plaun cura che ti vegns limità.
  • Sbagls da noss vart: emprova danovamain suenter curt. Quai na custa nagut.

In sempel ciclus che emprova danovamain tar sbagls dal server e salta tar 404 cuvra la gronda part dals basegns da producziun.

Quant custa quai

Mintga transcripziun custa 2 credits. Dumondas che na turnan nagina transcripziun u che fallan da vart da sum.video na custan nagut, perquai na svidass 404 mai tes saldo. Il saldo vesas ti cun GET /api/v1/credits.

Ils credits vegnan vendids en pachets unics che n'expiran mai:

Pachet Pretsch Per transcripziun
100 credits $4.49 $0.090
500 credits $13.99 $0.056
2,000 credits $37.99 $0.038
5,000 credits $74.99 $0.030

Abonents Pro survegnan ultra da quai mintga mais 100 credits bonus. Per lavurs grevas, sco importar in chanal entir, legia il scenari transcripziuns da YouTube per ina app RAG en grond stil che cuvra il recharger automatic e ils budgets. Guarda era ils pretschs.

Limitas che ti dastgas savair avant che construir

  • Be videos cun suttitels funcziunan. Quai è la raschun principala per 404 no_transcript.
  • Suttitels generads automaticamain pon cuntegnair sbagls, surtut en nums, accents e terms tecnics.
  • L'API turna mo la transcripziun. Ella na fa nagins resumaziuns. Sche ti vuls resumaziun, timestamps e chat davart la transcripziun, fa quai il resumader da YouTube, e l'utensil da transcripziun è la versiun senza code per in video.
  • L'API uffiziala YouTube Data n'è qua nagin remplaz. Sia metoda per telechargiar suttitels dumonda l'autorisaziun da modifitgar il video, perquai è ella per tes agens videos (documentaziun da Google).

Funtaunas

Dumondas frequentas

Pos jau retschaiver transcripziuns da YouTube senza l'API uffiziala YouTube Data?

Gea. L'API da transcripziuns da sum.video prenda l'URL u l'ID dal video e turna ils suttitels existents, senza che ti stos avair in project Google Cloud. La metoda da Google per telechargiar suttitels dumonda l'autorisaziun da modifitgar il video, perquai funcziuna ella mo per tes agens videos.

Transcriva l'API videos senza suttitels?

Na. Ella turna ils suttitels existents da YouTube, manuals u generads automaticamain. Videos senza suttitels, livestreams, videos privats e allontanads turnan 404 no_transcript, e questa dumonda n'ha nagins custs.

Quant custa ina transcripziun?

2 credits per transcripziun. Ils pachets van da 100 credits per $4.49 ($0.090 per transcripziun) fin 5,000 credits per $74.99 ($0.030 per transcripziun), e ils credits n'expiran mai.

Tge formats da sortida datti?

json (segments cun offset e duration en secundas), text e srt. Definescha il champ format en la dumonda.

Co pos jau empruvar quai gratuitamain?

Tia emprima clav API vegn cun 10 credits gratuits, quai vul dir 5 transcripziuns. Abonents Pro survegnan ultra da quai mintga mais 100 credits bonus.

Resuma ussa in video da YouTube

Taglia in link e survegn ils puncts centrals cun tschientas da temp che funcziunan sco colliaziuns.

api da transcripziuns youtubetutorial apipythonjavascriptcurl

Lectura cunfinanta

Ultims posts

Resuma mintga video da YouTube en secundas

Empruva sum.video