GidakEgilea: Péter Nagy

Nola lortu YouTube-ko transkripzioa API batekin (curl, Python, JavaScript)

Lortu YouTube-ko edozein bideo publikoren transkripzioa HTTP eskaera bakarrarekin. curl, Python eta JavaScript-eko adibide funtzionalak, irteera-formatuak, errore-kodeak eta kostuak.

Laburtu YouTube bideo bat orain

Itsatsi esteka bat eta lortu puntu nagusiak klik egiteko moduko denbora-markekin.

YouTube-ko transkripzioa API batekin lortzeko, bidali HTTP eskaera bat bideoaren URL edo IDarekin eta API gako batekin, eta irakurri transkripzioa erantzunetik. Gida honek eskaera curl, Python eta JavaScript-ekin erakusten du sum.video-ren Transcript API erabiliz, eta gero formatuak, erroreak eta kostuak aztertzen ditu.

Zer itzultzen duen APIak

Amaiera-puntuak YouTube-ko bideo publiko baten lehendik dauden azpitituluak itzultzen ditu, sortzaileak idatziak zein YouTube-k automatikoki sortuak. Ez du audiorik transkribatzen. Bideoak azpititulurik ez badu, asmatu beharrean errore bat jasoko duzu (jarraian xehetasun gehiago).

Oinarriak:

  • Amaiera-puntua: POST https://sum.video/api/v1/transcript (GET ere badabil)
  • Autentifikazioa: zure gakoa X-API-Key goiburuan, edo Authorization: Bearer <key>
  • Sarrera: url edo video_id
  • lang aukerakoa (lehenespena en)
  • format aukerakoa: json, text edo srt

Erantzunak azpititulu-pistaren benetako hizkuntza ere esaten du, eta automatikoki sortua den ala ez, zer kalitate espero duzun jakiteko.

1. urratsa: sortu API gako bat

Hasi saioa eta sortu gako bat API panelean (/dashboard/api, sum.video-n). Gehienez 5 gako aktibo izan ditzakezu, probetarako gakoa eta produkziokoa bereizteko erabilgarria. Zure lehen gakoak 10 kreditu doan ditu, 5 transkripziorako nahikoa, beraz ondoko guztia kosturik gabe probatu dezakezu.

Laburtu YouTube bideo bat orain

Itsatsi esteka bat eta lortu puntu nagusiak klik egiteko moduko denbora-markekin.

2. urratsa: egin lehen eskaera

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

GET ere badabilenez, URLak eraikitzen dituen script batetik proba dezakezu. Hobe da gakoa goiburuan pasatzea, erregistroetan ager ez dadin.

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+ edo nabigatzailea)

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

Gorde gakoa zerbitzari batean. Nabigatzaileko kodean jarritako gakoa garatzaile-tresnak irekitzen dituen edonork kopia dezake.

3. urratsa: aukeratu formatu egokia

Formatua Zer lortzen duzu Zertarako onena
json Segmentuak, bakoitza segundotan offset eta duration dituena Denbora-markak, bideoko une jakin baterako estekak, denboraren araberako zatiketa
text Transkripzio arrunta Prompt-ak, bilaketa-indizeak, laburpenak
srt Azpititulu-fitxategi baten edukia Bideo-editoreak, azpititulu-tresnak

Bideoko une batera esteka egin nahi baduzu, erabili json eta eraiki esteka segmentuaren offset balioarekin. LLM bati elikatzeko, text txikiagoa eta sinpleagoa da. Geroago transkripzio baten barruan eskuz bilatu nahi baduzu, ikusi nola bilatu YouTube bideo baten transkripzioan.

4. urratsa: aukeratu hizkuntza

lang lehenespenez en da. Ezarri nahi duzun hizkuntzan, adibidez de edo es. Erantzunak benetan itzuli den pistaren hizkuntza adierazten du, beraz egiaztatu ezazu suposatu beharrean. Bideo batek askotan azpititulu-pista bakarra du, eta APIak benetako azpitituluak itzultzen ditu, beraz ez ditu zuretzat itzultzen.

5. urratsa: kudeatu erroreak

Aurreikusi kasu hauek lehen egunetik:

  • 404 no_transcript: bideoak ez du azpititulurik, edo zuzeneko emisioa, bideo pribatua edo ezabatutako bideoa da. Ez dago berriro saiatzeko ezer. Saltatu ezazu, edo eskatu erabiltzaileari beste bideo bat.
  • 402 budget_exceeded: ezarritako hileko kreditu-mugara iritsi zara. Ikusi hurrengo atala.
  • Abiadura-muga: gako bakoitzak 60 eskaera onartzen ditu minutuko. Zabaldu lote-lanak, eta moteldu mugatzen zaituztenean.
  • Gure aldeko akatsak: saiatu berriro atzerapen txiki baten ondoren. Ez dute ezer kostatzen.

Zerbitzari-erroreetan berriro saiatzen eta 404ean saltatzen duen begizta sinple batek produkzioko behar gehienak betetzen ditu.

Zenbat kostatzen den

Transkripzio bakoitzak 2 kreditu kostatzen ditu. Transkripziorik itzultzen ez duten edo sum.video-ren aldetik huts egiten duten eskaerek ez dute ezer kostatzen, beraz 404ek ez du inoiz zure saldoa hustuko. Zure saldoa GET /api/v1/credits bidez ikus dezakezu.

Kredituak behin erosteko paketeetan saltzen dira, eta ez dira inoiz iraungitzen:

Paketea Prezioa Transkripzioko
100 kreditu $4.49 $0.090
500 kreditu $13.99 $0.056
2,000 kreditu $37.99 $0.038
5,000 kreditu $74.99 $0.030

Pro harpidedunek 100 bonus-kreditu ere jasotzen dituzte hilero. Lan astunagoetarako, hala nola kanal oso bat hartzeko, irakurri YouTube-ko transkripzioak RAG aplikazio batentzat eskala handian eszenatokia, birkargatze automatikoa eta aurrekontuak jorratzen dituena. Ikusi prezioak ere.

Eraiki aurretik jakin beharreko mugak

  • Azpititulua duten bideoek bakarrik funtzionatzen dute. Hori da 404 no_transcript-en arrazoi nagusia.
  • Automatikoki sortutako azpitituluek akatsak izan ditzakete, batez ere izenetan, azentuetan eta termino teknikoetan.
  • APIak transkripzioa bakarrik itzultzen du. Ez du laburpenik egiten. Transkripzio baten gainean laburpenak, denbora-markak eta txata nahi badituzu, YouTube-ko laburtzaileak egiten du, eta transkripzio-tresna bideo bakarrerako kode gabeko bertsioa da.
  • YouTube Data API ofiziala ez da ordezkoa hemen. Bere azpititulu-deskargarako metodoak bideoa editatzeko baimena eskatzen du, beraz zure bideoetarako pentsatuta dago (Google-ren dokumentazioa).

Iturriak

Maiz egindako galderak

YouTube-ko transkripzioa lor dezaket YouTube Data API ofizialik gabe?

Bai. sum.video-ren Transcript APIak bideo baten URL edo ID bat jasotzen du eta lehendik dauden azpitituluak itzultzen ditu, Google Cloud proiekturik behar gabe. Google-ren azpititulu-deskargarako metodoak bideoa editatzeko baimena eskatzen du, beraz zure bideoetarako bakarrik balio du.

APIak transkribatzen ditu azpititulurik ez duten bideoak?

Ez. Lehendik dauden YouTube azpitituluak itzultzen ditu, eskuz idatziak edo automatikoki sortuak. Azpititulurik gabeko bideoek, zuzeneko emisioek, bideo pribatuek eta ezabatutakoek 404 no_transcript itzultzen dute, eta eskaera horrek ez du ezer kostatzen.

Zenbat kostatzen du transkripzio batek?

2 kreditu transkripzioko. Paketeak 100 kredituetatik $4.49-an ($0.090 transkripzioko) 5,000 kredituetara $74.99-an ($0.030 transkripzioko) doaz, eta kredituak ez dira inoiz iraungitzen.

Zer irteera-formatu daude?

json (segundotan offset eta duration dituzten segmentuak), text eta srt. Ezarri format eremua eskaeran.

Nola probatu dezaket doan?

Zure lehen API gakoak 10 kreditu doan ditu, hau da, 5 transkripzio. Pro harpidedunek, gainera, 100 bonus-kreditu jasotzen dituzte hilero.

Laburtu YouTube bideo bat orain

Itsatsi esteka bat eta lortu puntu nagusiak klik egiteko moduko denbora-markekin.

youtube-ko transkripzio apiapi tutorialapythonjavascriptcurl

Lotutako irakurketak

Azken argitalpenak

Laburtu edozein YouTube bideo segundotan

Probatu sum.video