!注意 Readme はまだ更新されていません
YouTube ビデオとオーディオのダウンロード、ビデオ メタデータの取得、キャプションの処理のための Quart ベースの API。この API を使用すると、バックグラウンド タスクを利用して一時ファイルを管理し、効率的なダウンロードを提供しながら、プログラムで YouTube コンテンツを操作できます。
ビデオとオーディオのダウンロード:指定された解像度とビットレートでコンテンツを取得します。
ビデオ メタデータの取得:タイトル、再生回数、チャンネル情報などの詳細を取得します。
キャプションの処理:キャプションを取得して SRT 形式で保存します。
ストレージの確認:ダウンロードする前に十分なストレージ容量を確認してください。
Python 3.7以降
FFmpeg
requirements.txt
依存関係
リポジトリのクローンを作成する
git clone https://github.com/DannyAkintunde/YouTube-dl-apicd Youtube-dl-api
インストールスクリプトを実行する
install.sh
スクリプトを実行して、Python の依存関係とシステム パッケージをインストールします。
chmod +x インストール.sh ./install.sh
このスクリプトは次のことを行います。
requirements.txt
にリストされている Python の依存関係をインストールします。
パッケージリストを更新する
FFmpegをインストールする
FFmpeg のインストールを確認する
settings.py
ファイル内の構成設定を調整します。
DEBUG
: デバッグ モードを有効または無効にします (デフォルト: True
)。
PROXY
: http_proxy、https_proxy の形式でプロキシを設定します。
AUTH
: 認証を構成します (デフォルト: False
)。
ACCESS_TOKEN
: 保護されたリソースにアクセスするためのトークン ( AUTH
がTrue
の場合は必須)。
REFRESH_TOKEN
: アクセスをリフレッシュするためのトークン ( AUTH
がTrue
の場合に必要)。
EXPIRES
: アクセス トークンの有効期限 ( AUTH
がTrue
の場合は必須)。
VISITOR_DATA
: 訪問者追跡用のデータ ( AUTH
がTrue
の場合は必須)。
PO_TOKEN
: 発注書のトークン ( AUTH
がTrue
の場合は必須)。
MAX_DOWNLOAD_SIZE
: ダウンロードの最大ファイル サイズ (デフォルト: 2 GiB
)。
MAX_SEARCH_AMOUNT
: ビデオ検索結果の最大数 (デフォルト: 25
)。
MIN_SEARCH_AMOUNT
: ビデオ検索結果の最小数 (デフォルト: 2
)。
DEFAULT_SEARCH_AMOUNT
: ビデオ検索結果のデフォルトの数 (デフォルト: 20
)。
EXPIRATION_DELAY
: 一時ファイルの有効期限が切れるまでの遅延 (デフォルト: 1800 seconds
)。
TEMP_DIR
: 一時ファイルを保存するディレクトリ (デフォルト: 'temp_files'
)。
AUTH_DIR
: 認証ファイルを保存するパス (デフォルト: 'auth'
)。
AUTH_FILE_NAME
: 認証ファイルの名前 (デフォルト: 'temp.json'
)。
CODECS
: 使用するビデオおよびオーディオ コーデックのリスト (デフォルト: 'avc1,aac'
)。
GET /ping
説明: API のステータスを確認します。
応答:
{ "メッセージ": "ポン"}
200 OK
: {"message": "pong"}
GET /search
説明:クエリに基づいて YouTube 動画を検索します。
クエリパラメータ:
q
またはquery
: 検索クエリ。
リクエストの例:
GET /search?q=python+チュートリアル
応答例:
{ { "長さ": 20、"結果": [ { "accessibility": {"duration": "6 時間 14 分 7 秒","title": "Python チュートリアル - Mosh を使ったプログラミングによる初心者向け Python フルコース 41,059,791 再生回数、5 年前 6 時間、14 分" } , "channel": {"id": "UCWv7vMbMWH4-V0ZXdmDpPBA","link": "https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA","name": "モッシュを使ったプログラミング","サムネイル":[ {"高さ": 68,"url": "https://yt3.ggpht.com/lCeCb47hCbXWFa0I4gi8uWDHzWSs7sjK4FDmk7lFEUMRNp6QRzIQOkwaKhwv7eNKZacRI2uR=s68-ck-c0x00ffffff-no-rj","幅": 68 } 】 }, "説明スニペット": [ { "text": "「になる」}, { "太字": true、"テキスト": "Python"}, { "text": " プロ! これは包括的です "}, { "太字": true、"テキスト": "チュートリアル"}, { "text": " 基本、機械学習などをカバーし、初心者からヒーローまでを導きます。"} ]、"duration": "6:14:07"、"id": "_uQrJ0TkZlc"、"link": "https://www.youtube.com/watch?v=_uQrJ0TkZlc"、"publishedTime": "5年前", "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、"サムネイル": [ { "高さ": 202、"url": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCQfkbApoaN-_QBOuiyHzWJOiziEA", "幅": 360 }、 { "高さ": 404, "url": "https://i.ytimg.com/vi/_uQrJ0TkZlc/hq720.jpg?sqp=-oaymwEcCNAFEJQDSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCpUFKfUMVNbg8mqTcZ8UdSUjpilw", "幅": 720} ], "title": "Python チュートリアル - 初心者向け Python フルコース", "type": "video", "viewCount": {"short": "4,100 万回再生","text": "41,059,791 回再生" } }//...その他の結果はこちら ]、"search": "Python チュートリアル"、"search_id": "00b5a31c-30d7-4d96-92e5-42b871062bca"、"search_suggestions": ["Python チュートリアル"、"初心者向け Python チュートリアル"、"Python チュートリアル 2024" 】 }
200 OK
: 検索結果。
400 Bad Request
: クエリパラメータが欠落しているか無効です。
500 Internal Server Error
: サーバー側のエラー。
/info
を取得
説明: YouTube ビデオのメタデータを取得します。
クエリパラメータ:
url
: YouTube ビデオの URL。
リクエストの例:
GET /info?url=https://youtube.com/watch?v=dQw4w9WgXcQ
応答例:
{ "著者": "リック・アストリー", "ビットレート": ["160kbps","128kbps","70kbps","50kbps" ]、"channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw"、"channel_url": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw"、 "description": "リック・アストリーによる「Never Gonna Give You Up」の公式ビデオ。ニューアルバム「Are We There Yet?」現在リリース中: ダウンロードはこちら: https://RickAstley.lnk.to/AreWeThereYetFA/itunesnn 「Never Gonna Give You Up」は、1987 年 7 月にリリースされると世界的に大ヒットし、リックの母国である英国を含む 25 か国でチャートの 1 位を獲得しました。この曲は、1988年に英国ビルボード・ホット100で最優秀シングル賞を受賞した。ストック・エイトケンとウォーターマンは、リックのデビューLP「Whenever You Need Somebody」のリード・オフ・シングルおよびリード・トラックとなった曲を書き、プロデュースした。この伝説的なビデオは、後にコン・エアー、ララ・クロフト - トゥームレイダー、エクスペンダブルズ 2 などのハリウッド大作を製作したサイモン・ウェストによって監督されました。動画は、2021 年 7 月 28 日に YouTube 再生回数 10 億回のマイルストーンを突破しました。nn公式 Rick Astley YouTube チャンネルを購読してください: https://RickAstley.lnk.to/YTSubIDnnRick Astley をフォローしてください:nFacebook: https://RickAstley.lnk.to/FBFollowID nTwitter: https://RickAstley.lnk.to/TwitterID nInstagram: https://RickAstley.lnk.to/InstagramID nWebサイト: https://RickAstley.lnk.to/storeID nTikTok: https://RickAstley.lnk.to/TikTokIDnnListen 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:n私たちは愛するのに見知らぬ人ではありませんあなたはルールを知っています、そしてそれは私が考えていることですフルコミットメントは他の男からは得られないでしょう私はただあなたに私の気持ちを伝えたいだけですnGotta理解させてあげる、決してあなたを諦めない、決してあなたを失望させるつもりはない、決して走り回ってあなたを見捨てるつもりは決してない、あなたを泣かせるつもりは決してない、さよならを言うつもりはない、嘘をついてあなたを傷つけるつもりはない、私たちはお互いをとても長い間知っています、あなたの心は痛んでいるのに、あなたは恥ずかしがり屋で言うことができません内心では私たち二人とも何が起こっているのか知っています 私たちはゲームを知っていますし、プレーするつもりです そして、もしあなたが私の気持ちを尋ねたら、あなたが盲目すぎて見えないとは言わないでください 決してあなたをあきらめるつもりはありません、決してあなたを失望させるつもりはありません、そして、走り回るつもりはありません砂漠に君を泣かせることは決してない、さよならを言うことはない、嘘をついて君を傷つけることは決してない#リック・アストリー #NeverGonnaGiveYouUp #WheneverYouNeedSomebody #OfficialMusicVideo", "id": "dQw4w9WgXcQ", "keywords": ["rick astley","Never Gonna Give You Up" ","nggyu","never Gonna give you up 歌詞","rick roll","Rick Roll","rick astley official","rickrolled","フォートナイト ソング","フォートナイト イベント","フォートナイト ダンス", 「フォートナイト ネバー・ゴナ・ギブ・ユー・アップ」、「リック・ロール」、「リック・ローリング」、「リック・ローリング」、「ネバー・ゴナ・ギブ・ユー・アップ」、「80年代の音楽」、「リック・アストリーの新作」、「アニメーションビデオ」、「リックロール」 、「ミーム ソング」、「ネバー ガナ ギブ ユー アップ 歌詞」、「リック アストリー 2022」、「ネバー ガナ レット ユー ダウン」、「アニメーション」、「リック ロール 2022」、「ネバー ガナ ギブ ユー アップ カラオケ」 ]、「長さ」: 212、「公開日」: null、「解像度」: ["1080p"、"720p"、"480p"、"360p"、"240p"、"144p" ], "subtitles": ["ja"], "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg", "title": "リック・アストリー - ネバー・ゴナ・ギブ・ユー・アップ (公式ミュージック ビデオ)", "url": {"audio": { "128kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJah zv8S&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D% 3D&mh=7c&mm=31%2C29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZ Ftz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vprv=1&svpuc=1&mime=audio%2Fmp4&ns = LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=3433605&dur=212.091&lmt=1717047821006373&mt=1727598776&fvip=4&keepalive=yes&fexp=51299152%2C513007 60&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei%2Cip%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%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPv lGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz -fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRQIhALzVUs_1ZBhAU4vl4-_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-EtzrcBd4W06EaI8LnUezpJah zv8S&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D% 3D&mh=7c&mm=31%2C29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZ Ftz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns = LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=3437753&dur=212.061&lmt=1717047822556748&mt=1727598776&fvip=4&keepalive=yes&fexp=51299152%2C513007 60&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei%2Cip%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%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPv lGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz -fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgRgmVXNz6GXZTa8wFsnP1g7VTKk AinxQ2MeL4L7_PpUUCIHgo1DpaRUjGV3QpFS06_Q9xdzrUmYnQWyWm0VhX-HFS", "50kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJahz v8S&itag=249&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D% 3D&mh=7c&mm=31%2C29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZ Ftz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns = LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=1232413&dur=212.061&lmt=1717047819209140&mt=1727598776&fvip=4&keepalive=yes&fexp=51299152%2C513007 60&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei%2Cip%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%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPv lGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz -fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRgIhANYw5Elp9cly-pk9fZtviQxozUwS bmeyiPSX7xxOHywGAiEAoHiFDUhUA-S4m-WjPNnlnSXp65opUramacG4gcucmFg%3D", "70kbps": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJahz v8S&itag=250&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D% 3D&mh=7c&mm=31%2C29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu=1&bui=AXLXGFTLtpYeBi-WkfbOrD6x11PgTTzzR3XccdPZ Ftz4stuPKtFQJJZUbJtbt6KJJdElaNlI6w&spc=54MbxZ-8cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuzECw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns = LcPciQPCIlyTAh4bUR1Ry3oQ&rqh=1&gir=yes&clen=1630086&dur=212.061&lmt=1717047822840442&mt=1727598776&fvip=4&keepalive=yes&fexp=51299152%2C513007 60&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%2Cei%2Cip%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%2Cinitcwndbps&lsig=ABPmVW0wRQIhAL4XTegKBWTyhPv lGwVYx5b6wKFXGaJnWz5hPoyu2V1jAiBX3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz -fH6mqHFsS7CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgcZBnQIuSU46Et4rVk1EP96LN1 2X6zEturr49Dt3IdtgCICaL6e5X_7qoN782XgA94aCWl9APN7sqdpZDfnSQ3n4a" }、"ビデオ": { "360p": "https://rr2---sn-nx5s7n76.googlevideo.com/videoplayback?expire=1727620629&ei=tBH5ZuXtPK32sfIPmpfRaA&ip=34.213.214.55&id=o-AFciugVQSUntvlu-EtzrcBd4W06EaI8LnUezpJahz v8S&itag=18&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D% 3D&mh=7c&mm=31%2C29&mn=sn-nx5s7n76%2Csn-nx57ynsk&ms=au%2Crdu&mv=m&mvi=2&pl=17&initcwndbps=906250&siu=1&bui=AXLXGFRb9LWg32JPSnGMKJTLm8K3ulHeoFqy6 jW98J3ow17XhWM6hHiFPFeuDi2q4X9h4FbCSw&spc=54MbxZ-_cHiojJiaToWtUNunjsdmNSRVaZsp33b3yJk5hWz-XyvPBPMvqlmBFtXq-StOzuz0DmJD&vprv=1&svpuc=1&mime=video%2Fmp 4&ns=8KIxDqAhSq857Jj0EsIv_rAQ&rqh= 1&cnr=14&ratebypass=yes&dur=212.091&lmt=1717051812678016&mt=1727598776&fvip=4&fexp=51299152%2C51300760&c=WEB&sefc=1&txp=4538434&n=5BzkN_PgDU fS4g&sparams=expire%2Cei%2Cip%2Cid%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=ABPmVW0wRQIhAL4XTegKBWTyhPvlGwVYx5b6w KFXGaJnWz5hPoyu2V1jAiBX3ZHpSl-MMXhVWpt3O5ds3INf0Wlr-pbzhcj9KywORA%3D%3D&pot=MnRLRTG8kBazMEt9RGwvFceBv40KENnpHtlDrguGDKni7A-azrTC0L_GYy7Pz-fH6mqHFsS7 CmHJ3c3g9Y6z-RqqRsbYhMeXWbiXmyTXLpKRXOkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA %3D%3D&sig=AJfQdSswRAIgfjB7dIm2WxtJENp3UQMt-R6AOxAG42tSR_R8AY1VOjQCIHZTT43adN0Wy7XAicHL3yPavg78sous0M4orEjRw98v" } }, "再生回数": 1576357050, "watch_url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}
200 OK
: ビデオのメタデータ。
400 Bad Request
: URL が無効か、パラメータが欠落しています。
500 Internal Server Error
: サーバー側のエラー。
投稿/download
説明:利用可能な最高の解像度で YouTube コンテンツをダウンロードします。
リクエスト本文:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "字幕": {"burn": true,"lang": "en" }, "リンク": false}
応答例 (ファイルのダウンロード):
link
がfalse
の場合:
応答はファイルのダウンロードになります。
link
がtrue
の場合:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_for_Beginners.mp4"}
200 OK
: リンクまたはファイルをダウンロードします。
400 Bad Request
: URL またはパラメータが無効です。
500 Internal Server Error
: サーバー側のエラー。
POST /download/
説明:指定された解像度で YouTube コンテンツをダウンロードします。
リクエスト本文:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "ビットレート": "128kbps", "字幕": {"burn": true,"lang": "en" }, "リンク": false}
応答例 (ファイルのダウンロード):
link
がfalse
の場合:
応答はファイルのダウンロードになります。
link
がtrue
の場合:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_360p.mp4"}
200 OK
: リンクまたはファイルをダウンロードします。
400 Bad Request
: 解像度、ビットレート、または URL が無効です。
500 Internal Server Error
: サーバー側のエラー。
POST /download_audio
説明: YouTube オーディオを最高品質でダウンロードします。
リクエスト本文:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "リンク": false}
応答例 (ファイルのダウンロード):
link
がfalse
の場合:
応答はファイルのダウンロードになります。
link
がtrue
の場合:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial.mp3"}
200 OK
: リンクまたはファイルをダウンロードします。
400 Bad Request
: 無効な URL。
500 Internal Server Error
: サーバー側のエラー。
POST /download_audio/
説明:指定されたビットレートで YouTube オーディオをダウンロードします。
リクエスト本文:
{ "url": "https://youtube.com/watch?v=dQw4w9WgXcQ", "リンク": false}
応答例 (ファイルのダウンロード):
link
がfalse
の場合:
応答はファイルのダウンロードになります。
link
がtrue
の場合:
{ "download_link": "http://example.com/temp_file/temp_Python_Tutorial_48kbps.mp3"}
200 OK
: リンクまたはファイルをダウンロードします。
400 Bad Request
: ビットレートまたは URL が無効です。
500 Internal Server Error
: サーバー側のエラー。
GET /captions/
説明: YouTube ビデオのキャプションを取得します。
クエリパラメータ:
url
: YouTube ビデオの URL。
リクエストの例:
GET /captions/en?url=https://youtube.com/watch?v=dQw4w9WgXcQ
応答例:
{ "caption": "通常、物を壊すのは子供たちで、それを直すのは私ですが、DIY のプールの水冷装置が腐食したときは", "caption_json": [ { "duration": 5.679, "start": 0.12, "text": "通常、物を壊すのは子供たちです。"}, { "duration": 5.919, "start": 2.72, "text": "それを修正するのは私ですが、いつ"}, { "duration": 6.201, "start": 5.799, "text": "DIY プールの水冷の腐食"} ], "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": "英語 (自動生成)", "lang_code": "en"}
200 OK
: キャプションデータ。
400 Bad Request
: URL または言語コードが無効です。
500 Internal Server Error
: サーバー側のエラー。
GET /temp_file/
説明:一時ファイルを取得します。
パラメータ:
filename
: ファイルの名前。
リクエストの例:
/temp_file/temp_Python_Tutorial_for_Beginners.mp4 を取得します
応答例:
ファイルが存在する場合、応答はファイルのダウンロードになります。
ファイルが存在しない場合:
{ "エラー": "ファイルが見つかりません"}
200 OK
: ファイルのダウンロード。
404 Not Found
: ファイルが見つかりません。
API を実行するには、以下を使用します。
Python main.py
一時ファイルのクリア:アプリケーションは、24 時間より古い一時ファイルをクリアするタスクをスケジュールします。
詳細なエラー メッセージについては、 app.log
を確認してください。
TEMP_DIR
に適切な権限があることを確認してください。
API リクエスト内の YouTube URL とパラメータを検証します。
このプロジェクトは、AGPL-3 ライセンスに基づいてライセンスされています。詳細については、 LICENSE
ファイルを参照してください。