YouTube Transcript NPM पैकेज: JavaScript और TypeScript SDK
अपने Node.js एप्लिकेशन में प्रोग्राम के ज़रिए YouTube ट्रांसक्रिप्ट निकालें। NPM से इंस्टॉल करें, अपनी API key से प्रमाणीकरण करें और मिनटों में वीडियो ट्रांसक्राइब करना शुरू करें।
इंस्टॉलेशन
npm install youtube-transcript-api pnpm add youtube-transcript-api yarn add youtube-transcript-api
क्विक स्टार्ट
import { YouTubeTranscript } from "youtube-transcript-api";
const yt = new YouTubeTranscript({ apiKey: "your_api_key" });
const result = await yt.getTranscript("dQw4w9WgXcQ");
console.log(result.data?.transcript.text);सुविधाएं
पूरा V2 API कवरेज
Transcribe, batch, jobs, polling: हर endpoint रैप किया गया।
TypeScript-फ़र्स्ट
IntelliSense समर्थन के साथ पूरी टाइप परिभाषाएं।
शून्य डिपेंडेंसी
नेटिव fetch का उपयोग। केवल Node 18+, कोई फ़ालतू बोझ नहीं।
टाइप्ड एरर
हर API एरर कोड के लिए अलग एरर क्लास।
बिल्ट-इन पोलिंग
async ASR ट्रांसक्रिप्शन के लिए waitForJob हेल्पर।
ESM और CommonJS
दोनों मॉड्यूल सिस्टम में बिना किसी सेटअप के काम करता है।
विकल्पों के साथ ट्रांसक्राइब करें
const result = await yt.transcribe({
video: "dQw4w9WgXcQ",
language: "fr",
source: "manual",
format: {
timestamp: true,
paragraphs: true,
words: false,
},
});
console.log(result.status); // "completed"
console.log(result.data?.transcript.text); // Full transcript text
console.log(result.data?.transcript.language); // "fr"
console.log(result.data?.transcript.segments); // Timestamped segments
console.log(result.credits_used); // Credits consumedबैच प्रोसेसिंग (100 वीडियो तक)
const result = await yt.batch({
video_ids: ["dQw4w9WgXcQ", "jNQXAC9IVRw", "9bZkp7q19f0"],
format: { timestamp: true },
});
console.log(result.summary);
// { total: 3, succeeded: 3, failed: 0, processing: 0 }
for (const item of result.results) {
console.log(`${item.data?.video_id}: ${item.data?.transcript.text.slice(0, 100)}...`);
}ASR ऑडियो ट्रांसक्रिप्शन
बिना कैप्शन वाले वीडियो के लिए सीधे ऑडियो से ट्रांसक्राइब करने हेतु ASR का उपयोग करें। webhook कॉलबैक या बिल्ट-इन पोलिंग समर्थित।
const result = await yt.transcribe({
video: "VIDEO_ID",
source: "asr",
allow_asr: true,
webhook_url: "https://yoursite.com/webhook",
});const result = await yt.transcribe({
video: "VIDEO_ID",
source: "asr",
allow_asr: true,
});
if (result.job_id) {
const final = await yt.waitForJob(result.job_id, {
interval: 5000,
maxAttempts: 60,
});
console.log(final.data?.transcript.text);
}const result = await yt.transcribe({
video: "VIDEO_WITHOUT_CAPTIONS",
source: "asr",
// allow_asr not set: V2 requires explicit confirmation
});
if (result.status === "requires_asr_confirmation") {
console.log(result.estimated_credits); // e.g. 5
console.log(result.duration_minutes); // e.g. 7.5
// User confirms → retry with allow_asr
const confirmed = await yt.transcribe({
video: "VIDEO_WITHOUT_CAPTIONS",
source: "asr",
allow_asr: true,
});
}एरर हैंडलिंग
import {
YouTubeTranscript,
InvalidRequestError,
AuthenticationError,
InsufficientCreditsError,
NoCaptionsError,
RateLimitError,
} from "youtube-transcript-api";
try {
await yt.getTranscript("invalid");
} catch (error) {
if (error instanceof AuthenticationError) {
console.log("Bad API key");
} else if (error instanceof InsufficientCreditsError) {
console.log("Top up at https://youtubetranscript.dev/pricing");
} else if (error instanceof NoCaptionsError) {
console.log("No captions: try source: 'asr' with allow_asr: true");
} else if (error instanceof RateLimitError) {
console.log(`Rate limited. Retry after ${error.retryAfter}s`);
}
}कॉन्फ़िगरेशन
const yt = new YouTubeTranscript({
apiKey: "your_api_key",
baseUrl: "https://...", // Override API base URL
timeout: 60_000, // Request timeout in ms (default: 30s)
});Node.js 18+ आवश्यक (नेटिव fetch उपयोग करता है)। अपनी API key यहाँ से पाएं: youtubetranscript.dev/dashboard/account.
अन्य SDK और टूल्स
कब क्या उपयोग करें
NPM पैकेज
Node.js एप्लिकेशन, सर्वर-साइड रेंडरिंग, CLI टूल्स और ऑटोमेटेड स्क्रिप्ट के लिए सबसे अच्छा, जहाँ प्रोग्रामेटिक एक्सेस चाहिए।
REST API
गैर-JavaScript वातावरण, एक बार के अनुरोधों और भाषा-स्वतंत्र HTTP एक्सेस के लिए सबसे अच्छा।
MCP सर्वर
Claude, Cursor और VS Code Copilot जैसे AI कोडिंग असिस्टेंट के लिए सबसे अच्छा, जहाँ आप सामान्य भाषा में बातचीत चाहते हैं।
अक्सर पूछे जाने वाले प्रश्न
क्या NPM पैकेज उपयोग के लिए मुफ़्त है?+
पैकेज इंस्टॉल करना मुफ़्त है। अनुरोध भेजने के लिए आपको YouTubeTranscript.dev API key चाहिए। API key सभी पेड प्लान में उपलब्ध हैं।
क्या यह ब्राउज़र में काम करता है?+
पैकेज Node.js सर्वर-साइड उपयोग के लिए बनाया गया है। ब्राउज़र-आधारित एक्सट्रैक्शन के लिए fetch या axios के साथ सीधे हमारे REST API का उपयोग करें।
कौन से Node.js वर्ज़न समर्थित हैं?+
Node.js 18 और उससे ऊपर। पैकेज नेटिव fetch और आधुनिक JavaScript सुविधाओं का उपयोग करता है।
क्या मैं इसे Deno या Bun के साथ उपयोग कर सकता हूँ?+
हाँ, यह पैकेज NPM पैकेज का समर्थन करने वाले Deno और Bun रनटाइम के साथ संगत है।
NPM पैकेज के साथ बनाना शुरू करें
सेकंडों में इंस्टॉल करें। पूरा TypeScript समर्थन। विस्तृत डॉक्यूमेंटेशन।
NPM पर देखें →