#!/usr/bin/env node
// Test the v2.0.4 youtube-transcript-api
const TranscriptAPI = require('youtube-transcript-api');
async function testV2API() {
console.log('š§ Testing youtube-transcript-api v2.0.4...');
// Test with user's video
const testVideoId = 'F_RyElT_gJk';
try {
console.log(`ā³ Fetching transcript for video: ${testVideoId}`);
const transcript = await TranscriptAPI.getTranscript(testVideoId, 'en');
console.log('ā
SUCCESS! Got transcript');
console.log('Segments:', transcript.length);
if (transcript.length > 0) {
console.log('\nš First few segments:');
transcript.slice(0, 5).forEach((segment, index) => {
console.log(`${index + 1}. [${segment.start}s] ${segment.text}`);
});
console.log('\nš Transcript info:');
console.log('- Total segments:', transcript.length);
console.log('- Sample segment structure:', Object.keys(transcript[0]));
}
} catch (error) {
console.log('ā Error:', error.message);
if (error.message.includes('captions disabled')) {
console.log('\nš” This means captions are disabled on this video');
} else if (error.message.includes('invalid video ID')) {
console.log('\nš” Video ID is invalid or video does not exist');
} else if (error.message.includes('video unavailable')) {
console.log('\nš” Video is unavailable or private');
}
}
}
testV2API().catch(console.error);