https://ytsave.appYTSave के साथ डाउनलोड बनाएं
एक सार्वजनिक मीडिया URL को हल करें, एक सटीक प्रारूप चुनें, एक असिंक्रोनस जॉब बनाएं और हस्ताक्षरित परिणाम को अपने उपयोगकर्ता को सौंपें। वही सीमित उत्पादन पाइपलाइन YTSave वेबसाइट को संचालित करती है।
त्वरित प्रारंभ
YTSave API होस्ट को पहले समर्थन-सक्रिय प्रमाण-पत्रों की पहचान करके संभालता है। इसके बाद एक असाइन किए गए टेनेंट एंडपॉइंट का पालन करता है और केवल सर्वर कॉल पथ को दृश्य में रखता है।
X-API-Key: ys_live_…YTSaveClientv1# Available only after support activation
export YTSAVE_API_KEY="issued-after-review"
curl -X POST https://ytsave.app/v1/resolve \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID"}'क्रेडेंशियल सुरक्षा समझाने के लिए, YTSave सर्वर-साइड गुप्त संग्रहण को क्लाइंट बंडल एम्बेडिंग से अलग करता है। एक साक्ष्य रिकॉर्ड किसी सार्वजनिक लॉग या रिपॉजिटरी को अपना स्थान नहीं देता।
एक लिंक हल करें
YTSave रिज़ॉल्व ऑपरेशन को स्रोत पहचान की पहचान करके संभालता है। यह एक प्रस्तुत URL से प्रारूपों का पालन करता है और दृश्य में कोई आविष्कृत आउटपुट नहीं रखता।
/v1/resolveस्कोप: समाधान करें| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
url | HTTPS URL | हाँ | सार्वजनिक या अधिकृत मीडिया पृष्ठ विश्लेषण के लिए। |
tenant | स्ट्रिंग | नहीं | निर्धारित किरायेदार डोमेन। आमतौर पर छोड़ा जाता है। |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}फ़ॉर्मेट पहचानकर्ता समझाने के लिए, YTSave लौटाए गए मान को प्रति-लिंक उपलब्धता से बिना बदले अलग करता है। एक साक्ष्य रिकॉर्ड अनुमानित गुणवत्ता लेबल को अपना स्थान नहीं देता।
डाउनलोड कार्य बनाएं और उसका पालन करें
नौकरी निर्माण के लिए, YTSave असिंक्रोनस तैयारी के साथ शुरू करता है। इसका साक्ष्य रिकॉर्ड इसे एक संक्षिप्त HTTP अनुरोध के साथ जोड़ता है और सीमित वर्कर निष्पादन के साथ समाप्त होता है।
/v1/jobsक्षेत्र: नौकरियां| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
url | HTTPS URL | हाँ | सुलझाने के लिए वही सामान्यीकृत स्रोत प्रस्तुत किया गया। |
format_id | स्ट्रिंग | हाँ | रिज़ॉल्व प्रतिक्रिया से एक सटीक आईडी। |
tenant | स्ट्रिंग | नहीं | निर्धारित किरायेदार डोमेन। आमतौर पर छोड़ा जाता है। |
curl -X POST https://ytsave.app/v1/jobs \
-H "X-API-Key: $YTSAVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=VIDEO_ID","format_id":"18"}'job_id.GET /v1/jobs/{job_id} एक ही कुंजी के साथ।| स्थिति | अर्थ | ग्राहक क्रिया |
|---|---|---|
queued | बाउंडेड कतार में प्रवेश किया गया। | बैकऑफ के साथ फिर से मतदान करें। |
extracting | स्रोत मेटाडेटा या मार्ग को ताज़ा किया जा रहा है। | पोलिंग जारी रखें। |
processing | डाउनलोड करना, रीमक्स करना या मर्ज करना। | सर्वर प्रगति दिखाएं। |
ready | हस्ताक्षरित डाउनलोड उपलब्ध है। | यूज़र को URL भेजें। |
failed | टर्मिनल संरचित त्रुटि। | पढ़ें error_code. केवल सलाह मिलने पर पुनः प्रयास करें। |
expired | अस्थायी आउटपुट हटा दिया गया। | एक नया कार्य बनाएं। |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave जॉब पोलिंग को स्कैन करना आसान बनाता है। पृष्ठ एक सेकंड की प्रारंभिक प्रतीक्षा के साथ शुरू होता है, सीमित बैकऑफ पर जाता है, और अस्थायी हस्ताक्षरित डिलीवरी को स्पष्ट रूप से बताता है।
पूर्वानुमेय त्रुटियाँ
एरर कॉन्ट्रैक्ट के लिए, YTSave एक सपोर्ट रिक्वेस्ट आईडी से पहले एक गैर-2xx एनवेलप की जांच करता है। यह साक्ष्य रिकॉर्ड पूर्वानुमानित क्लाइंट हैंडलिंग को भी स्पष्ट करता है।
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | सामान्य अर्थ | कार्य |
|---|---|---|
| 400 | अमान्य URL, बॉडी या अनुपलब्ध प्रारूप। | अनुरोध सही करें। प्रारूपों के लिए पुनः समाधान करें। |
| 401 | गुम, अमान्य, समाप्त या गलत-स्कोप कुंजी। | सर्वर-साइड क्रेडेंशियल जांचें। |
| 403 | किरायेदार या स्रोत नीति ने अनुरोध अस्वीकार कर दिया। | नीति को बायपास न करें। सहायता से संपर्क करें। |
| 404 | अज्ञात या समाप्त हो चुका कार्य। | यदि उपयुक्त हो तो एक नया कार्य बनाएं। |
| 429 | अनुरोध या सक्रिय-कार्य सीमा पूरी हो गई है। | सम्मान retry_after_seconds. |
| 503 | कतार/क्षमता या अपस्ट्रीम अस्थायी रूप से अनुपलब्ध है। | घातीय बैकऑफ और जिटर के साथ पुनः प्रयास करें। |
संचालन अनुबंध
YTSave प्रत्येक अनुमोदन के साथ एक परिचालन कोटा जारी करता है ताकि API उपभोक्ता और अपस्ट्रीम मीडिया सेवाओं की सुरक्षा हो सके।
- समरूप अनुप्रयोग तर्क का उपयोग करें और कभी भी एक ही उपयोगकर्ता क्लिक के लिए डुप्लिकेट नौकरियां शुरू न करें।
- कैश रिज़ॉल्व मेटाडेटा संक्षेप में, लेकिन हमेशा साइन किए गए डाउनलोड URL को समाप्त होने वाला मानें।
- के लिए बाउंडेड एक्सपोनेंशियल बैकऑफ विथ जिटर का उपयोग करें
429,503और पुनः प्रयास योग्य त्रुटियाँ। - केवल सार्वजनिक मीडिया या उस मीडिया को प्रोसेस करें जिसके लिए आप अधिकृत हैं। DRM और एक्सेस नियंत्रणों को बायपास नहीं किया जाता।
- अनुरोध आईडी और जॉब आईडी को निजी संचालन लॉग में रखें। अनावश्यक रूप से सबमिट किए गए URL लॉग न करें।
YTSave स्कीमा एक्सेस को पहले सक्रियण की पहचान करके संभालता है, फिर सौंपे गए प्रमाणीकरण के साथ आगे बढ़ता है और अनुरोध के प्रलेखित स्वरूपों को दृश्य में रखता है। OpenAPI संदर्भ
अपनी API कुंजी का अनुरोध करें
API उपभोक्ता, उसके मासिक अनुरोध अनुमान और समर्थित प्लेटफ़ॉर्म आवश्यकताओं का दस्तावेज़ीकरण करें। YTSave यह समीक्षा करता है कि हल करना, जॉब सबमिशन या दोनों उचित हैं या नहीं, इससे पहले कि एक बार दिखाई देने वाली कुंजी जारी की जाए।
API एक्सेस का अनुरोध करें कीज़ टेनेंट-स्कोप्ड, रिवोकेबल होती हैं और संपर्क फॉर्म के माध्यम से जारी की जाती हैं। गुमनाम स्क्रिप्ट डाउनलोडर कार्य निष्पादित नहीं कर सकती।