https://ytsave.appBina muat turun dengan YTSave
Selesaikan URL media awam, pilih format tepat, cipta kerja tak segerak dan serahkan hasil yang ditandatangani kepada pengguna anda. Saluran pengeluaran terikat yang sama menggerakkan laman web YTSave.
Mulakan dengan cepat
YTSave mengendalikan hos API dengan mengenal pasti terlebih dahulu kelayakan yang diaktifkan sokongan. Ia mengikuti dengan titik akhir penyewa yang ditugaskan dan menyimpan laluan panggilan pelayan sahaja dalam 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"}'Untuk menerangkan Keselamatan Kredensial, YTSave memisahkan penyimpanan rahsia sisi pelayan daripada tiada penyisipan bundel klien. Rekod bukti tidak memberikan log awam atau repositori tempat tersendiri.
Menyelesaikan pautan
YTSave mengendalikan operasi Resolve dengan mengenal pasti pengesanan sumber terlebih dahulu. Ia mengikuti dengan format dari satu URL yang dikemukakan dan menyimpan tiada output yang dicipta dalam pandangan.
/v1/resolveSkop: menyelesaikan| Medan | Jenis | Diperlukan | Huraian |
|---|---|---|---|
url | URL HTTPS | Ya | Halaman media awam atau yang dibenarkan untuk dianalisis. |
tenant | rentetan | Tidak | Domain penyewa yang ditugaskan. Biasanya ditinggalkan. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Untuk menerangkan Pengenal Format, YTSave memisahkan nilai yang dikembalikan tanpa perubahan daripada ketersediaan setiap pautan. Rekod bukti tidak memberikan label kualiti yang dianggarkan tempat tersendiri.
Cipta dan ikuti kerja muat turun
Untuk penciptaan Kerja, YTSave bermula dengan persediaan asynchronous. Rekod buktinya berpasangan bahawa dengan permintaan HTTP pendek dan berakhir dengan pelaksanaan pekerja yang dibatasi.
/v1/jobsSkop: pekerjaan| Medan | Jenis | Diperlukan | Huraian |
|---|---|---|---|
url | URL HTTPS | Ya | Sumber yang sama dinormalisasi dihantar untuk menyelesaikan. |
format_id | rentetan | Ya | ID yang tepat dari respons penyelesaian. |
tenant | rentetan | Tidak | Domain penyewa yang ditugaskan. Biasanya ditinggalkan. |
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} dengan kunci yang sama.| Status | Makna | Tindakan Pelanggan |
|---|---|---|
queued | Dibenarkan masuk ke barisan yang dibatasi. | Poll lagi dengan backoff. |
extracting | Menyegar semula metadata sumber atau laluan. | Teruskan mengundi. |
processing | Memuat turun, remuxing atau menggabungkan. | Papar kemajuan pelayan. |
ready | Muat turun yang ditandatangani tersedia. | Hantar URL kepada pengguna. |
failed | Ralat berstruktur terminal. | Baca error_code. Cuba semula hanya apabila dinasihatkan. |
expired | Keluaran sementara dikeluarkan. | Cipta pekerjaan baru. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave menjadikan polling Job mudah untuk diimbas. Halaman bermula dengan menunggu awal satu saat, bergerak ke backoff yang dicap, dan dengan jelas menyatakan penghantaran sementara yang ditandatangani.
Kesalahan yang boleh diramalkan
Untuk kontrak Ralat, YTSave memeriksa satu sampul surat bukan 2xx sebelum ID permintaan sokongan. Rekod bukti ini juga menjadikan pengendalian pelanggan yang boleh diramalkan jelas.
{
"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 | Makna biasa | Tindakan |
|---|---|---|
| 400 | URL tidak sah, badan atau format tidak tersedia. | Betulkan permintaan. Selesaikan lagi untuk format. |
| 401 | Kunci hilang, tidak sah, tamat tempoh atau salah skop. | Semak kelayakan sisi pelayan. |
| 403 | Polisi penyewa atau sumber menolak permintaan. | Jangan mengelirukan dasar Hubungi sokongan. |
| 404 | Kerja yang tidak diketahui atau tamat tempoh. | Buat kerja baru jika sesuai. |
| 429 | Permintaan atau had aktif-kerja telah dicapai. | Kehormatan retry_after_seconds. |
| 503 | Baris gilir/kapasiti atau upstream tidak tersedia buat sementara waktu. | Cuba lagi dengan backoff eksponen dan jitter. |
Kontrak operasi
YTSave mengeluarkan kuota operasi dengan setiap kelulusan untuk menjaga keselamatan pengguna API dan perkhidmatan media hulu.
- Gunakan logik aplikasi idempotent dan jangan pernah memulakan kerja berganda untuk klik pengguna yang sama.
- Cache menyelesaikan metadata secara ringkas, tetapi sentiasa merawat URL muat turun yang ditandatangani sebagai tamat tempoh.
- Gunakan backoff eksponen yang dibatasi dengan jitter untuk
429,503dan kesilapan yang boleh dicuba semula. - Proses hanya media awam atau media yang anda dibenarkan untuk mengakses. DRM dan kawalan akses tidak dipintas.
- Simpan ID permintaan dan ID kerja dalam log operasi peribadi. Jangan log URL yang dihantar tanpa perlu.
YTSave mengendalikan akses Skema dengan terlebih dahulu mengenal pasti pengaktifan sebelum penerokaan. Ia diikuti dengan pengesahan yang ditetapkan dan menyimpan bentuk permintaan yang didokumenkan dalam paparan. Rujukan OpenAPI
Minta kunci API anda
Dokumentasikan pengguna API, anggaran permintaan bulanan dan keperluan platform yang disokong. YTSave menyemak sama ada penyelesaian, penghantaran kerja atau kedua-duanya dibenarkan sebelum mengeluarkan kunci yang hanya kelihatan sekali.
Minta akses API Kunci adalah skop penyewa, boleh dibatalkan dan dikeluarkan melalui borang Hubungi. Skrip tanpa nama tidak dapat melaksanakan kerja pemuat turun.