! catatan readme belum diperbarui
API berbasis Quart untuk mengunduh video dan audio YouTube, mengambil metadata video, dan menangani teks. API ini memungkinkan Anda berinteraksi dengan konten YouTube secara terprogram, memanfaatkan tugas latar belakang untuk mengelola file sementara dan menyediakan download yang efisien.
Unduh Video dan Audio: Ambil konten dengan resolusi dan bitrate tertentu.
Ambil Metadata Video: Dapatkan detail seperti judul, penayangan, dan informasi saluran.
Tangani Teks: Ambil dan simpan teks dalam format SRT.
Periksa Penyimpanan: Pastikan ruang penyimpanan yang cukup sebelum mengunduh.
Python 3.7+
FFmpeg
dependensi requirements.txt
Kloning Repositori
git clone https://github.com/DannyAkintunde/YouTube-dl-apicd Youtube-dl-api
Jalankan Skrip Instalasi
Jalankan skrip install.sh
untuk menginstal dependensi Python dan paket sistem:
chmod +x install.sh ./install.sh
Skrip ini akan:
Instal dependensi Python yang tercantum di requirements.txt
Perbarui daftar paket
Instal FFmpeg
Verifikasi instalasi FFmpeg
Sesuaikan pengaturan konfigurasi di file settings.py
:
DEBUG
: Mengaktifkan atau menonaktifkan mode debug (default: True
).
PROXY
: Konfigurasikan proxy dalam format http_proxy,https_proxy.
AUTH
: Konfigurasikan otentikasi (default: False
).
ACCESS_TOKEN
: Token untuk mengakses sumber daya yang dilindungi (diperlukan jika AUTH
adalah True
).
REFRESH_TOKEN
: Token untuk menyegarkan akses (diperlukan jika AUTH
adalah True
).
EXPIRES
: Waktu kedaluwarsa untuk token akses (diperlukan jika AUTH
adalah True
).
VISITOR_DATA
: Data untuk pelacakan pengunjung (diperlukan jika AUTH
adalah True
).
PO_TOKEN
: Token untuk pesanan pembelian (diperlukan jika AUTH
adalah True
).
MAX_DOWNLOAD_SIZE
: Ukuran file maksimum untuk diunduh (default: 2 GiB
).
MAX_SEARCH_AMOUNT
: Jumlah maksimum hasil penelusuran video (default: 25
).
MIN_SEARCH_AMOUNT
: Jumlah minimum hasil pencarian video (default: 2
).
DEFAULT_SEARCH_AMOUNT
: Jumlah default hasil pencarian video (default: 20
).
EXPIRATION_DELAY
: Penundaan masa berlaku file sementara (default: 1800 seconds
).
TEMP_DIR
: Direktori untuk menyimpan file sementara (default: 'temp_files'
).
AUTH_DIR
: Jalur untuk menyimpan file otentikasi (default: 'auth'
).
AUTH_FILE_NAME
: Nama file autentikasi (default: 'temp.json'
).
CODECS
: Daftar codec video dan audio yang akan digunakan (default: 'avc1,aac'
).
DAPATKAN /ping
Deskripsi: Memeriksa status API.
Tanggapan:
{ "pesan": "pong"}
200 OK
: {"message": "pong"}
DAPATKAN /search
Deskripsi: Mencari video YouTube berdasarkan kueri.
Parameter Kueri:
q
atau query
: Kueri penelusuran.
Contoh Permintaan:
DAPATKAN /pencarian?q=python+tutorial
Contoh Respon:
{ { "panjang": 20, "hasil": [ { "aksesibilitas": {"duration": "6 jam, 14 menit, 7 detik","title": "Tutorial Python - Kursus Lengkap Python untuk Pemula dengan Pemrograman dengan Mosh 41.059.791 penayangan 5 tahun yang lalu 6 jam, 14 menit" } , "saluran": {"id": "UCWv7vMbMWH4-V0ZXdmDpPBA","tautan": "https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA","name": "Pemrograman dengan Mosh","thumbnail": [ {"tinggi": 68,"url": "https://yt3.ggpht.com/lCeCb47hCbXWFa0I4gi8uWDHzWSs7sjK4FDmk7lFEUMRNp6QRzIQOkwaKhwv7eNKZacRI2uR=s68-ck-c0x00ffffff-no-rj","width": 68 } ] }, "deskripsiCuplikan": [ { "teks": "Menjadi "}, { "tebal": benar, "teks": "Python"}, { "teks": " pro! Komprehensif ini "}, { "tebal": benar, "teks": "tutorial"}, { "text": " membawa Anda dari pemula hingga ahli, mencakup dasar-dasar, pembelajaran mesin, dan ..."} ], "durasi": "6:14:07", "id": "_uQrJ0TkZlc", "link": "https://www.youtube.com/watch?v=_uQrJ0TkZlc", "publishedTime": "5 tahun yang lalu", "richThumbnail": {"height": 180,"url": "https://i.ytimg.com/an_webp/_uQrJ0TkZlc/mqdefault_6s.webp?du=3000&sqp=CLf547cG&rs=AOn4CLCAcnB5okiLttIEMkLM9bb-3w28AQ","width": 320 }, "shelfTitle": null, "thumbnails": [ { "tinggi": 202, "url": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQfkbApoaN-_QBOuiyHzWJOiziEA", "lebar": 360}, { "tinggi": 404, "url": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpUFKfUMVNbg8mqTcZ8UdSUjpilw", "lebar": 720} ], "title": "Tutorial Python - Kursus Lengkap Python untuk Pemula", "type": "video", "viewCount": {"short": "41 juta penayangan","text": "41.059.791 penayangan" } }//...hasil lainnya di sini ], "search": "tutorial python", "search_id": "00b5a31c-30d7-4d96-92e5-42b871062bca", "search_suggestions": ["tutorial python", "tutorial python untuk pemula", "tutorial python 2024" ] }
200 OK
: Hasil pencarian.
400 Bad Request
: Parameter kueri tidak ada atau tidak valid.
500 Internal Server Error
: Kesalahan sisi server.
DAPATKAN /info
Deskripsi: Mengambil metadata untuk video YouTube.
Parameter Kueri:
url
: URL video YouTube.
Contoh Permintaan:
DAPATKAN /info?url=https://youtube.com/watch?v=dQw4w9WgXcQ
Contoh Respon:
{ "penulis": "Rick Astley", "bitrate": ["160kbps","128kbps","70kbps","50kbps" ], "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw", "channel_url": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw", "description": "Video resmi untuk “Never Gonna Give You Up” oleh Rick Astley. nnAlbum baru 'Are We There Yet?' sudah keluar sekarang: Unduh di sini: https://RickAstley.lnk.to/AreWeThereYetFA/itunesnn“Never Gonna Give You Up” sukses besar secara global saat dirilis pada bulan Juli 1987, menduduki puncak tangga lagu di 25 negara termasuk negara asal Rick, Inggris, dan Billboard Hot 100 AS. Lagu ini juga memenangkan Brit Award untuk singel Terbaik pada tahun 1988. Stock Aitken dan Waterman menulis dan memproduseri lagu yang merupakan singel pembuka dan singel utama. lagu dari LP debut Rick “Whenever You Need Somebody”. Album ini sendiri menjadi nomor satu di Inggris dan terjual lebih dari 15 juta kopi di seluruh dunia. Video legendaris ini disutradarai oleh Simon West – yang kemudian menjadi film laris Hollywood. sebagai Con Air, Lara Croft – Tomb Raider dan The Expendables 2. Video ini melewati tonggak sejarah 1 miliar penayangan YouTube pada 28 Juli 2021. Berlangganan saluran YouTube resmi Rick Astley: https://RickAstley.lnk.to/YTSubIDnnFollow Rick Astley:nFacebook: https://RickAstley.lnk.to/FBFollowID nTwitter: https://RickAstley.lnk.to/TwitterID nInstagram: https://RickAstley.lnk. ke/InstagramID Situs Web: https://RickAstley.lnk.to/storeID nTikTok: https://RickAstley.lnk.to/TikTokIDnnDengarkan Rick Astley:nSpotify: https://RickAstley.lnk.to/SpotifyID nApple Music: https://RickAstley.lnk.to/AppleMusicID nAmazon Music: https:/ /RickAstley.lnk.to/AmazonMusicID nDeezer: https://RickAstley.lnk.to/DeezerID nnLyrics:nKami tidak asing dengan cintanKamu tahu aturannya dan begitu juga InA komitmen penuh itulah yang aku pikirkannKamu tidak akan mendapatkan ini dari pria lainnnAku hanya ingin memberitahumu bagaimana aku PerasaankunHarus membuatmu mengertinnTidak akan pernah menyerah padamuTidak akan pernah mengecewakanmunTidak akan pernah berlarian dan meninggalkanmuTidak akan pernah membuatmu menangisTidak akan pernah berkata selamat tinggalTidak akan pernah berbohong dan menyakitimuKita sudah saling kenal begitu lamaHatimu sakit tapi kamu terlalu malu untuk mengatakannyanDi dalam hati kita berdua tahu apa yang sedang terjadinKami tahu permainannya dan kami akan memainkannyannDan jika kamu bertanya padaku bagaimana caranya Aku merasanJangan bilang kau terlalu buta untuk melihatnTidak akan pernah menyerah padamunTidak akan pernah mengecewakanmunTidak akan pernah berlarian dan meninggalkanmuTidak akan pernah membuatmu menangisNever Gonna Give YouUp #Whenever YouNeedSomebody #OfficialMusicVideo", "id": "dQw4w9WgXcQ", "keywords": ["rick astley","Never Gonna Give You Up","nggyu" ,"jangan pernah menyerah lirik", "rick roll", "Rick Roll", "rick astley resmi", "rickrolled", "Lagu Fortnite", "Acara Fortnite", "Fortnite dance", "fortnite tidak akan pernah menyerah padamu", "rick roll", "rickrolling", "rick rolling", "tidak akan pernah memberimu up", "musik tahun 80-an", "rick astley baru", "video animasi", "rickroll", "lagu meme", "lirik tidak akan pernah menyerah", "Rick Astley 2022", "tidak akan pernah membiarkanmu turun","animasi","rick rolls 2022","jangan pernah menyerah karaoke" ], "panjang": 212, "tanggal_terbitkan": null, "resolusi": ["1080p","720p","480p","360p","240p","144p" ], "subtitle": ["en"], "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", "title": "Rick Astley - Jangan Pernah Menyerah ( Video Musik Resmi)", "url": {"audio": { "128kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJa hzv8S&itag=140&source=youtube&requiressl=ya&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C2 9&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu =1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w &spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vp rv=1&svpuc=1&mime=audio%2Fmp4&ns=LcPciQPCIlyTah4bUR1Ry3oQ&rqh=1&gir=ya&clen=3433 605&dur=212.091&lmt=1717047821006373&mt=1727598776&fvip=4&keepalive=ya&fexp=51299 152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=kedaluwarsa%2Cei%2Cip %2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2 Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Ci nitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHpSl -MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHt lDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgS jNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRQIhALzVUs_1ZBhAU4vl 4-_gWy8D_IuAVQZJzFanrawDMKOsAiAGBw-Q385K5JzdWj80j9eKH3yKDR0xsKxZTyKPU2Ubkg%3D%3D", "160kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJa hzv8S&itag=251&source=youtube&requiressl=ya&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C2 9&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&si u=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI6 w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw& vprv=1&svpuc=1&mime=audio%2Fwebm&ns=LcPciQPCIlyTah4bUR1Ry3oQ&rqh=1&gir=ya&clen=3 437753&dur=212.061&lmt=1717047822556748&mt=1727598776&fvip=4&keepalive=ya&fexp=5 1299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=kedaluwarsa%2Cei% 2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cm ime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cp l%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX 3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40K ENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRX OkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgRgmVXNz6G XZTa8wFsnP1g7VTKkAinxQ2MeL4L7_PpUUCIHgo1DpARUjGV3QpFS06_Q9xdzrUmYnQWyWm0VhX-HFS", "50kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJa hzv8S&itag=249&source=youtube&requiressl=ya&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C2 9&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu =1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w &spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vp rv=1&svpuc=1&mime=audio%2Fwebm&ns=LcPciQPCIlyTah4bUR1Ry3oQ&rqh=1&gir=ya&clen=123 2413&dur=212.061&lmt=1717047819209140&mt=1727598776&fvip=4&keepalive=ya&fexp=5129 9152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=kedaluwarsa%2Cei%2Ci p%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime %2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2 Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHp Sl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnp HtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFb gSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRgIhANYw5Elp9cly-p k9fZtviQxozUwSbmeyiPSX7xxOHywGAiEAoHiFDUhUA-S4m-WjPNnlnSXp65opUramacG4gcucmFg%3D", "70kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJ ahzv8S&itag=250&source=youtube&requiressl=ya&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C 29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&s iu=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZFtz4stuPKtFQJJZUbJtbt6KJJdElaNlI 6w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw &vprv=1&svpuc=1&mime=audio%2Fwebm&ns=LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=ya&clen= 1630086&dur=212.061&lmt=1717047822840442&mt=1727598776&fvip=4&keepalive=ya&fexp= 51299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=kedaluwarsa%2Cei %2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2C mime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2C pl%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiB X3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40 KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKR XOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgcZBnQIuS U46Et4rVk1EP96LN12X6zEturr49Dt3IdtgCICaL6e5X_7qoN782XgA94aCWl9APN7sqdpZDfnSQ3n4a" },"video": { "360p": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJ ahzv8S&itag=18&source=youtube&requiressl=ya&xpc=EgVo2aDSNQ%3D%3D&mh=7c&mm=31%2C 29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&s iu=1&bui=AXLXGFRb9LWg32JPSnGMKJTLm8K3ulHeoFqy6jW98J3ow17XhWM6hHiFPFeuDi2q4X9h4Fb CSw&spc=54MbxZ-_cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuz0D mJD&vprv=1&svpuc=1&mime=video%2Fmp4&ns=8KIxDqAhSq857Jj0EsIv_rAQ&rqh=1&cnr=14&rat ebypass=ya&dur=212.091&lmt=1717051812678016&mt=1727598776&fvip=4&fexp=51299152%2 C51300760&c=WEB&sefc=1&txp=4538434&n=5BzkN_PgDUfS4g&sparams=kedaluwarsa%2Cei%2Cip%2Ci d%2Citag%2Csource%2Crequiressl%2Cxpc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns %2Crqh%2Ccnr%2Cratebypass%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl %2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3 ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40K ENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRX OkeQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgfjB7dIm2 WxtJENp3UQMt-R6AOxAG42tSR_R8AY1VOjQCIHZTT43adN0Wy7XAicHL3yPavg78sous0M4orEjRw98v" } }, "tayangan": 1576357050, "watch_url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}
200 OK
: Metadata video.
400 Bad Request
: URL tidak valid atau parameter hilang.
500 Internal Server Error
: Kesalahan sisi server.
POSTING /download
Deskripsi: Mengunduh konten YouTube dengan resolusi tertinggi yang tersedia.
Badan Permintaan:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "subtitle": {"burn": true,"lang": "en" }, "tautan": salah}
Contoh Respon (Unduhan File):
Jika link
false
:
Responsnya adalah pengunduhan file.
Jika link
true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_for_Beginners.mp4"}
200 OK
: Tautan atau file unduhan.
400 Bad Request
: URL atau parameter tidak valid.
500 Internal Server Error
: Kesalahan sisi server.
POST /download/
Deskripsi: Mengunduh konten YouTube dengan resolusi tertentu.
Badan Permintaan:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "bitrate": "128kbps", "subtitle": {"burn": true,"lang": "en" }, "tautan": salah}
Contoh Respon (Unduhan File):
Jika link
false
:
Responsnya adalah pengunduhan file.
Jika link
true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_360p.mp4"}
200 OK
: Tautan atau file unduhan.
400 Bad Request
: Resolusi, bitrate, atau URL tidak valid.
500 Internal Server Error
: Kesalahan sisi server.
POST /download_audio
Deskripsi: Mengunduh audio YouTube dengan kualitas tertinggi.
Badan Permintaan:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "link": false}
Contoh Respon (Unduhan File):
Jika link
false
:
Responsnya adalah pengunduhan file.
Jika link
true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial.mp3"}
200 OK
: Tautan atau file unduhan.
400 Bad Request
: URL tidak valid.
500 Internal Server Error
: Kesalahan sisi server.
POST /download_audio/
Deskripsi: Mengunduh audio YouTube dengan bitrate tertentu.
Badan Permintaan:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "link": false}
Contoh Respon (Unduhan File):
Jika link
false
:
Responsnya adalah pengunduhan file.
Jika link
true
:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_48kbps.mp3"}
200 OK
: Tautan atau file unduhan.
400 Bad Request
: Bitrate atau URL tidak valid.
500 Internal Server Error
: Kesalahan sisi server.
DAPATKAN /captions/
Deskripsi: Mengambil teks untuk video YouTube.
Parameter Kueri:
url
: URL video YouTube.
Contoh Permintaan:
DAPATKAN /captions/en?url=https://youtube.com/watch?v=dQw4w9WgXcQ
Contoh Respon:
{ "caption": "biasanya anak-anak saya yang merusak barang dan sayalah yang memperbaikinya tetapi ketika terjadi korosi pada pendingin air kolam DIY saya", "caption_json": [ { "duration": 5.679, "start": 0.12, "text": "biasanya anak-anak saya yang merusak barang dan"}, { "duration": 5.919, "start": 2.72, "text": "Saya yang dapat memperbaikinya tetapi kapan"}, { "duration": 6.201, "start": 5.799, "text": "korosi pada pendingin air kolam DIY saya"} ], "file": "http://youtube-dl-api.frii.site/temp_file/I%20broke%20my%20son's%20gaming%20PC%20and%20now%20I%E2%80%99m%20making%20him %20fix%20it.srt", "lang": "Bahasa Inggris (dibuat secara otomatis)", "lang_code": "en"}
200 OK
: Data keterangan.
400 Bad Request
: URL atau kode bahasa tidak valid.
500 Internal Server Error
: Kesalahan sisi server.
DAPATKAN /temp_file/
Deskripsi: Mengambil file sementara.
Parameter:
filename
: Nama file.
Contoh Permintaan:
DAPATKAN /temp_file/temp_Python_Tutorial_for_Beginners.mp4
Contoh Respon:
Jika file tersebut ada, responsnya adalah pengunduhan file.
Jika file tidak ada:
{ "kesalahan": "Berkas tidak ditemukan"}
200 OK
: Pengunduhan file.
404 Not Found
: File tidak ditemukan.
Untuk menjalankan API, gunakan:
python main.py
Menghapus File Sementara: Aplikasi menjadwalkan tugas untuk menghapus file sementara yang lebih lama dari 24 jam.
Periksa app.log
untuk pesan kesalahan terperinci.
Pastikan TEMP_DIR
memiliki izin yang sesuai.
Validasi URL dan parameter YouTube dalam permintaan API.
Proyek ini dilisensikan di bawah Lisensi AGPL-3. Lihat file LICENSE
untuk detailnya.