Customize Website

x
Color Swatches
Theme
Font Size
100%

YouTube AI Detector

100% FREE

Is this YouTube video AI-generated? Our detector analyzes metadata, transcripts, visuals, sentiment, and more to deliver an AI score and detailed report.

'); w.document.close(); w.focus(); setTimeout(function(){w.print();},350); } function downloadPdf(){ var $report=reportClone(); if(!$report.length) return; function save(){ var stage=document.createElement('div'); stage.className='ytav-scope ytav-pdf-stage'; stage.appendChild($report[0]); document.body.appendChild(stage); window.html2pdf().set({margin:9,filename:reportFilename('pdf'),image:{type:'jpeg',quality:.98},html2canvas:{scale:2,useCORS:true},jsPDF:{unit:'mm',format:'a4',orientation:'portrait'}}).from(stage).save().then(function(){stage.remove();setActionStatus('PDF downloaded.',false);}).catch(function(){stage.remove();printReport();}); } if(window.html2pdf){save();return;} setActionStatus('Preparing PDF…',false); var script=document.createElement('script'); script.src='https://cdn.jsdelivr.net/npm/html2pdf.js@0.10.1/dist/html2pdf.bundle.min.js'; script.onload=save; script.onerror=printReport; document.head.appendChild(script); } $(document).on('click','.ytav-share-report',function(){createShareLink($(this));}); $(document).on('click','.ytav-export-pdf',downloadPdf); $(document).on('click','.ytav-export-txt',function(){var text=buildMarkdown().replace(/^#{1,6}\s+/gm,'').replace(/^- /gm,'• ');downloadBlob(text,'text/plain;charset=utf-8',reportFilename('txt'));setActionStatus('TXT downloaded.',false);}); $(document).on('click','.ytav-export-markup',function(){downloadBlob(buildMarkdown(),'text/markdown;charset=utf-8',reportFilename('md'));setActionStatus('Markup downloaded.',false);}); if($toolForm.length){ $toolForm.on('submit.ytavDetector',function(e){ e.preventDefault(); e.stopImmediatePropagation(); $btn.triggerHandler('click'); return false; }); } $btn.on('click', function(e){ e.preventDefault(); e.stopImmediatePropagation(); if (requestActive) return; $('.field-error,.result-container').remove(); var videoUrl = ($url.val() || '').trim(); if(!videoUrl){ $urlGroup.append("Please enter a YouTube video URL."); return; } var maxComments = boundedNumber($maxComments, 80, 20, 200); var channelVideos = boundedNumber($channelVideos, 6, 3, 10); var tsToken = securityToken(); if(!tsToken){ resetSecurity(); $urlGroup.append("Please wait for the security verification to complete, then try again."); return; } requestActive = true; resultBox = $('
'); resultInner = $('
'); resultBox.append(progressBlock()).append(resultInner); $('.tool-box').after(resultBox); $btn.prop('disabled',true).attr('aria-busy','true'); startProgress(); $('html,body').animate({scrollTop:resultBox.offset().top-80},250); // Fetch a current nonce before consuming the Turnstile token. This // avoids nonce failures caused by cached Elementor/WordPress pages. ajaxReq = freshNonce().done(function(response){ var currentNonce = response && response.success && response.data ? String(response.data.nonce || '') : ''; if(!currentNonce){ showError('Could not refresh the security check. Please reload the page and try again.'); finishRequest(); return; } // Re-read after the nonce round-trip in case Turnstile refreshed an // expiring token while the request was being prepared. tsToken = securityToken(); if(!tsToken || tsToken === lastSubmittedTurnstileToken){ showError('The security check expired or was already submitted. It has been refreshed; please complete it and try again.'); finishRequest(); return; } lastSubmittedTurnstileToken = tsToken; ajaxReq = $.ajax({ type:'POST', url:window.location.origin + '/wp-admin/admin-ajax.php', timeout:300000, data:{action:'yt_ai_video_detector',nonce:currentNonce,form_fields:{url:videoUrl,max_comments:maxComments,channel_videos:channelVideos},'cf-turnstile-response':tsToken}, success:function(raw){ stopProgress(); if(typeof raw === 'string' && raw.indexOf('#ERR-') !== -1){ showError(errorText(raw)); return; } resultInner.html(raw).hide().fadeIn(300); enhanceReport(); $('html,body').animate({scrollTop:resultInner.offset().top-80},250); }, error:function(xhr,status){ if(status !== 'abort') showError(status === 'timeout' ? 'Request timed out. Try fewer comments or fewer channel videos.' : 'Network error. Please try again.'); }, complete:finishRequest }); }).fail(function(){ showError('Could not refresh the security check. Please reload the page and try again.'); finishRequest(); }); }); $url.on('keypress',function(e){ if(e.which===13){ e.preventDefault(); $btn.trigger('click'); } }); $url.on('blur',function(){ var value=($url.val()||'').trim(); if(value) fetchVideoTitle(value); }); $url.on('input',function(){ titleLookupToken++; $('#youtube-overlay').remove(); $url.removeClass('yt_url_hidden'); }); var sharedToken=''; try{sharedToken=(new URLSearchParams(window.location.search)).get('ytav_share')||'';}catch(e){} if(/^[a-zA-Z0-9]{40}$/.test(sharedToken)){ $('.result-container').remove(); resultBox=$('
'); resultInner=$('
'); resultBox.append('
Loading shared detector report…
This link remains available for 7 days from creation.
').append(resultInner); $('.tool-box').after(resultBox); $.ajax({type:'POST',url:window.location.origin+'/wp-admin/admin-ajax.php',dataType:'json',data:{action:'ytav_detector_share_get',token:sharedToken}}) .done(function(r){$('.ytav-progress').remove();if(!r||!r.success||!r.html){showError((r&&r.error)||'This shared report is unavailable.');return;}resultInner.html(r.html);enhanceReport();$('html,body').animate({scrollTop:resultBox.offset().top-80},250);}) .fail(function(){$('.ytav-progress').remove();showError('Could not load this shared report. Please try again.');}); } });

Tool Comments