📦 NPM पैकेज

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

क्विक स्टार्ट

TypeScript
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

दोनों मॉड्यूल सिस्टम में बिना किसी सेटअप के काम करता है।

विकल्पों के साथ ट्रांसक्राइब करें

TypeScript
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 वीडियो तक)

TypeScript
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 कॉलबैक या बिल्ट-इन पोलिंग समर्थित।

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);
}
ASR पुष्टि फ़्लो
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,
  });
}

एरर हैंडलिंग

TypeScript
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`);
  }
}
एरर क्लासHTTP
InvalidRequestError400
AuthenticationError401
InsufficientCreditsError402
NoCaptionsError404
RateLimitError429
YouTubeTranscriptErrorअन्य

कॉन्फ़िगरेशन

TypeScript
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 और टूल्स

भाषापैकेज
PythonPyPI पर youtubetranscriptdevapi
Dart / Flutterpub.dev पर youtubetranscript
MCP सर्वरmcp.youtubetranscript.dev

कब क्या उपयोग करें

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 पर देखें →

मुफ़्त में ट्रांसक्रिप्ट निकालना शुरू करें

किसी भी YouTube वीडियो को सेकंडों में टेक्स्ट में बदलें। क्रेडिट कार्ड की ज़रूरत नहीं।

YOUTUBETRANSCRIPT.DEV आज़माएँ →
YouTube Transcript NPM पैकेज | YouTubeTranscript.dev