https://ytsave.appშექმენით ჩამოტვირთვები YTSave-ით
გადაჭერით საჯარო მედიის 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 | სტრიქონი | დიახ | ზუსტი 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 კონვერტს მხარდაჭერის მოთხოვნის ID-ის წინ. ეს მტკიცებულების ჩანაწერი ასევე აშკარად აჩვენებს პროგნოზირებად კლიენტის მართვას.
{
"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 და წვდომის კონტროლები არ იფარება.
- შეინახეთ მოთხოვნის ID-ები და სამუშაო ID-ები პირად ოპერაციულ ლოგებში. არ დაარეგისტრიროთ წარდგენილი URL-ები უსარგებლოდ.
YTSave მართავს სქემის წვდომას, პირველ რიგში ამოქმედების იდენტიფიცირებით, შემდეგ მიჰყვება დანიშნულ ავტენტიფიკაციას და ინახავს დოკუმენტირებულ მოთხოვნის ფორმებს ხედვაში. OpenAPI მითითება
მოითხოვეთ თქვენი API გასაღები
დოკუმენტაცია API მომხმარებელზე, მისი თვიური მოთხოვნების შეფასებაზე და მხარდაჭერილ პლატფორმის მოთხოვნებზე. YTSave განიხილავს, არის თუ არა გამართლებული გადაწყვეტა, სამუშაოს წარდგენა ან ორივე, სანამ გამოუშვებს ერთხელ ხილვად გასაღებს.
API-ის წვდომის მოთხოვნა საკრავები არის ქირავნულ-შეზღუდული, გაუქმებადი და გაიცემა კონტაქტის ფორმის მეშვეობით. ანონიმური სკრიპტები არ შეუძლიათ ჩამწერი სამუშაოს შესრულება.