လမ်းညွှန်များရေးသားသူ Péter Nagy

API ဖြင့် YouTube စာသားမှတ်တမ်းကို ဘယ်လိုရယူမလဲ (curl, Python, JavaScript)

အများသုံး YouTube ဗီဒီယိုတစ်ခုခုရဲ့ စာသားမှတ်တမ်းကို HTTP တောင်းဆိုမှုတစ်ခုတည်းနဲ့ ရယူပါ။ curl, Python, JavaScript နဲ့ အလုပ်လုပ်တဲ့ ဥပမာများ၊ ထုတ်လွှင့်မှုပုံစံများ၊ အမှားကုဒ်များနဲ့ ကုန်ကျစရိတ်။

YouTube ဗီဒီယိုကို အခုပဲ အနှစ်ချုပ်ပါ

လင့်ခ်တစ်ခုကို ကူးထည့်ပြီး ကလစ်လုပ်နိုင်သော အချိန်မှတ်တမ်းများနှင့် အဓိကအချက်များကို ရယူပါ။

API ဖြင့် YouTube စာသားမှတ်တမ်းကို ရယူရန် ဗီဒီယိုရဲ့ URL သို့မဟုတ် ID နဲ့ API ကီးတစ်ခုပါတဲ့ HTTP တောင်းဆိုမှုတစ်ခု ပို့ပြီး တုံ့ပြန်မှုထဲက စာသားမှတ်တမ်းကို ဖတ်ပါ။ ဒီလမ်းညွှန်က sum.video Transcript API ကို သုံးပြီး curl, Python, JavaScript မှာ တောင်းဆိုမှုကို ပြသပြီး၊ ပုံစံများ၊ အမှားများနဲ့ ကုန်ကျစရိတ်ကို ဆက်ရှင်းပြပါတယ်။

API က ဘာကို ပြန်ပေးသလဲ

ဒီ endpoint က အများသုံး YouTube ဗီဒီယိုရဲ့ ရှိပြီးသား စာတန်းထိုးများကို ပြန်ပေးပါတယ်၊ ဖန်တီးသူက ရေးထားတာဖြစ်စေ YouTube က အလိုအလျောက် ဖန်တီးထားတာဖြစ်စေ။ အသံကို စာသားအဖြစ် မပြောင်းပေးပါဘူး။ ဗီဒီယိုမှာ စာတန်းထိုး မရှိရင် ခန့်မှန်းချက်အစား အမှားတစ်ခု ရပါမယ် (အောက်မှာ ပိုမိုရှင်းပြထားပါတယ်)။

အခြေခံများ-

  • Endpoint: POST https://sum.video/api/v1/transcript (GET လည်း အလုပ်လုပ်ပါတယ်)
  • အထောက်အထားစိစစ်ခြင်း: သင့်ကီးကို X-API-Key header မှာ၊ သို့မဟုတ် Authorization: Bearer <key>
  • ထည့်သွင်းမှု: url သို့မဟုတ် video_id
  • ရွေးချယ်နိုင်သော lang (မူလတန်ဖိုး en)
  • ရွေးချယ်နိုင်သော format: json, text သို့မဟုတ် srt

တုံ့ပြန်မှုက စာတန်းထိုး တရက်ရဲ့ အမှန်တကယ် ဘာသာစကားနဲ့ အလိုအလျောက် ဖန်တီးထားခြင်း ရှိမရှိကိုလည်း ပြောပြတာကြောင့် ဘယ်လိုအရည်အသွေးကို မျှော်လင့်ရမယ်ဆိုတာ သိနိုင်ပါတယ်။

အဆင့် 1: API ကီး ဖန်တီးပါ

ဝင်ရောက်ပြီး API ဒက်ရှ်ဘုတ် (sum.video မှာ /dashboard/api) မှာ ကီးတစ်ခု ဖန်တီးပါ။ အသုံးပြုနေသော ကီး 5 ခုအထိ ရှိနိုင်ပြီး စမ်းသပ်ကီးနဲ့ ထုတ်လုပ်မှုကီးကို ခွဲထားဖို့ အသုံးဝင်ပါတယ်။ သင့်ပထမကီးမှာ အခမဲ့ ခရက်ဒစ် 10 ပါလာပြီး စာသားမှတ်တမ်း 5 ခုအတွက် လုံလောက်တာကြောင့် အောက်ပါအရာအားလုံးကို ကုန်ကျစရိတ်မရှိဘဲ စမ်းကြည့်နိုင်ပါတယ်။

YouTube ဗီဒီယိုကို အခုပဲ အနှစ်ချုပ်ပါ

လင့်ခ်တစ်ခုကို ကူးထည့်ပြီး ကလစ်လုပ်နိုင်သော အချိန်မှတ်တမ်းများနှင့် အဓိကအချက်များကို ရယူပါ။

အဆင့် 2: ပထမတောင်းဆိုမှု ပြုလုပ်ပါ

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 လည်း အလုပ်လုပ်တာကြောင့် URL တွေကိုပဲ တည်ဆောက်တဲ့ စခရစ်ကနေလည်း စမ်းသပ်နိုင်ပါတယ်။ ကီးကို မှတ်တမ်းထဲ မဝင်စေရန် header ထဲမှာ ပေးတာ ပိုကောင်းပါတယ်။

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+ သို့မဟုတ် ဘရောက်ဇာ)

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

ကီးကို ဆာဗာပေါ်မှာ ထားပါ။ ဘရောက်ဇာကုဒ်ထဲက ကီးကို developer tools ဖွင့်တဲ့ ဘယ်သူမဆို ကူးယူနိုင်ပါတယ်။

အဆင့် 3: မှန်ကန်တဲ့ ပုံစံကို ရွေးပါ

ပုံစံ သင်ရတာ အကောင်းဆုံးအတွက်
json အပိုင်းများ၊ တစ်ခုချင်းစီမှာ စက္ကန့်ဖြင့် offset နဲ့ duration အချိန်တံဆိပ်များ၊ ဗီဒီယိုထဲက အချိန်တစ်ခုသို့ လင့်ခ်များ၊ အချိန်အလိုက် ခွဲခြမ်းခြင်း
text ရိုးရိုးစာသားမှတ်တမ်း prompt များ၊ ရှာဖွေရေးအညွှန်းများ၊ အကျဉ်းချုပ်များ
srt စာတန်းထိုးဖိုင်ရဲ့ အကြောင်းအရာ ဗီဒီယိုတည်းဖြတ်ကိရိယာများ၊ စာတန်းထိုးကိရိယာများ

ဗီဒီယိုထဲက အချိန်တစ်ခုကို လင့်ခ်ချိတ်ဖို့ စီစဉ်ရင် json ကိုသုံးပြီး အပိုင်းရဲ့ offset ကနေ လင့်ခ်ကို တည်ဆောက်ပါ။ LLM ကို ထည့်ပေးဖို့ text က ပိုသေးပြီး ပိုရိုးရှင်းပါတယ်။ နောက်မှ စာသားမှတ်တမ်းထဲမှာ ကိုယ်တိုင်ရှာချင်ရင် YouTube ဗီဒီယိုရဲ့ စာသားမှတ်တမ်းထဲမှာ ဘယ်လိုရှာမလဲ ကို ကြည့်ပါ။

အဆင့် 4: ဘာသာစကား ရွေးပါ

lang ရဲ့ မူလတန်ဖိုးက en ပါ။ လိုချင်တဲ့ ဘာသာစကားကို သတ်မှတ်ပါ၊ ဥပမာ de သို့မဟုတ် es။ တုံ့ပြန်မှုက အမှန်တကယ် ပြန်ပေးခဲ့တဲ့ တရက်ရဲ့ ဘာသာစကားကို ပြောပြတာကြောင့် ခန့်မှန်းမယ့်အစား စစ်ဆေးပါ။ ဗီဒီယိုတစ်ခုမှာ စာတန်းထိုး တရက်တစ်ခုပဲ ရှိတတ်ပြီး API က စစ်မှန်တဲ့ စာတန်းထိုးကို ပြန်ပေးတာကြောင့် သင့်အတွက် ဘာသာမပြန်ပေးပါဘူး။

အဆင့် 5: အမှားများကို ကိုင်တွယ်ပါ

ပထမနေ့ကတည်းက ဒီအခြေအနေတွေကို စီစဉ်ထားပါ-

  • 404 no_transcript: ဗီဒီယိုမှာ စာတန်းထိုးမရှိ၊ ဒါမှမဟုတ် တိုက်ရိုက်ထုတ်လွှင့်မှု၊ ကိုယ်ပိုင်ဗီဒီယို သို့မဟုတ် ဖယ်ရှားထားတဲ့ ဗီဒီယိုဖြစ်ပါတယ်။ ပြန်စမ်းစရာ မရှိပါဘူး။ ကျော်သွားပါ၊ ဒါမှမဟုတ် အသုံးပြုသူကို အခြားဗီဒီယို တောင်းပါ။
  • 402 budget_exceeded: သင်သတ်မှတ်ထားတဲ့ လစဉ်ခရက်ဒစ်ကန့်သတ်ချက်ကို ရောက်ပါပြီ။ နောက်အပိုင်းကို ကြည့်ပါ။
  • နှုန်းကန့်သတ်ချက်: ကီးတစ်ခုစီက တစ်မိနစ်ကို တောင်းဆိုမှု 60 ခွင့်ပြုပါတယ်။ အစုလိုက်အလုပ်တွေကို ခြားပြီးလုပ်ပါ၊ ကန့်သတ်ခံရရင် နှေးပါ။
  • ကျွန်ုပ်တို့ဘက်က မအောင်မြင်မှုများ: ခဏစောင့်ပြီးနောက် ပြန်စမ်းပါ။ ကုန်ကျစရိတ်မရှိပါဘူး။

ဆာဗာအမှားတွေမှာ ပြန်စမ်းပြီး 404 မှာ ကျော်တဲ့ ရိုးရိုး loop တစ်ခုက ထုတ်လုပ်ရေးလိုအပ်ချက်အများစုကို ဖြည့်ဆည်းပေးပါတယ်။

ကုန်ကျစရိတ် ဘယ်လောက်လဲ

စာသားမှတ်တမ်းတစ်ခုစီက ခရက်ဒစ် 2 ကျပါတယ်။ စာသားမှတ်တမ်း မပြန်ပေးတဲ့ ဒါမှမဟုတ် sum.video ဘက်က မအောင်မြင်တဲ့ တောင်းဆိုမှုတွေက ကုန်ကျစရိတ်မရှိတာကြောင့် 404 က သင့်လက်ကျန်ကို ဘယ်တော့မှ မကုန်စေပါဘူး။ လက်ကျန်ကို GET /api/v1/credits နဲ့ ကြည့်နိုင်ပါတယ်။

ခရက်ဒစ်တွေကို ဘယ်တော့မှ သက်တမ်းမကုန်တဲ့ တစ်ကြိမ်ဝယ်ပက်ကေ့ချ်တွေနဲ့ ရောင်းပါတယ်-

ပက်ကေ့ချ် စျေးနှုန်း စာသားမှတ်တမ်းတစ်ခုလျှင်
ခရက်ဒစ် 100 $4.49 $0.090
ခရက်ဒစ် 500 $13.99 $0.056
ခရက်ဒစ် 2,000 $37.99 $0.038
ခရက်ဒစ် 5,000 $74.99 $0.030

Pro စာရင်းသွင်းသူတွေက လတိုင်း ဘောနပ်စ်ခရက်ဒစ် 100 လည်း ရပါတယ်။ ချန်နယ်တစ်ခုလုံးကို ထည့်သွင်းတာလို ပိုလေးတဲ့ အလုပ်အတွက် အလိုအလျောက်ငွေဖြည့်ခြင်းနဲ့ ဘတ်ဂျက်တွေကို ဖော်ပြထားတဲ့ ဇာတ်လမ်း အကြီးစားမှာ RAG အက်ပ်အတွက် YouTube စာသားမှတ်တမ်းများ ကို ဖတ်ပါ။ စျေးနှုန်းများ ကိုလည်း ကြည့်ပါ။

မတည်ဆောက်မီ သိထားသင့်တဲ့ ကန့်သတ်ချက်များ

  • စာတန်းထိုးပါတဲ့ ဗီဒီယိုတွေပဲ အလုပ်လုပ်ပါတယ်။ 404 no_transcript ရဲ့ အဓိကအကြောင်းရင်းက ဒါပါပဲ။
  • အလိုအလျောက်ဖန်တီးထားတဲ့ စာတန်းထိုးတွေမှာ အထူးသဖြင့် အမည်များ၊ လေသံများနဲ့ နည်းပညာဆိုင်ရာ စကားလုံးတွေမှာ အမှားတွေ ရှိနိုင်ပါတယ်။
  • API က စာသားမှတ်တမ်းကိုပဲ ပြန်ပေးပါတယ်။ အကျဉ်းမချုပ်ပေးပါဘူး။ စာသားမှတ်တမ်းအပေါ်မှာ အကျဉ်းချုပ်၊ အချိန်တံဆိပ်နဲ့ ချက်တင်လိုချင်ရင် YouTube အကျဉ်းချုပ်ကိရိယာ က လုပ်ပေးပြီး စာသားမှတ်တမ်းကိရိယာ က ဗီဒီယိုတစ်ခုအတွက် ကုဒ်မလိုတဲ့ ဗားရှင်းပါ။
  • တရားဝင် YouTube Data API က ဒီမှာ အစားထိုးမဟုတ်ပါဘူး။ ၎င်းရဲ့ စာတန်းထိုးဒေါင်းလုဒ်နည်းက ဗီဒီယိုကို တည်းဖြတ်ခွင့် လိုအပ်တာကြောင့် သင့်ကိုယ်ပိုင်ဗီဒီယိုတွေအတွက် ဖြစ်ပါတယ် (Google စာတမ်း)။

ရင်းမြစ်များ

မေးလေ့ရှိသော မေးခွန်းများ

တရားဝင် YouTube Data API မပါဘဲ YouTube စာသားမှတ်တမ်း ရနိုင်ပါသလား?

ရနိုင်ပါတယ်။ sum.video Transcript API က ဗီဒီယိုရဲ့ URL သို့မဟုတ် ID ကို လက်ခံပြီး ရှိပြီးသား စာတန်းထိုးများကို ပြန်ပေးပါတယ်၊ Google Cloud ပရောဂျက် မလိုပါဘူး။ Google ရဲ့ ကိုယ်ပိုင် စာတန်းထိုးဒေါင်းလုဒ်နည်းက ဗီဒီယိုကို တည်းဖြတ်ခွင့် လိုအပ်တာကြောင့် သင့်ကိုယ်ပိုင်ဗီဒီယိုတွေအတွက်ပဲ ဖြစ်ပါတယ်။

စာတန်းထိုးမရှိတဲ့ ဗီဒီယိုတွေကို API က စာသားပြောင်းပေးပါသလား?

မပေးပါဘူး။ ရှိပြီးသား YouTube စာတန်းထိုးများ၊ လက်ရေးဖြစ်စေ အလိုအလျောက်ဖြစ်စေ ပြန်ပေးပါတယ်။ စာတန်းထိုးမရှိတဲ့ ဗီဒီယို၊ တိုက်ရိုက်ထုတ်လွှင့်မှု၊ ကိုယ်ပိုင်နဲ့ ဖယ်ရှားထားတဲ့ ဗီဒီယိုတွေက 404 no_transcript ပြန်ပေးပြီး အဲဒီတောင်းဆိုမှုက ကုန်ကျစရိတ်မရှိပါဘူး။

စာသားမှတ်တမ်းတစ်ခုကို ဘယ်လောက်ကျသလဲ?

စာသားမှတ်တမ်းတစ်ခုလျှင် ခရက်ဒစ် 2။ ပက်ကေ့ချ်တွေက ခရက်ဒစ် 100 ကို $4.49 ($0.090 တစ်ခုလျှင်) ကနေ ခရက်ဒစ် 5,000 ကို $74.99 ($0.030 တစ်ခုလျှင်) အထိ ရှိပြီး ခရက်ဒစ်တွေ ဘယ်တော့မှ သက်တမ်းမကုန်ပါဘူး။

ဘယ်လို ထုတ်လွှင့်မှုပုံစံတွေ ရနိုင်ပါသလဲ?

json (စက္ကန့်ဖြင့် offset နဲ့ duration ပါတဲ့ အပိုင်းများ), text နဲ့ srt။ တောင်းဆိုမှုထဲက format ကွင်းကို သတ်မှတ်ပါ။

အခမဲ့ ဘယ်လိုစမ်းမလဲ?

သင့်ပထမ API ကီးမှာ အခမဲ့ ခရက်ဒစ် 10 ပါလာပါတယ်၊ ဆိုလိုတာက စာသားမှတ်တမ်း 5 ခု။ Pro စာရင်းသွင်းသူတွေက ထို့အပြင် လတိုင်း ဘောနပ်စ်ခရက်ဒစ် 100 ရပါတယ်။

YouTube ဗီဒီယိုကို အခုပဲ အနှစ်ချုပ်ပါ

လင့်ခ်တစ်ခုကို ကူးထည့်ပြီး ကလစ်လုပ်နိုင်သော အချိန်မှတ်တမ်းများနှင့် အဓိကအချက်များကို ရယူပါ။

youtube transcript apiapi သင်ခန်းစာpythonjavascriptcurl

ဆက်စပ်ဖတ်ရှုရန်

နောက်ဆုံးပို့စ်များ

မည်သည့် YouTube ဗီဒီယိုကိုမဆို စက္ကန့်ပိုင်းအတွင်း အနှစ်ချုပ်ပါ

sum.video ကို စမ်းသုံးကြည့်ပါ