YouTube to MP4 API
एक YouTube to MP4 API किसी वीडियो लिंक को सीधे MP4 डाउनलोड URL में बदल देता है जिसे आपका ऐप तुरंत इस्तेमाल कर सकता है — 4K resolution तक। यह गाइड दिखाती है कि Tunelio API के साथ एक ही request में resolution कैसे चुनें और तैयार MP4 लिंक कैसे पाएं।
YouTube to MP4 API कैसे काम करता है
आप एक YouTube URL और अपनी मनचाही resolution भेजते हैं, और API एक muxed MP4 (वीडियो और ऑडियो एक साथ) के लिए signed डाउनलोड URL लौटाता है। कोई रेंडरिंग queue नहीं, कोई polling नहीं — डाउनलोड लिंक उसी response में वापस आ जाता है।
पहले resolution देखें, फिर डाउनलोड करें
किसी वीडियो के लिए कौन-सी resolution मौजूद हैं और हर MP4 कितना बड़ा है, यह देखने के लिए GET /info कॉल करें, फिर अपनी चुनी हुई quality के साथ GET /create कॉल करें। नीचे दिया उदाहरण 1080p माँगता है:
# See available MP4 resolutions and sizes (6 credits)
curl "https://tunelio.dev/info?url=https://youtu.be/dQw4w9WgXcQ" \
-H "Authorization: Bearer tnl_your_api_key"
# Get a direct 1080p MP4 URL (10 credits)
curl "https://tunelio.dev/create?url=https://youtu.be/dQw4w9WgXcQ&quality=1080p" \
-H "Authorization: Bearer tnl_your_api_key"create का response MP4 का url, एक सुझाया गया filename, बाइट में अंतिम file_size, और एक expires टाइमस्टैम्प लौटाता है जो बताता है कि signed लिंक कितनी देर वैध रहता है।
उपलब्ध MP4 resolution
- 144p, 240p, 360p, 480p — प्रीव्यू और कम-bandwidth उपयोगकर्ताओं के लिए छोटी फ़ाइलें।
- 720p और 1080p — ज़्यादातर ऐप्स के लिए आम "HD" डाउनलोड।
- 2160p (4K) — हाई-रिज़ॉल्यूशन सोर्स के लिए Mega प्लान पर उपलब्ध।
Node.js उदाहरण
const res = await fetch(
"https://tunelio.dev/create?" + new URLSearchParams({
url: "https://youtu.be/dQw4w9WgXcQ",
quality: "1080p",
}),
{ headers: { Authorization: "Bearer " + process.env.TUNELIO_KEY } }
);
const { url, filename, file_size_str } = await res.json();
console.log(filename, file_size_str, url);MP4 को अपने storage में सेव करें
चूँकि /create एक सादा HTTPS URL लौटाता है, आप पूरी फ़ाइल को मेमोरी में बफ़र किए बिना MP4 को सीधे डिस्क या object storage में स्ट्रीम कर सकते हैं। एक बार /create response से url मिल जाने पर, यह एक सामान्य GET है:
import requests
with requests.get(download_url, stream=True) as r:
r.raise_for_status()
with open("video.mp4", "wb") as f:
for chunk in r.iter_content(1 << 20):
f.write(chunk)अगर कोई लिंक अपने expires टाइमस्टैम्प को पार कर चुका है, तो नया पाने के लिए फिर से GET /create कॉल करें — GET /info से मिला मेटाडेटा नहीं बदला है, इसलिए आप वीडियो को दोबारा जाँचने के बजाय सिर्फ़ आख़िरी कदम दोहराते हैं।
अगले कदम
पूरी response schema, error code और rate limit के लिए पूरा API डॉक्युमेंटेशन देखें, या 100 फ्री क्रेडिट लें और अपना पहला MP4 URL request करें।
सामान्य सवाल
क्या यह API YouTube से 4K MP4 डाउनलोड कर सकता है?
हाँ। Mega प्लान पर quality=2160p request करें ताकि 4K MP4 URL मिले — बशर्ते सोर्स वीडियो में 4K वर्शन मौजूद हो।
क्या MP4 ऑडियो के साथ एक ही फ़ाइल है?
हाँ। /create एक muxed MP4 लौटाता है जिसमें वीडियो और ऑडियो एक साथ होते हैं, इसलिए डाउनलोड की गई फ़ाइल बिना किसी अतिरिक्त मर्ज स्टेप के सीधे चलती है।
डाउनलोड URL कितनी देर वैध रहता है?
signed url में एक expires टाइमस्टैम्प होता है — आम तौर पर कुछ घंटे — जिसके बाद आप बस एक नया request कर लेते हैं।