https://ytsave.appBangun unduhan dengan YTSave
Selesaikan URL media publik, pilih format yang tepat, buat pekerjaan asinkron, dan serahkan hasil yang ditandatangani ke pengguna kamu. Jalur produksi terbatas yang sama menggerakkan situs web YTSave.
Mulai cepat
YTSave menangani host API dengan terlebih dahulu mengidentifikasi kredensial yang diaktifkan dukungan. Ini diikuti dengan titik akhir penyewa yang ditugaskan dan menjaga jalur panggilan hanya server tetap terlihat.
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 menjelaskan keamanan Kredensial, YTSave memisahkan penyimpanan rahasia sisi server dari tanpa penyematan bundel klien. Catatan bukti tidak memberikan log publik atau repositori sendiri.
Selesaikan tautan
YTSave menangani operasi Resolve dengan terlebih dahulu mengidentifikasi deteksi sumber. Ia mengikuti format dari satu URL yang diajukan dan tidak menyimpan keluaran yang dibuat-buat dalam pandangan.
/v1/resolveLingkup: selesaikan| Lapangan | Jenis | Dibutuhkan | Deskripsi |
|---|---|---|---|
url | URL HTTPS | Ya | Halaman media umum atau resmi untuk dianalisis. |
tenant | string | Tidak | Domain penyewa yang ditugaskan. Biasanya dihilangkan. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}Untuk menjelaskan pengenal Format, YTSave memisahkan nilai yang dikembalikan tanpa perubahan dari ketersediaan per tautan. Catatan bukti tidak memberikan label kualitas tebakannya sendiri.
Buat dan ikuti pekerjaan pengunduhan
Untuk pembuatan Pekerjaan, YTSave memulai dengan persiapan asinkron. Catatan buktinya memadukan itu dengan permintaan HTTP singkat dan berakhir dengan eksekusi pekerja terbatas.
/v1/jobsLingkup: pekerjaan| Lapangan | Jenis | Dibutuhkan | Deskripsi |
|---|---|---|---|
url | URL HTTPS | Ya | Sumber yang sudah dinormalisasi yang sama diajukan untuk diselesaikan. |
format_id | string | Ya | ID tepat dari respons penyelesaian. |
tenant | string | Tidak | Domain penyewa yang ditugaskan. Biasanya dihilangkan. |
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 klien |
|---|---|---|
queued | Diterima ke antrian terbatas. | Polling ulang dengan penundaan. |
extracting | Merefresh metadata sumber atau rute. | Lanjutkan pemungutan suara. |
processing | Mengunduh, meremux, atau menggabungkan. | Tampilin kemajuan server. |
ready | Unduhan yang ditandatangani tersedia. | Kirim URL ke pengguna. |
failed | Terminal structured error. | Baca error_code. Coba lagi hanya saat disarankan. |
expired | Keluaran sementara dihapus. | Buat pekerjaan baru. |
curl https://ytsave.app/v1/jobs/JOB_ID \
-H "X-API-Key: $YTSAVE_API_KEY"YTSave memudahkan pemindaian polling Pekerjaan. Halaman dimulai dengan tunggu awal satu detik, beralih ke backoff terbatas, dan dengan jelas menyatakan pengiriman bertanda sementara.
Kesalahan yang dapat diprediksi
Untuk kontrak Kesalahan, YTSave memeriksa satu amplop non-2xx sebelum ID permintaan dukungan. Catatan bukti ini juga membuat penanganan klien yang dapat diprediksi menjadi 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 tipikal | Aksi |
|---|---|---|
| 400 | URL salah, badan atau format tidak tersedia. | Betulkan permintaan. Coba lagi untuk format. |
| 401 | Kunci hilang, tidak valid, kadaluarsa, atau cakupan salah. | Periksa kredensial sisi server. |
| 403 | Kebijakan penyewa atau sumber menolak permintaan. | Ulah melewati kebijakan. Hubungi dukungan. |
| 404 | Pekerjaan tidak dikenal atau sudah kadaluwarsa. | Buat pekerjaan baru jika sesuai. |
| 429 | Batas permintaan atau pekerjaan aktif sudah tercapai. | Hormati retry_after_seconds. |
| 503 | Antrian/kapasitas atau hulu sementara tidak tersedia. | Coba ulangi dengan jeda eksponensial dan jitter. |
Kontrak operasional
YTSave mengeluarkan kuota operasional dengan setiap persetujuan untuk melindungi konsumen API dan layanan media hulu.
- Gunakan logika aplikasi idempoten dan jangan pernah memulai pekerjaan duplikat untuk klik pengguna yang sama.
- Cache metadata penyelesaian sebentar, tapi selalu perlakukan URL unduhan bertanda sebagai yang kedaluwarsa.
- Gunakan penundaan eksponensial terbatas dengan jitter untuk
429,503dan kesalahan yang bisa dicoba ulang. - Proses hanya media publik atau media yang Anda berwenang untuk akses. DRM dan kontrol akses tidak dilewati.
- Simpan ID permintaan dan ID pekerjaan dalam log operasional pribadi. Jangan mencatat URL yang dikirimkan secara tidak perlu.
YTSave menangani akses Skema dengan terlebih dahulu mengidentifikasi aktivasi sebelum eksplorasi. Ini diikuti dengan autentikasi yang ditugaskan dan menyimpan bentuk permintaan yang terdokumentasi dalam tampilan. Referensi OpenAPI
Minta kunci API kamu
Dokumentasikan konsumen API, perkiraan permintaan bulanan, dan persyaratan platform yang didukung. YTSave meninjau apakah penyelesaian, pengajuan pekerjaan, atau keduanya dibenarkan sebelum mengeluarkan kunci yang hanya terlihat sekali.
Minta akses API Kunci berskala penyewa, dapat dicabut dan diterbitkan melalui formulir Kontak. Skrip anonim tidak dapat menjalankan pekerjaan pengunduh.