!注意 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 分" } , "チャンネル": {"id": "UCWv7vMbMWH4-V0ZXdmDpPBA","リンク": "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": {"高さ": 180,"url": "https://i.ytimg.com/an_webp/_uQrJ0TkZlc/mqdefault_6s.webp?du=3000&sqp=CLf547cG&rs=AOn4CLCAcnB5okiLttIEMkLM9bb-3w28AQ","width": 320 }, "shelfTitle": null, "thumbnails": [ { "高さ": 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=AOn4CLCpUKKfUMVNbg8mqTcZ8UdSUjpilw", "width": 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 位を獲得しました。米国ビルボードホット100。1988年には英国賞最優秀シングル賞も受賞した。ストック・エイトケンとウォーターマンがこのトラックを書き、プロデュースした。リックのデビューLP「Whenever You Need Somebody」からのリード・シングルおよびリード・トラックであり、このアルバム自体が全英ナンバー1となり、世界中で1,500万枚以上を売り上げることになる。この伝説的なビデオは、後に監督を務めるサイモン・ウェストによって監督された。 「コン・エアー」、「ララ・クロフト – トゥームレイダー」、「エクスペンダブルズ 2」などのハリウッド大作の制作に貢献しました。このビデオは、2021 年 7 月 28 日に YouTube 再生回数 10 億回のマイルストーンを突破しました。公式リック・アストリー YouTube チャンネル: https://RickAstley.lnk.to/YTSubIDnnリック・アストリーをフォロー:nFacebook:https://RickAstley.lnk.to/FBFollowID nTwitter:https://RickAstley.lnk.to/TwitterID nInstagram:https ://RickAstley.lnk.to/InstagramID nウェブサイト: https://RickAstley.lnk.to/storeID nTikTok: https://RickAstley.lnk.to/TikTokIDnnRick 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 nn歌詞:n 僕らは愛するのが他人じゃないn あなたはルールを知っているし、そうするのよ私が考えているのは全力のコミットメントだn あなたは他の男からはこんなことは理解できないでしょう私はただあなたに私の気持ちを伝えたいだけですn 理解してもらわなければなりませんn決してあなたをあきらめないn決してつもりはありませんあなたを失望させることは決してない、走り回ってあなたを見捨てることは決してない、あなたを泣かせることは決してない、別れを告げることは決してない、嘘をついてあなたを傷つけることは決してない、私たちは知っていた長い間お互いに一緒だったね君の心は痛んでいたけど、君は恥ずかしがってそれを言えなかったんだ内心では僕ら二人とも何が起こっているのか知っているんだ僕らはゲームを知っているし、プレーするつもりだよもし君が僕の気持ちを聞いたら君がそうだとは言わないで盲目すぎて見えない 決してあなたを落ち込ませるつもりはない 決して走り回ってあなたを見捨てるつもりはない 決してあなたを泣かせるつもりはない 別れを告げるつもりはない 嘘をついて傷つけるつもりはないyounn#リック・アストリー #NeverGonnaGiveYouUp #WheneverYouNeedSomebody #OfficialMusicVideo", "id": "dQw4w9WgXcQ", "keywords": ["rick astley","Never Gonna Give You Up","nggyu","never Gonna Give You Up 歌詞", "リック ロール","リック ロール","リック アストリー公式","リックロールド","フォートナイト ソング","フォートナイト イベント","フォートナイト ダンス","フォートナイト ネバー ガウン ギブ ユー アップ","リック ロール","リックローリング","リック ローリング","ネバー ガウン ユー アップ"アップ"、"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-EtzrcBd4W06EaI8LnUezpJa」 hzv8S&itag=140&source=youtube&requiressl=yes&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=yes&clen=3433 605&dur=212.091&lmt=1717047821006373&mt=1727598776&fvip=4&keepalive=yes&fexp=51299 152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%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=yes&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=yes&clen=3 437753&dur=212.061&lmt=1717047822556748&mt=1727598776&fvip=4&keepalive=yes&fexp=5 1299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%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=yes&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=yes&clen=123 2413&dur=212.061&lmt=1717047819209140&mt=1727598776&fvip=4&keepalive=yes&fexp=5129 9152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%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=yes&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=yes&clen= 1630086&dur=212.061&lmt=1717047822840442&mt=1727598776&fvip=4&keepalive=yes&fexp= 51299152%2C51300760&c=WEB&sefc=1&txp=4532434&n=PBkHSDz29n0qdg&sparams=expire%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" }、"ビデオ": { 「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=yes&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=yes&dur=212.091&lmt=1717051812678016&mt=1727598776&fvip=4&fexp=51299152%2 C51300760&c=WEB&sefc=1&txp=4538434&n=5BzkN_PgDUfS4g&sparams=expire%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 OkQFbgSjNeRohf9afkINW7suFEVcBe0OedclwPPNYTqkcXvKA%3D%3D&sig=AJfQdSswRAIgfjB7dIm2 WxtJENp3UQMt-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/<resolution>
説明:指定された解像度で 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/<bitrate>
説明:指定されたビットレートで 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/<lang>
説明: 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>
説明:一時ファイルを取得します。
パラメータ:
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
ファイルを参照してください。