आपको इस सप्ताह एक आंतरिक कार्यप्रवाह के लिए सार्वजनिक Facebook Reel/वीडियो मेटाडेटा प्रोग्रामेटिक रूप से लाने और MP4 डाउनलोड करने की आवश्यकता है। इस गाइड के अंत तक, आपके पास एक कार्यशील Python एकीकरण होगा जो एक असिंक्रोनस डाउनलोड कार्य शुरू करता है, पूर्णता के लिए पोल करता है, और MP4 को सहेजता है, साथ ही केवल मेटाडेटा लाने का एक त्वरित तरीका—Zyla API Hub पर Facebook Premium Downloader API का उपयोग करके।
यह API क्या करती है और इसे कब उपयोग करना है
Facebook Premium Downloader API सार्वजनिक Facebook Reels और वीडियो के लिए दो क्षमताएँ प्रदान करती है:
- एक असिंक्रोनस डाउनलोड कार्य शुरू करें जो पूर्ण होने पर Facebook के CDN से एक डाउनलोड करने योग्य MP4 प्रदान करता है।
- डाउनलोड कार्यप्रवाह चलाए बिना वीडियो जानकारी (मेटाडेटा) लाएं।
विशिष्ट उपयोग के मामले में स्वचालित संपादकीय अधिग्रहण, UGC क्यूरेशन कतारें, अनुपालन आर्काइविंग, या कोई भी बैकएंड शामिल है जहाँ आपको सार्वजनिक Reel/वीडियो के लिए MP4 फ़ाइल या मेटाडेटा की आवश्यकता होती है। API सार्वजनिक Facebook URLs की अपेक्षा करती है जैसे /reel/…, /watch/?v=, /videos/…, या fb.watch/…
Zyla API Hub पर शुरू करना
Zyla API Hub पर Facebook Premium Downloader API लिस्टिंग खोलें और सब्सक्राइब करें। Zyla एक खाता, एक API कुंजी, और एक सब्सक्रिप्शन + कोटा मॉडल का उपयोग करता है—कोई प्रति-कॉल बिलिंग नहीं। इस API के लिए, आप 7-दिन की परीक्षण अवधि शुरू कर सकते हैं या अपने एकीकरण को मान्य करने के लिए 50 अनुरोधों का उपयोग कर सकते हैं। कोई मुफ्त योजना नहीं है। वर्तमान पहुँच विकल्पों और मूल्य निर्धारण के लिए API पृष्ठ की जाँच करें।
एक बार सब्सक्राइब करने के बाद, आपको एक API कुंजी प्राप्त होगी। नीचे दिखाए गए सभी अनुरोध कुंजी को Authorization: Bearer YOUR_API_KEY के रूप में पास करते हैं।
प्रमाणीकरण और हेडर
- हेडर: Authorization: Bearer YOUR_API_KEY
- नीचे दिए गए सभी उदाहरण इस लिस्टिंग के लिए Zyla Hub URL पथों का उपयोग करते हैं। मूल होस्ट को सीधे कॉल न करें।
एंडपॉइंट्स का अवलोकन
1) वीडियो जानकारी
बिना डाउनलोड कार्य शुरू किए सार्वजनिक Facebook Reel/वीडियो के लिए मेटाडेटा प्राप्त करें।
- विधि: GET
- URL: https://zylalabs.com/api/13612/facebook-premium-downloader-api/30379/video-information
- आवश्यक पैरामीटर:
- url (string): सार्वजनिक Facebook वीडियो URL (नीचे उदाहरण दिया गया है)
cURL (कॉपी-पेस्ट के लिए तैयार):
curl -s -X GET "https://zylalabs.com/api/13612/facebook-premium-downloader-api/30378/download?url=https%3A%2F%2Fwww.facebook.com%2Freel%2F1716864869572990%2F&format=mp4" \
-H "Authorization: Bearer YOUR_API_KEY"
उदाहरण JSON प्रतिक्रिया:
{
"success": true,
"id": "ddbea44c8fee0af86c40da80b9fcebb71b43f2ec",
"image": "https://scontent-phl2-1.xx.fbcdn.net/v/t51.82787-15/783144007_18064358021738741_5417564166543599844_n.jpg?_nc_cat=102&ccb=1-7&_nc_sid=a27664&_nc_ohc=K3uWHXdnAsgQ7kNvwGYgRLm&_nc_oc=AdrBUhuPSyDpnRP-zBbXB4TK1V0E2f2mz-aGg6GbrFjlKwZbfFAH6ynNbPHxceeh_rw&_nc_zt=23&_nc_ht=scontent-phl2-1.xx&_nc_gid=XrcbYmbN8ZuG357GCmVnIA&_nc_ss=7a289&oh=00_AQJv9a3kURRiH1Uri6TBWExvljPutu75Ucj18F-X6BhbPg&oe=6AA48A83",
"progress_url": "https://fb-download.zylalabs.com/api/progress?id=ddbea44c8fee0af86c40da80b9fcebb71b43f2ec",
"message": "कार्य शुरू हुआ। प्रगति_url को हर 3–5 सेकंड में पोल करें जब तक प्रगति 100 न हो जाए, फिर download_url का उपयोग करें."
}
आप वास्तव में क्या उपयोग करेंगे:
- post_id: Facebook ID जिसे आप भविष्य के सामंजस्य के लिए स्टोर कर सकते हैं।
- title, duration, likes: UI या अनुक्रमण के लिए हल्का संदर्भ।
- image: पूर्वावलोकनों के लिए थंबनेल URL।
- url: कैनोनिकल स्रोत लिंक।
2) डाउनलोड
एक सार्वजनिक Facebook Reel/वीडियो के लिए एक असिंक्रोनस डाउनलोड कार्य शुरू करें। प्रतिक्रिया एक कार्य id और एक progress_url प्रदान करती है। प्रगति 100 होने तक हर 3–5 सेकंड में उस URL को पोल करें, फिर उस प्रतिक्रिया से download_url का उपयोग करें (MP4 Facebook के CDN द्वारा प्रदान किया जाता है; हब बाइनरी मीडिया को प्रॉक्सी नहीं करता है)।
- विधि: GET
- URL: https://zylalabs.com/api/13612/facebook-premium-downloader-api/30378/download
- आवश्यक पैरामीटर:
- url (string): सार्वजनिक Facebook वीडियो URL (नीचे उदाहरण दिया गया है)
- format (string): mp4
cURL (कॉपी-पेस्ट के लिए तैयार):
उदाहरण JSON प्रतिक्रिया:
आप वास्तव में क्या उपयोग करेंगे:
- id: लॉग के लिए आपका कार्य संदर्भ।
- progress_url: इस URL को पोल करें जब तक प्रगति 100 न हो जाए; फिर MP4 लाने के लिए उस प्रतिक्रिया से download_url पढ़ें।
- image: जब कार्य चल रहा हो तब सुविधाजनक थंबनेल।
Python कार्यान्वयन: कार्य शुरू करें, पोल करें, और MP4 सहेजें
नीचे दिया गया स्निपेट निम्नलिखित करता है:
- प्रदान किए गए Reel URL के लिए एक कार्य शुरू करने के लिए डाउनलोड को कॉल करता है।
- कुछ सेकंड में progress_url को पोल करता है।
- जब प्रगति 100 तक पहुँचती है, तो download_url लाता है और MP4 को डिस्क पर स्ट्रीम करता है।
import os
import time
import requests
API_KEY = os.getenv("ZYLA_API_KEY", "YOUR_API_KEY")
VIDEO_URL = "https://www.facebook.com/reel/1716864869572990/"
def start_download_job(video_url: str) -> dict:
hub_url = "https://zylalabs.com/api/13612/facebook-premium-downloader-api/30378/download"
params = {
"url": video_url,
"format": "mp4"
}
resp = requests.get(hub_url, headers={"Authorization": f"Bearer {API_KEY}"}, params=params, timeout=30)
resp.raise_for_status()
return resp.json()
def poll_progress(progress_url: str, interval_seconds: int = 4, max_wait_seconds: int = 180) -> dict:
deadline = time.time() + max_wait_seconds
last = None
while time.time() < deadline:
r = requests.get(progress_url, timeout=30)
r.raise_for_status()
data = r.json()
# पूर्ण होने पर "progress" और "download_url" जैसे फ़ील्ड की अपेक्षा करें।
progress = data.get("progress")
if progress is not None:
print(f"progress={progress}")
last = data
if isinstance(progress, int) and progress >= 100:
return data
time.sleep(interval_seconds)
raise TimeoutError("Download job did not reach 100% in time")
def save_mp4(download_url: str, out_path: str):
with requests.get(download_url, stream=True, timeout=120) as r:
r.raise_for_status()
with open(out_path, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
if __name__ == "__main__":
job = start_download_job(VIDEO_URL)
if not job.get("success"):
raise RuntimeError(f"Download job failed to start: {job}")
print(f"Job started: id={job.get('id')}")
print(f"Thumbnail: {job.get('image')}")
progress_url = job["progress_url"]
result = poll_progress(progress_url)
mp4_url = result.get("download_url")
if not mp4_url:
raise RuntimeError(f"No download_url found in progress response: {result}")
output_file = "facebook_reel.mp4"
print(f"Downloading: {mp4_url}")
save_mp4(mp4_url, output_file)
print(f"Saved to {output_file}")
नोट्स:
- Polling अंतराल: एंडपॉइंट मार्गदर्शन के अनुसार 3–5 सेकंड। उदाहरण 4s का उपयोग करता है।
- टाइमआउट: अपने कतार की लेटेंसी बजट के आधार पर max_wait_seconds को समायोजित करें।
- बाइनरी मीडिया: वास्तविक MP4 download_url के माध्यम से Facebook के CDN से प्रदान किया जाता है; इसे हब द्वारा प्रॉक्सी नहीं किया जाता है।
व्यावहारिक उपयोग पैटर्न
- मेटाडेटा गेट: पहले वीडियो जानकारी को कॉल करें ताकि एक URL को मान्य किया जा सके, post_id निकाला जा सके, और अपने UI में थंबनेल प्रदर्शित किया जा सके। केवल तब डाउनलोड शुरू करें जब उपयोगकर्ता अधिग्रहण की पुष्टि करे।
- क्यू कार्यकर्ता: अपने वेब प्रक्रिया में डाउनलोड कार्य शुरू करें, progress_url को कतार में डालें, और एक कार्यकर्ता को पोल करने और MP4 को बनाए रखने दें।
- Idempotency: कार्य id को स्रोत URL और आपके संपत्ति ID के साथ स्टोर करें। यदि एक अनुरोध को फिर से प्रयास किया जाता है, तो आप तय कर सकते हैं कि इसे फिर से उपयोग करना है या एक नया कार्य शुरू करना है।
- फाइल नामकरण: वीडियो जानकारी से post_id को एक टाइमस्टैम्प के साथ मिलाएं ताकि निर्धारण फ़ाइल नाम (जैसे, 1716864869572990.mp4) प्राप्त हो सके।
- कैशिंग: यदि आप एक ही Reel को कई बार प्रोसेस करते हैं, तो post_id द्वारा की गई अपनी स्टोर का उपयोग करके अपरिवर्तित सामग्री को फिर से डाउनलोड करने से बचें।
विस्तृत वॉकथ्रू: एंड-टू-एंड फ्लो
चरण 1 — (वैकल्पिक) वीडियो मेटाडेटा लाएं
वीडियो जानकारी का उपयोग करके एक सार्वजनिक URL को जल्दी से सत्यापित करें और डाउनलोड करने से पहले उपयोगकर्ताओं को विवरण प्रस्तुत करें:
चरण 2 — असिंक्रोनस डाउनलोड कार्य शुरू करें
उसी URL और format=mp4 के साथ डाउनलोड को कॉल करें:
प्रतिक्रिया से id और progress_url को बनाए रखें। संदेश फ़ील्ड आपको याद दिलाता है कि तैयार होने तक हर कुछ सेकंड में पोल करें।
चरण 3 — progress_url को पोल करें और डाउनलोड करें
हर 3–5 सेकंड में, प्रदान किए गए progress_url को GET करें। जब प्रगति 100 तक पहुँचती है, तो download_url पढ़ें और MP4 को डिस्क या ऑब्जेक्ट स्टोरेज पर स्ट्रीम करें। हब बाइनरी मीडिया को प्रॉक्सी नहीं करता है; आपका एप्लिकेशन प्रगति एंडपॉइंट द्वारा लौटाए गए CDN URL से सीधे डाउनलोड करता है।
बिलिंग, कोटा, और वातावरण सेटअप
- बिलिंग मॉडल: सब्सक्रिप्शन + कोटा। प्रति-कॉल नहीं।
- परीक्षण: आपका पहला API 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ शुरू हो सकता है। कोई मुफ्त योजना नहीं है।
- पर्यावरण: अपने गुप्त प्रबंधक में YOUR_API_KEY को स्टोर करें (या विकास में ZYLA_API_KEY के रूप में)।
- पुनः प्रयास: progress_url या अंतिम MP4 अनुरोध पर अस्थायी नेटवर्क समस्याओं के लिए, गुणनात्मक बैकऑफ का उपयोग करें।
त्रुटि हैंडलिंग और किनारे के मामले
- निजी या अनुपलब्ध वीडियो: API सार्वजनिक Reels/वीडियो को लक्षित करता है। यदि URL सार्वजनिक नहीं है, तो विफलताओं या अधूरे डेटा की अपेक्षा करें।
- Polling बजट: सुनिश्चित करें कि आपका कार्यकर्ता कतार SLAs का सम्मान करता है; यदि आपके कार्यभार बड़े हैं या स्रोत CDN धीमा है तो max_wait_seconds बढ़ाएं।
- स्टोरेज जीवनचक्र: MP4 को सहेजने के बाद, यदि आप दुर्लभ पुनरावलोकनों की अपेक्षा करते हैं तो इसे ठंडे स्टोरेज में ले जाएं; पुनः लाने से बचने के लिए post_id को बनाए रखें।
वास्तविक दुनिया के उपयोग के मामले
- संपादकीय समीक्षा पाइपलाइन्स: डाउनलोड से पहले शीर्षक, अवधि, और थंबनेल दिखाकर प्रस्तुतियों को समृद्ध करें।
- अनुपालन आर्काइविंग: ऑडिट ट्रेल्स के लिए MP4 और मेटाडेटा कैप्चर करें जिसमें कार्य id और post_id रिकॉर्ड किया गया हो।
- डेटासेट क्यूरेशन: डाउनलोड पर कोटा खर्च करने से पहले अवधि या लाइक्स की उपस्थिति द्वारा फ़िल्टर करने के लिए वीडियो जानकारी का उपयोग करें।
AI एजेंटों से इस API को MCP के माध्यम से कॉल करें
यदि आप Claude Code, Cursor, Windsurf, या किसी भी MCP-संगत क्लाइंट का उपयोग करते हैं, तो आप Zyla के MCP एंडपॉइंट के माध्यम से कॉल को रूट कर सकते हैं। MCP एंडपॉइंट को अपना Zyla API कुंजी प्रदान करें और एजेंट को उसी Authorization: Bearer प्रवाह के साथ कॉल को व्यवस्थित करने दें।
Docs: MCP
उत्पादन चेकलिस्ट
- हर अनुरोध पर Authorization: Bearer YOUR_API_KEY सेट करें।
- समर्थित प्रारूपों में केवल सार्वजनिक Facebook URLs का उपयोग करें (/reel/…, /watch/?v=, /videos/…, fb.watch/…).
- progress_url को हर 3–5 सेकंड में पोल करें; download_url तक पहुँचने से पहले प्रगति == 100 की प्रतीक्षा करें।
- बड़े मेमोरी बफर से बचने के लिए MP4 को स्ट्रीम-डाउनलोड करें।
- पर्यवेक्षण के लिए कार्य id, स्रोत URL, और अंतिम फ़ाइल पथ लॉग करें।
अक्सर पूछे जाने वाले प्रश्न
क्या API MP4 फ़ाइल को प्रॉक्सी करता है?
नहीं। हब कार्य शुरू करता है और एक progress_url लौटाता है। एक बार पूरा होने पर, MP4 को सीधे Facebook के CDN से डाउनलोड करने के लिए प्रगति प्रतिक्रिया से download_url का उपयोग करें।
क्या मैं निजी या अनलिस्टेड Facebook वीडियो का उपयोग कर सकता हूँ?
एंडपॉइंट सार्वजनिक Reels/वीडियो के लिए हैं। यदि URL सार्वजनिक नहीं है, तो मेटाडेटा और डाउनलोड विफल हो सकते हैं।
मुझे कौन सा प्रमाणीकरण हेडर भेजना चाहिए?
Zyla Hub URLs पर हर अनुरोध पर Authorization: Bearer YOUR_API_KEY।
मुझे कार्य को कैसे पोल करना चाहिए?
progress_url को हर 3–5 सेकंड में पोल करें। जब प्रगति 100 हो, तो download_url पढ़ें और फ़ाइल को सहेजें।
क्या कोई मुफ्त योजना है?
कोई मुफ्त योजना नहीं है। आपका पहला API 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ शुरू हो सकता है। वर्तमान पहुँच और मूल्य निर्धारण के लिए आइटम पृष्ठ की जाँच करें।
क्या आप कार्यान्वयन के लिए तैयार हैं? अपने एकीकरण को शुरू करें और लिस्टिंग पृष्ठ पर परीक्षण के साथ एंड-टू-एंड मान्य करें: Facebook Premium Downloader API पर 7-दिन की परीक्षण शुरू करें.