API ଦ୍ୱାରା YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ କିପରି ପାଇବେ (curl, Python, JavaScript)
ଯେକୌଣସି ସାର୍ବଜନୀନ YouTube ଭିଡିଓର ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ଗୋଟିଏ HTTP ଅନୁରୋଧରେ ପାଆନ୍ତୁ। curl, Python ଓ JavaScript ର କାମ କରୁଥିବା ଉଦାହରଣ, ଆଉଟପୁଟ୍ ଫର୍ମାଟ୍, ତ୍ରୁଟି କୋଡ୍ ଓ ଖର୍ଚ୍ଚ।

API ଦ୍ୱାରା YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ପାଇବା ପାଇଁ ଭିଡିଓର URL କିମ୍ବା ID ଓ ଏକ API କୀ ସହିତ ଗୋଟିଏ HTTP ଅନୁରୋଧ ପଠାନ୍ତୁ, ଏବଂ ପ୍ରତିକ୍ରିୟାରୁ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ପଢ଼ନ୍ତୁ। ଏହି ଗାଇଡ୍ sum.video Transcript API ବ୍ୟବହାର କରି curl, Python ଓ JavaScript ରେ ଅନୁରୋଧ ଦେଖାଏ, ତା'ପରେ ଫର୍ମାଟ୍, ତ୍ରୁଟି ଓ ଖର୍ଚ୍ଚ ବିଷୟରେ କହେ।
API କ'ଣ ଫେରାଏ
ଏହି ଏଣ୍ଡପଏଣ୍ଟ ଏକ ସାର୍ବଜନୀନ YouTube ଭିଡିଓର ଉପଲବ୍ଧ କ୍ୟାପସନ ଫେରାଏ, ସେଗୁଡ଼ିକ ସୃଷ୍ଟିକର୍ତ୍ତା ଲେଖିଥାନ୍ତୁ କିମ୍ବା YouTube ନିଜେ ତିଆରି କରିଥାଉ। ଏହା ଅଡିଓକୁ ଟ୍ରାନ୍ସକ୍ରାଇବ୍ କରେ ନାହିଁ। ଭିଡିଓରେ କ୍ୟାପସନ ନଥିଲେ, ଅନୁମାନ ବଦଳରେ ଆପଣ ଏକ ତ୍ରୁଟି ପାଇବେ (ତଳେ ଅଧିକ)।
ମୂଳ କଥା:
- ଏଣ୍ଡପଏଣ୍ଟ:
POST https://sum.video/api/v1/transcript(GETମଧ୍ୟ ଚାଲେ) - ପ୍ରମାଣୀକରଣ: ଆପଣଙ୍କ କୀ
X-API-Keyହେଡରରେ, କିମ୍ବାAuthorization: Bearer <key> - ଇନପୁଟ୍:
urlକିମ୍ବାvideo_id - ଐଚ୍ଛିକ
lang(ଡିଫଲ୍ଟen) - ଐଚ୍ଛିକ
format:json,textକିମ୍ବାsrt
ପ୍ରତିକ୍ରିୟା କ୍ୟାପସନ ଟ୍ରାକର ପ୍ରକୃତ ଭାଷା ଓ ଏହା ସ୍ୱୟଂଚାଳିତ ଭାବେ ତିଆରି କି ନୁହେଁ ତାହା ମଧ୍ୟ କହେ, ତେଣୁ କେଉଁ ଗୁଣବତ୍ତା ଆଶା କରିବେ ଜାଣିହେବ।
ପଦକ୍ଷେପ 1: ଏକ API କୀ ତିଆରି କରନ୍ତୁ
ସାଇନ୍ ଇନ୍ କରି API ଡ୍ୟାସବୋର୍ଡରେ (sum.video ରେ /dashboard/api) ଏକ କୀ ତିଆରି କରନ୍ତୁ। ଆପଣ 5 ପର୍ଯ୍ୟନ୍ତ ସକ୍ରିୟ କୀ ରଖିପାରିବେ, ଯାହା ପରୀକ୍ଷା କୀ ଓ ଉତ୍ପାଦନ କୀ ଅଲଗା ରଖିବାରେ ଉପଯୋଗୀ। ଆପଣଙ୍କ ପ୍ରଥମ କୀ 10 ମାଗଣା କ୍ରେଡିଟ୍ ସହିତ ଆସେ, ଯାହା 5 ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ପାଇଁ ଯଥେଷ୍ଟ, ତେଣୁ ତଳର ସବୁ କିଛି ଖର୍ଚ୍ଚ ବିନା ପ୍ରୟାସ କରିପାରିବେ।
ପଦକ୍ଷେପ 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 ତିଆରି କରୁଥିବା ସ୍କ୍ରିପ୍ଟରୁ ମଧ୍ୟ ପରୀକ୍ଷା କରିପାରିବେ। କୀ ଲଗ୍ରେ ନ ପଡ଼ିବା ପାଇଁ ଏହାକୁ ହେଡରରେ ଦେବା ଭଲ।
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());
}
କୀକୁ ସର୍ଭରରେ ରଖନ୍ତୁ। ବ୍ରାଉଜର୍ କୋଡ୍ରେ ଥିବା କୀକୁ ଡେଭଲପର ଟୁଲ୍ସ ଖୋଲୁଥିବା ଯେକେହି କପି କରିପାରିବ।
ପଦକ୍ଷେପ 3: ଠିକ୍ ଫର୍ମାଟ୍ ବାଛନ୍ତୁ
| ଫର୍ମାଟ୍ | ଆପଣ କ'ଣ ପାଆନ୍ତି | କାହା ପାଇଁ ସର୍ବୋତ୍ତମ |
|---|---|---|
json |
ଖଣ୍ଡ, ପ୍ରତ୍ୟେକରେ ସେକେଣ୍ଡରେ offset ଓ duration |
ଟାଇମଷ୍ଟ୍ୟାମ୍ପ, ଭିଡିଓର କୌଣସି ମୁହୂର୍ତ୍ତକୁ ଲିଙ୍କ, ସମୟ ଅନୁସାରେ ବିଭାଜନ |
text |
ସାଧାରଣ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ | ପ୍ରମ୍ପ୍ଟ, ସନ୍ଧାନ ସୂଚୀ, ସାରାଂଶ |
srt |
ସବଟାଇଟଲ୍ ଫାଇଲ୍ର ବିଷୟବସ୍ତୁ | ଭିଡିଓ ସମ୍ପାଦକ, ସବଟାଇଟଲ୍ ଟୁଲ୍ |
ଭିଡିଓର କୌଣସି ମୁହୂର୍ତ୍ତକୁ ଲିଙ୍କ୍ କରିବାର ଯୋଜନା ଥିଲେ, json ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ଖଣ୍ଡର offset ରୁ ଲିଙ୍କ୍ ତିଆରି କରନ୍ତୁ। LLM କୁ ଦେବା ପାଇଁ text ଛୋଟ ଓ ସରଳ। ପରେ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ଭିତରେ ହାତରେ ଖୋଜିବାକୁ ଚାହିଁଲେ, YouTube ଭିଡିଓର ଟ୍ରାନ୍ସକ୍ରିପ୍ଟରେ କିପରି ଖୋଜିବେ ଦେଖନ୍ତୁ।
ପଦକ୍ଷେପ 4: ଭାଷା ବାଛନ୍ତୁ
lang ର ଡିଫଲ୍ଟ en ଅଟେ। ଆପଣଙ୍କୁ ଚାହିଁଥିବା ଭାଷାକୁ ସେଟ୍ କରନ୍ତୁ, ଯେପରି de କିମ୍ବା es। ପ୍ରତିକ୍ରିୟା ପ୍ରକୃତରେ ଫେରିଥିବା ଟ୍ରାକର ଭାଷା ଜଣାଏ, ତେଣୁ ଅନୁମାନ ନକରି ଏହାକୁ ଯାଞ୍ଚ କରନ୍ତୁ। ଏକ ଭିଡିଓରେ ପ୍ରାୟତଃ କେବଳ ଗୋଟିଏ କ୍ୟାପସନ ଟ୍ରାକ ଥାଏ, ଏବଂ API ପ୍ରକୃତ କ୍ୟାପସନ ଫେରାଏ, ତେଣୁ ଏହା ଆପଣଙ୍କ ପାଇଁ ଅନୁବାଦ କରେ ନାହିଁ।
ପଦକ୍ଷେପ 5: ତ୍ରୁଟି ସମ୍ଭାଳନ୍ତୁ
ପ୍ରଥମ ଦିନରୁ ଏହି ପରିସ୍ଥିତି ପାଇଁ ଯୋଜନା କରନ୍ତୁ:
404 no_transcript: ଭିଡିଓରେ କ୍ୟାପସନ ନାହିଁ, କିମ୍ବା ଏହା ଲାଇଭ୍ ଷ୍ଟ୍ରିମ୍, ବ୍ୟକ୍ତିଗତ ଭିଡିଓ କିମ୍ବା ହଟାଯାଇଥିବା ଭିଡିଓ। ପୁଣି ଚେଷ୍ଟା କରିବାର କିଛି ନାହିଁ। ଏହାକୁ ଛାଡ଼ି ଦିଅନ୍ତୁ, କିମ୍ବା ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଅନ୍ୟ ଭିଡିଓ ମାଗନ୍ତୁ।402 budget_exceeded: ଆପଣ ସେଟ୍ କରିଥିବା ମାସିକ କ୍ରେଡିଟ୍ ସୀମାରେ ପହଞ୍ଚିଛନ୍ତି। ପରବର୍ତ୍ତୀ ବିଭାଗ ଦେଖନ୍ତୁ।- ହାର ସୀମା: ପ୍ରତ୍ୟେକ କୀ ପ୍ରତି ମିନିଟରେ 60 ଅନୁରୋଧ ଅନୁମତି ଦିଏ। ବ୍ୟାଚ୍ କାମ ଛିଟାଇ ଦିଅନ୍ତୁ, ଏବଂ ସୀମିତ ହେଲେ ଧୀର କରନ୍ତୁ।
- ଆମ ପକ୍ଷର ବିଫଳତା: ଅଳ୍ପ ବିଳମ୍ବ ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। ସେଗୁଡ଼ିକର ଖର୍ଚ୍ଚ ନାହିଁ।
ସର୍ଭର ତ୍ରୁଟିରେ ପୁନଃଚେଷ୍ଟା କରୁଥିବା ଓ 404 ରେ ଛାଡ଼ୁଥିବା ସରଳ ଲୁପ୍ ଉତ୍ପାଦନର ଅଧିକାଂଶ ଆବଶ୍ୟକତା ପୂରଣ କରେ।
ଖର୍ଚ୍ଚ କେତେ
ପ୍ରତ୍ୟେକ ଟ୍ରାନ୍ସକ୍ରିପ୍ଟର ଖର୍ଚ୍ଚ 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 ବୋନସ୍ କ୍ରେଡିଟ୍ ମଧ୍ୟ ପାଆନ୍ତି।
ସମ୍ବନ୍ଧିତ ପଠନ
ବଡ଼ ସ୍ତରରେ RAG ଆପ୍ ପାଇଁ YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ: କ୍ରେଡିଟ୍, ଅଟୋ ଟପ୍-ଅପ୍ ଓ ବଜେଟ୍ଜଣେ ଡେଭଲପର 10,000 YouTube ଭିଡିଓକୁ RAG ଆପ୍କୁ ଆଣନ୍ତି। ଖର୍ଚ୍ଚ, ହାର ସୀମାର ହିସାବ, ଏବଂ ଅଟୋ ଟପ୍-ଅପ୍ ଓ ବଜେଟ୍ ଖର୍ଚ୍ଚକୁ କିପରି ଅନୁମାନଯୋଗ୍ୟ ରଖେ ତାହା ଦେଖନ୍ତୁ।
ସର୍ବୋତ୍ତମ YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ API ର ତୁଳନା: sum.video, Supadata, Transcribr ଓ Python ଲାଇବ୍ରେରୀକୋଡ୍ରେ YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ପାଇବାର ଚାରି ଉପାୟ, ମୂଲ୍ୟ, ସୀମା ଓ ବିଶ୍ୱସନୀୟତାରେ ତୁଳନା: sum.video, Supadata, Transcribr ଓ youtube-transcript-api।
ସର୍ବଶେଷ ପୋଷ୍ଟଗୁଡ଼ିକ
ବଡ଼ ସ୍ତରରେ RAG ଆପ୍ ପାଇଁ YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ: କ୍ରେଡିଟ୍, ଅଟୋ ଟପ୍-ଅପ୍ ଓ ବଜେଟ୍ଜଣେ ଡେଭଲପର 10,000 YouTube ଭିଡିଓକୁ RAG ଆପ୍କୁ ଆଣନ୍ତି। ଖର୍ଚ୍ଚ, ହାର ସୀମାର ହିସାବ, ଏବଂ ଅଟୋ ଟପ୍-ଅପ୍ ଓ ବଜେଟ୍ ଖର୍ଚ୍ଚକୁ କିପରି ଅନୁମାନଯୋଗ୍ୟ ରଖେ ତାହା ଦେଖନ୍ତୁ।
ସର୍ବୋତ୍ତମ YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ API ର ତୁଳନା: sum.video, Supadata, Transcribr ଓ Python ଲାଇବ୍ରେରୀକୋଡ୍ରେ YouTube ଟ୍ରାନ୍ସକ୍ରିପ୍ଟ ପାଇବାର ଚାରି ଉପାୟ, ମୂଲ୍ୟ, ସୀମା ଓ ବିଶ୍ୱସନୀୟତାରେ ତୁଳନା: sum.video, Supadata, Transcribr ଓ youtube-transcript-api।