https://ytsave.appNgawangun unduhan sareng YTSave
Résolusi URL média umum, pilih format anu pas, jieun pagawéan asinkronus sarta serahkeun hasil anu ditandatanganan ka pamaké anjeun. Jalur produksi anu sami ngajalankeun situs wéb YTSave.
Mimitian gancang
YTSave ngatur host API ku cara mimiti ngaidentipikasi kredensial anu diaktipkeun ku dukungan. Teras nuturkeun titik akhir tenant anu ditugaskeun sareng ngajaga jalur telepon server-wungkul dina pandangan.
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"}'Pikeun ngajelaskeun kaamanan Kredensial, YTSave misahkeun panyimpenan rusiah sisi server tina henteu aya embedding bundel klien. Catetan bukti henteu masihan log umum atanapi répositori tempat sorangan.
Ngarengsekeun hiji link
YTSave ngatur operasi Resolve ku mimiti ngaidentipikasi deteksi sumber. Teras nuturkeun format tina hiji URL anu dikintunkeun sareng henteu nyimpen hasil anu diada-adakeun dina tampilan.
/v1/resolveLingkup: ngarengsekeun| Medan | Tipe | Diperyogikeun | Katerangan |
|---|---|---|---|
url | URL HTTPS | Leres | Halaman média umum atanapi anu diidinan pikeun dianalisis. |
tenant | string | Henteu | Ditugaskeun domain panyewa. Biasana dileungitkeun. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Pikeun ngajelaskeun idéntifikasi Format, YTSave misahkeun nilai anu dipulangkeun tanpa robah tina kasadiaan per-link. Catetan bukti henteu masihan label kualitas anu diperkirakeun tempat sorangan.
Nyiptakeun sareng nuturkeun padamelan unduhan
Pikeun kreasi Pakaryan, YTSave dimimitian ku persiapan asynchronous. catetan buktina na pasangan nu kalawan pamundut HTTP pondok sarta ends kalawan palaksanaan pagawe bounded.
/v1/jobsLingkup: padamelan| Medan | Tipe | Diperyogikeun | Katerangan |
|---|---|---|---|
url | URL HTTPS | Leres | Sumber normalisasi anu sami diserahkeun pikeun direngsekeun. |
format_id | string | Leres | ID anu pasti tina réspon ngarengsekeun. |
tenant | string | Henteu | Ditugaskeun domain panyewa. Biasana dileungitkeun. |
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} kalayan konci anu sami.| Status | Harti | Tindakan klien |
|---|---|---|
queued | Ditampi kana antrian anu diwatesan. | Poll deui sareng backoff. |
extracting | Ngarefresh metadata sumber atanapi rute. | Teruskeun polling. |
processing | Ngaunduh, remuxing atanapi ngahijikeun. | Tampilan kamajuan server. |
ready | Unduh anu ditandatanganan sayogi. | Kirimkeun URL ka pangguna. |
failed | Kasalahan struktur terminal. | Baca error_code. Coba deui ngan ukur nalika disarankeun. |
expired | Kaluaran samentawis dipiceun. | Nyiptakeun padamelan anyar. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave ngajantenkeun polling Job gampang dipindai. Halaman dimimitian ku antosan awal hiji detik, ngalih ka backoff anu diwatesan, sareng sacara jelas nyatakeun pangiriman ditandatanganan samentawis.
Kasalahan anu tiasa diprediksi
Pikeun kontrak Kasalahan, YTSave mariksa hiji amplop non-2xx sateuacan ID pamundut dukungan. Catetan bukti ieu ogé ngajelaskeun pangaturan klien anu tiasa diprediksi.
{
"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 | Harti anu khas | Aksi |
|---|---|---|
| 400 | URL anu henteu valid, awak atanapi format anu teu aya. | Ngabenerkeun pamundut. Ngarengsekeun deui pikeun format. |
| 401 | Konci leungit, henteu valid, kadaluarsa atanapi salah-ruang lingkup. | Pariksa kredensial sisi server. |
| 403 | Panyewa atanapi kabijakan sumber nolak pamundut. | Ulah bypass kawijakan. Hubungi rojongan. |
| 404 | Pakaryan anu teu dikenal atanapi kadaluarsana. | Nyiptakeun padamelan énggal upami cocog. |
| 429 | Kéngingkeun atanapi aktip-pakaryan wates ngahontal. | Honor retry_after_seconds. |
| 503 | Antrian/kapasitas atawa upstream keur teu aya samentara. | Coba deui sareng backoff éksponénsial sareng jitter. |
Kontrak operasi
YTSave ngaluarkeun kuota operasi sareng unggal persetujuan pikeun ngajagaan konsumén API sareng jasa média upstream.
- Anggo logika aplikasi idempotent sareng henteu kantos ngamimitian padamelan duplikat pikeun pangguna anu sami klik.
- Cache metadata résolusi sacara singget, tapi sok anggap URL unduhan anu ditandatanganan salaku kadaluwarsa.
- Anggo backoff éksponénsial anu dibatesan sareng jitter pikeun
429,503sareng kasalahan anu tiasa diusahakeun deui. - Ngolah ngan ukur média umum atanapi média anu anjeun diidinan pikeun ngaksés. DRM sareng kontrol aksés henteu dipaliré.
- Ngajaga ID pamundut sareng ID padamelan dina log operasi pribadi. Ulah log URL anu dikirimkeun tanpa perlu.
YTSave ngatur aksés Skéma ku mimiti ngaidentipikasi aktivasina saméméh ngajajah. Éta nuturkeun ku oténtikasi anu ditugaskeun sareng ngajaga bentuk pamundut anu didokumentasikeun dina tampilan. Rujukan OpenAPI
Kéngingkeun konci API anjeun
Dokuméntasikeun konsumen API, perkiraan paménta bulanan, sareng sarat platform anu didukung. YTSave marios naha resolve, pangiriman tugas atanapi duanana dibenerkeun sateuacan ngaluarkeun konci anu kantos katingali.
Kéngingkeun aksés API Konci téh diwatesan ku panyewa, bisa dibatalkeun jeung dikaluarkeun ngaliwatan formulir Kontak. Skrip anonim teu bisa ngalaksanakeun pagawéan pangunduh.