📦 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.

دیگر SDKs اور ٹولز

کب کیا استعمال کریں

NPM پیکج

Node.js ایپلیکیشنز، سرور سائیڈ رینڈرنگ، CLI ٹولز اور خودکار اسکرپٹس کے لیے بہترین جہاں پروگرامیٹک رسائی درکار ہو۔

REST API

غیر JavaScript ماحول، ایک بار کی درخواستوں اور زبان سے آزاد HTTP رسائی کے لیے بہترین۔

MCP سرور

Claude، Cursor اور VS Code Copilot جیسے AI کوڈنگ اسسٹنٹس کے لیے بہترین جہاں آپ عام زبان میں بات چیت چاہتے ہیں۔

اکثر پوچھے جانے والے سوالات

کیا NPM پیکج استعمال کے لیے مفت ہے؟+

پیکج انسٹال کرنا مفت ہے۔ درخواستیں بھیجنے کے لیے آپ کو YouTubeTranscript.dev API key درکار ہے۔ API keys تمام پیڈ پلانز میں دستیاب ہیں۔

کیا یہ براؤزر میں کام کرتا ہے؟+

پیکج 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