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.
دیگر 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 پر دیکھیں ←