JuhendidAutor: Péter Nagy

Kuidas saada YouTube'i transkriptsioon API abil (curl, Python, JavaScript)

Hangi mis tahes avaliku YouTube'i video transkriptsioon ühe HTTP-päringuga. Töötavad curl-i, Pythoni ja JavaScripti näited, väljundvormingud, veakoodid ja hind.

Tee YouTube'i videost kokkuvõte kohe

Kleebi link ja saa klikitavate ajatemplitega põhipunktid.

YouTube'i transkriptsiooni saamiseks API abil saada üks HTTP-päring video URL-i või ID ja API võtmega ning loe transkriptsioon vastusest. See juhend näitab päringut curl-i, Pythoni ja JavaScriptiga, kasutades sum.video transkriptsiooni API-t, ning käsitleb seejärel vorminguid, vigu ja hinda.

Mida API tagastab

Lõpp-punkt tagastab avaliku YouTube'i video olemasolevad subtiitrid, olgu need autori kirjutatud või YouTube'i automaatselt loodud. See ei transkribeeri heli. Kui videol pole subtiitreid, saad vea, mitte oletuse (täpsemalt allpool).

Põhitõed:

  • Lõpp-punkt: POST https://sum.video/api/v1/transcript (GET töötab samuti)
  • Autentimine: sinu võti päises X-API-Key või Authorization: Bearer <key>
  • Sisend: url või video_id
  • Valikuline lang (vaikimisi en)
  • Valikuline format: json, text või srt

Vastus ütleb ka subtiitriraja tegeliku keele ja selle, kas see loodi automaatselt, nii et tead, millist kvaliteeti oodata.

1. samm: loo API võti

Logi sisse ja loo võti API juhtpaneelil (/dashboard/api sum.video lehel). Sul võib olla kuni 5 aktiivset võtit, mis on mugav testvõtme ja töövõtme lahus hoidmiseks. Sinu esimese võtmega tuleb kaasa 10 tasuta krediiti, mis on piisav 5 transkriptsiooniks, nii et kõike allolevat saad proovida tasuta.

Tee YouTube'i videost kokkuvõte kohe

Kleebi link ja saa klikitavate ajatemplitega põhipunktid.

2. samm: tee esimene päring

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

Kuna GET töötab samuti, saad testida skriptist, mis ainult koostab URL-e. Anna võti parem päises, et see ei satuks logidesse.

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+ või brauser)

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

Hoia võtit serveris. Brauseri koodi pandud võtit saab kopeerida igaüks, kes avab arendajatööriistad.

3. samm: vali õige vorming

Vorming Mida saad Parim jaoks
json Segmendid, igaühel offset ja duration sekundites Ajatemplid, lingid kindlale hetkele, ajapõhine jaotamine
text Lihtne transkriptsioon Viiped, otsinguindeksid, kokkuvõtted
srt Subtiitrifaili sisu Videotöötlusprogrammid, subtiitrite tööriistad

Kui plaanid viidata video kindlale hetkele, kasuta json ja ehita link segmendi offset väärtusest. LLM-i toitmiseks on text väiksem ja lihtsam. Kui tahad hiljem transkriptsioonist käsitsi otsida, vaata kuidas otsida YouTube'i video transkriptsioonist.

4. samm: vali keel

lang on vaikimisi en. Sea see soovitud keelele, näiteks de või es. Vastus teatab tegelikult tagastatud raja keele, nii et kontrolli seda, mitte ära eelda. Videol on sageli ainult üks subtiitrirada ja API tagastab päris subtiitreid, seega ei tõlgi see neid sinu eest.

5. samm: käsitle vigu

Arvesta nende juhtudega esimesest päevast:

  • 404 no_transcript: videol pole subtiitreid või see on otseülekanne, privaatne video või eemaldatud video. Kordamiseks pole midagi. Jäta see vahele või palu kasutajalt teist videot.
  • 402 budget_exceeded: jõudsid sinu määratud igakuise krediidilimiidini. Vaata järgmist jaotist.
  • Kiiruspiirang: iga võti lubab 60 päringut minutis. Hajuta paketttööd ja aeglusta, kui sind piiratakse.
  • Tõrked meie poolel: proovi uuesti pärast lühikest viivitust. Need ei maksa midagi.

Lihtne tsükkel, mis korrab serveriveade korral ja jätab 404 korral vahele, katab enamiku tootmisvajadustest.

Mis see maksab

Iga transkriptsioon maksab 2 krediiti. Päringud, mis ei tagasta transkriptsiooni või ebaõnnestuvad sum.video poolel, ei maksa midagi, nii et 404 ei tühjenda sinu saldot kunagi. Saldot saad vaadata käsuga GET /api/v1/credits.

Krediite müüakse ühekordsete pakettidena, mis ei aegu kunagi:

Pakett Hind Transkriptsiooni kohta
100 krediiti $4.49 $0.090
500 krediiti $13.99 $0.056
2,000 krediiti $37.99 $0.038
5,000 krediiti $74.99 $0.030

Pro tellijad saavad ka igas kuus 100 boonuskrediiti. Raskema töö jaoks, näiteks terve kanali sissevõtmiseks, loe stsenaariumi YouTube'i transkriptsioonid RAG-rakenduse jaoks suures mahus, mis käsitleb automaatset täiendamist ja eelarveid. Vaata ka hindu.

Piirangud, mida tasub enne ehitamist teada

  • Töötavad ainult subtiitritega videod. See on 404 no_transcript peamine põhjus.
  • Automaatselt loodud subtiitrid võivad sisaldada vigu, eriti nimede, aktsentide ja tehniliste terminite puhul.
  • API tagastab ainult transkriptsiooni. See ei tee kokkuvõtet. Kui tahad transkriptsiooni peale kokkuvõtteid, ajatempleid ja vestlust, teeb seda YouTube'i kokkuvõtja ning transkriptsiooni tööriist on koodivaba versioon ühe video jaoks.
  • Ametlik YouTube Data API ei asenda seda siin. Selle subtiitrite allalaadimise meetod nõuab video muutmise luba, seega on see mõeldud sinu enda videotele (Google'i dokumentatsioon).

Allikad

Korduma kippuvad küsimused

Kas saan YouTube'i transkriptsiooni ilma ametliku YouTube Data API-ta?

Jah. sum.video transkriptsiooni API võtab vastu video URL-i või ID ja tagastab olemasolevad subtiitrid ilma Google Cloudi projekti vajaduseta. Google'i enda subtiitrite allalaadimise meetod nõuab video muutmise luba, seega sobib see ainult sinu enda videotele.

Kas API transkribeerib videoid, millel pole subtiitreid?

Ei. See tagastab olemasolevad YouTube'i subtiitrid, käsitsi kirjutatud või automaatselt loodud. Subtiitriteta videod, otseülekanded, privaatsed ja eemaldatud videod tagastavad 404 no_transcript ning see päring ei maksa midagi.

Kui palju üks transkriptsioon maksab?

2 krediiti transkriptsiooni kohta. Paketid ulatuvad 100 krediidist hinnaga $4.49 ($0.090 transkriptsiooni kohta) kuni 5,000 krediidini hinnaga $74.99 ($0.030 transkriptsiooni kohta) ja krediidid ei aegu kunagi.

Millised väljundvormingud on saadaval?

json (segmendid sekundites offset ja duration väärtustega), text ja srt. Sea päringus väli format.

Kuidas ma seda tasuta proovin?

Sinu esimese API võtmega tuleb kaasa 10 tasuta krediiti, see on 5 transkriptsiooni. Pro tellijad saavad lisaks igas kuus 100 boonuskrediiti.

Tee YouTube'i videost kokkuvõte kohe

Kleebi link ja saa klikitavate ajatemplitega põhipunktid.

youtube'i transkriptsiooni apiapi juhendpythonjavascriptcurl

Seotud lugemine

Viimased postitused

Tee mis tahes YouTube'i videost kokkuvõte sekunditega

Proovi sum.video