YouTube API Guide
AI-powered tools that help YouTube creators choose the best thumbnail, nail the hook, and keep viewers watching. Learn when and how to use each endpoint for maximum impact.
https://api.creatornode.io/youtubeWhat is the YouTube API?
The YouTube API gives you two superpowers that directly impact your video's performance:
- Thumbnail Ranking — upload 2–10 thumbnail variants and get a data-driven winner based on six visual quality signals.
- Hook Validator — check whether your thumbnail, title, and opening script actually align. Mismatches are the #1 cause of early viewer drop-off.
Both endpoints use AI to analyze your content and return actionable, specific feedback — not generic advice.
🧠 AI-Powered
Vision analysis, face detection, OCR, and semantic matching — all included in every request.
📊 Quantified Results
Numeric scores (0–100), subscores per signal, and confidence levels. No vague opinions — just data.
🎯 Actionable Feedback
Specific recommendations: what's working, what's not, and exactly how to fix it.
🔑 Free Tier
20 requests/day with no API key. Test your workflow before committing.
Endpoints
Click an endpoint to see the full guide — examples, tips & tricks, and limits.
Credit Costs
YouTube APIThumbnail ranking & hook validation
| Endpoint | Cost | Extra Items | Includes | |
|---|---|---|---|---|
/youtube/v1/hook-validator | 10 credits | — | AI analysis (script + thumbnail) | Full guide → |
/youtube/v1/thumbnail-ranking | 13+ credits | +1 credit per variant above 4 | AI analysis (visual scoring) | Full guide → |
See the Pricing page for credit packages and tier comparison.
Usage Example
Recommended Workflow
Here's how top creators use both endpoints together for maximum impact:
// Node.js integration example
const headers = {
'Content-Type': 'application/json',
'X-API-Key': process.env.CREATORNODE_KEY,
};
// Step 1: Rank thumbnails
const ranking = await fetch('https://api.creatornode.io/youtube/v1/thumbnail-ranking', {
method: 'POST', headers,
body: JSON.stringify({
variants: thumbnails.map(t => ({ id: t.id, imageBase64: t.imageBase64 })),
title: videoTitle,
}),
}).then(r => r.json());
const bestThumb = ranking.data.winner;
console.log(`Winner: ${bestThumb.id} (score: ${bestThumb.score})`);
// Step 2: Validate hook with the winning thumbnail
const hook = await fetch('https://api.creatornode.io/youtube/v1/hook-validator', {
method: 'POST', headers,
body: JSON.stringify({
thumbnail: {
imageBase64: thumbnails.find(t => t.id === bestThumb.id)?.imageBase64,
},
title: videoTitle,
scriptIntro: first90Seconds,
}),
}).then(r => r.json());
if (hook.validation.riskLevel !== 'low') {
console.warn(`⚠️ Risk: ${hook.validation.riskLevel}`);
console.warn(hook.validation.primaryIssue);
hook.recommendations.forEach(r => console.log(`→ ${r.message}`));
}