media-downloaderMedia Downloader は、公開投稿のリンクを構造化データとファイルの直リンクに変換する API です。YouTube、TikTok、Instagram、Facebook、X(Twitter)、小紅書(Xiaohongshu)、Bilibili、Weibo、Douyin など 1000 以上の対応サイトの投稿 URL を送ると(youtu.be や vt.tiktok.com などの短縮リンクもそのまま使えます)、タイトル、本文、投稿者、統計情報と、投稿に含まれるすべてのメディアファイルが返ってきます。動画は利用できる画質ごとにファイルサイズ付きで、画像と音声も直リンクで取得できます。4 つの同期エンドポイントを 1 つの API キーで使えます。/v1/media/extract は投稿 1 件(1 リクエスト $0.004)、/v1/media/playlist はチャンネル・プロフィール・再生リスト・ハッシュタグをページ単位で(1 ページ $0.02、1 回の呼び出しで 1 ページ)、/v1/media/subtitles は YouTube と Bilibili の字幕トラック(1 リクエスト $0.004)、/v1/media/youtube-download は一時プロキシ経由で最大 1080p、レジューム対応の YouTube ダウンロードリンク(1 リクエスト $0.012)を返します。結果は同じ HTTP レスポンスで返り、通常は数秒で完了します。ダウンロードリンクには有効期限があるので、受け取ったらすぐにダウンロードしてください。映像と音声が別トラックになっている画質は、両方をダウンロードして ffmpeg で結合します。失敗したリクエストは課金されません。ダウンロードは、ご自身が権利を持つか利用許可を得たコンテンツに限り、各プラットフォームの規約と著作権を守ってご利用ください。
Send a public link and the result comes back in the same HTTP response (usually a few seconds; playlist pages can take longer) — no task to create, nothing to poll. All four endpoints use the same API key (Authorization: Bearer YOUR_API_KEY) and a JSON body. Only successful requests are charged.
Host https://api.apimodels.app; https://apimodels.app/api/v1/media/... works too.
| Endpoint | What it does | Price |
|---|---|---|
| POST/v1/media/extract | Extract a single post | $0.004 / request |
| POST/v1/media/playlist | List a channel, profile, playlist or hashtag | $0.02 / page |
| POST/v1/media/subtitles | Get subtitles (YouTube, Bilibili) | $0.004 / request |
| POST/v1/media/youtube-download | YouTube download links (proxied) | $0.012 / request |
POST /v1/media/extract
One public post from 1000+ sites (YouTube, TikTok, Instagram, Facebook, X, Xiaohongshu, Bilibili, Weibo, Douyin and more). Short links such as youtu.be and vt.tiktok.com work as-is. Returns the caption, author, stats and every media file with its available qualities.
curl https://api.apimodels.app/v1/media/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://www.tiktok.com/@creator/video/VIDEO_ID" }'{
"code": 200,
"msg": "success",
"data": {
"model": "media-downloader",
"endpoint": "post",
"site": "youtube",
"id": "VIDEO_ID",
"title": "Video title",
"text": "Caption or description of the post",
"post_url": "https://www.youtube.com/watch?v=VIDEO_ID",
"author": { "username": "creator", "display_name": "Creator Name" },
"stats": { "view_count": 1024 },
"medias": [
{
"media_type": "video",
"resource_url": "https://...",
"preview_url": "https://...",
"duration": 19,
"variants": [
{
"quality": 1080,
"quality_label": "1080p",
"video_url": "https://...",
"video_ext": "mp4",
"video_filesize": 5242880,
"audio_url": "https://...",
"audio_ext": "m4a"
},
{
"quality": 360,
"quality_label": "360p",
"video_url": "https://...",
"video_ext": "mp4",
"is_default": true
}
]
},
{
"media_type": "audio",
"resource_url": "https://...",
"duration": 19
}
]
}
}POST /v1/media/playlist
One page per call. Pass next_cursor back as cursor for the next page and stop when has_more is false. Supported: YouTube channels, Shorts, playlists and hashtags; Instagram profiles and hashtags; X; TikTok profiles and hashtags; Douyin; Bilibili; Weibo.
curl https://api.apimodels.app/v1/media/playlist \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://www.youtube.com/@channel/videos" }'
# next page: add "cursor": "<next_cursor from the previous response>"{
"code": 200,
"msg": "success",
"data": {
"model": "media-downloader",
"endpoint": "playlist",
"site": "youtube",
"profile": { "username": "@channel" },
"posts": [
{
"id": "VIDEO_ID",
"title": "Video title",
"created_at": "3 days ago",
"medias": [
{
"media_type": "video",
"resource_url": "https://...",
"preview_url": "https://...",
"duration": 1215
}
]
}
],
"has_more": true,
"next_cursor": "NEXT_CURSOR"
}
}POST /v1/media/subtitles
Every subtitle track on a YouTube or Bilibili video. YouTube offers srt, vtt and json3; Bilibili returns json (BCC). Auto-generated tracks say "(auto-generated)" in language_name. Links are short-lived (Bilibili about 30 minutes).
curl https://api.apimodels.app/v1/media/subtitles \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://www.youtube.com/watch?v=VIDEO_ID" }'{
"code": 200,
"msg": "success",
"data": {
"model": "media-downloader",
"endpoint": "subtitles",
"site": "youtube",
"id": "VIDEO_ID",
"title": "Video title",
"duration": 19,
"thumbnail_url": "https://...",
"subtitles": [
{
"language_name": "English",
"language_tag": "en",
"urls": [
{ "format": "srt", "url": "https://..." },
{ "format": "vtt", "url": "https://..." },
{ "format": "json3", "url": "https://..." }
]
}
]
}
}POST /v1/media/youtube-download
YouTube files served through a temporary proxy: resource_proxy_url is a complete lower-quality file or the audio, variants carry video_proxy_url / audio_proxy_url up to 1080p (separate tracks to merge). Links last at most 1 hour and support HTTP Range, so downloads can resume. Not available for files over 3 GiB.
curl https://api.apimodels.app/v1/media/youtube-download \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://youtu.be/VIDEO_ID" }'{
"code": 200,
"msg": "success",
"data": {
"model": "media-downloader",
"endpoint": "youtube",
"site": "youtube",
"id": "VIDEO_ID",
"title": "Video title",
"medias": [
{
"media_type": "video",
"duration": 19,
"resource_proxy_url": "https://...",
"variants": [
{
"quality": 1080,
"quality_label": "1080p",
"video_ext": "mp4",
"video_proxy_url": "https://...",
"audio_ext": "m4a",
"audio_proxy_url": "https://..."
}
]
}
]
}
}ffmpeg -i video.mp4 -i audio.m4a -c copy out.mp4
Only download content you own or have permission to use, and respect each platform's terms and copyright.
Field tables for every endpoint, error codes, Python and Node.js examples.
YouTube、TikTok、Instagram、Facebook、X、小紅書、Bilibili、Weibo、Douyin など。youtu.be や vt.tiktok.com の短縮リンクもそのまま使えます
動画ごとに利用できる画質をファイルサイズとプレビュー画像付きで返します。映像と音声が別トラックの画質は両方のリンクが返るので、ffmpeg で結合できます
プロフィール、チャンネル、再生リスト、ハッシュタグを next_cursor でページ送り。1 ページ $0.02
YouTube(srt / vtt / json3)と Bilibili の字幕トラックは $0.004、最大 1080p でレジューム対応の YouTube リンクは $0.012
結果は同じ HTTP レスポンスで返り、1 リクエスト $0.004 から。失敗したリクエストは課金されず、各呼び出しの金額は GET /v1/records/{id} で確認できます
Media Downloader は APIMODELS のSNS メディアダウンロード API です。Media Downloader は、公開投稿のリンクを構造化データとファイルの直リンクに変換する API です。YouTube、TikTok、Instagram、Facebook、X(Twitter)、小紅書(Xiaohongshu)、Bilibili、Weibo、Douyin など 1000 以上の対応サイトの投稿 URL を送ると(youtu.be や vt.tiktok.com などの短縮リンクもそのまま使えます)、タイトル、本文、投稿者、統計情報と、投稿に含まれるすべてのメディアファイルが返ってきます。動画は利用できる画質ごとにファイルサイズ付きで、画像と音声も直リンクで取得できます。4 つの同期エンドポイントを 1 つの API キーで使えます。/v1/media/extract は投稿 1 件(1 リクエスト $0.004)、/v1/media/playlist はチャンネル・プロフィール・再生リスト・ハッシュタグをページ単位で(1 ページ $0.02、1 回の呼び出しで 1 ページ)、/v1/media/subtitles は YouTube と Bilibili の字幕トラック(1 リクエスト $0.004)、/v1/media/youtube-download は一時プロキシ経由で最大 1080p、レジューム対応の YouTube ダウンロードリンク(1 リクエスト $0.012)を返します。結果は同じ HTTP レスポンスで返り、通常は数秒で完了します。ダウンロードリンクには有効期限があるので、受け取ったらすぐにダウンロードしてください。映像と音声が別トラックになっている画質は、両方をダウンロードして ffmpeg で結合します。失敗したリクエストは課金されません。ダウンロードは、ご自身が権利を持つか利用許可を得たコンテンツに限り、各プラットフォームの規約と著作権を守ってご利用ください。 APIMODELS のプラットフォーム経由なら、統一 API と明朗な従量課金でこのモデルを呼び出せます。 現在の料金: Single post (extract): $0.004, Subtitles: $0.004, Playlist (per page): $0.02, YouTube download: $0.012。
自分の動画、本文、統計情報をまとめてバックアップしたり、別のプラットフォームへ移したりできます。1 本ずつ手作業で保存する必要はありません。
公開投稿、チャンネル、ハッシュタグの本文、投稿者、エンゲージメント数をページ単位で、構造化された JSON として集められます。
YouTube と Bilibili にある既存の字幕トラックを srt、vtt、json で取得し、動画の検索、翻訳、要約に使えます。文字起こしをやり直す必要はありません。
利用権のある動画や画像を取得し、同じ API キーで使える動画・画像・音声モデルにそのまま渡せます。
Media Downloader は APIMODELS 経由で Single post (extract): $0.004, Subtitles: $0.004, Playlist (per page): $0.02, YouTube download: $0.012 で利用できます。課金は従量制で、生成した分だけの支払いです。
APIMODELS に登録して API キーを取得し、統一エンドポイントを呼ぶだけです。cURL / Python / Node.js のサンプルを含む詳しいドキュメントを用意しています。
公開投稿のリンクを、構造化された JSON とファイルの直リンクに変換する同期 API です。https://api.apimodels.app/v1/media/extract に POST {"url": "..."} を送ると、同じ HTTP レスポンス(通常は数秒)で、サイト、タイトル、本文、投稿者、統計情報と、投稿内のすべてのメディアファイル(画質ごとの動画、画像、音声)が返ってきます。同じキーで、チャンネルやプロフィールのページ取得(/v1/media/playlist)、字幕トラック(/v1/media/subtitles)、プロキシ経由の YouTube ダウンロード(/v1/media/youtube-download)の 3 つのエンドポイントも使えます。apimodels.app の 140 以上のモデルの 1 つで、API キーと残高は 1 つで共通、失敗したリクエストは課金されません。
投稿単位では 1000 以上のサイトに対応しており、YouTube、TikTok、Instagram、Facebook、X(Twitter)、小紅書、Bilibili、Weibo、Douyin などが含まれます。youtu.be や vt.tiktok.com などの短縮リンクもそのまま送れます。ページ単位の一覧取得は、YouTube のチャンネル・Shorts・再生リスト・ハッシュタグ、Instagram のプロフィールとハッシュタグ、X、TikTok のプロフィールとハッシュタグ、Douyin、Bilibili、Weibo に対応しています。字幕は YouTube と Bilibili の動画で取得できます。処理できないリンクには unsupported_site や content_deleted などの error_code 付きで 400 が返り、課金はされません。
一部のプラットフォームは、高画質を「音声なしの映像トラック」と「音声トラック」の 2 本で保存しています。その場合、バリアントには video_url と audio_url の両方が入ります。リンクには有効期限があるので両方をすぐにダウンロードし(メディアに Referer などの headers があれば、ダウンロード時に付けて送ってください)、ffmpeg -i video.mp4 -i audio.m4a -c copy out.mp4 で再エンコードせずに結合します。video_url だけのバリアントは、それだけで完全なファイルです。/v1/media/youtube-download でも構造は同じで、フィールド名が video_proxy_url と audio_proxy_url になります。これらのリンクは HTTP Range に対応しているので、途中で切れたダウンロードを再開できます。
プロフィール、チャンネル、再生リスト、ハッシュタグの URL を /v1/media/playlist に POST すると、1 ページ分が返ります。内容は posts[](各要素は投稿 1 件の結果と同じ形)、has_more、next_cursor、プロフィール情報です。次のページは、同じ url に前回の next_cursor を "cursor" として付けて再度送り、has_more が false になったら止めます。1 ページごとに $0.02 の 1 リクエストとして課金されるので、取得するページ数がそのまま支出の上限になります。
課金されるのは成功したリクエストだけで、エンドポイントごとの固定料金です。/v1/media/extract は $0.004、/v1/media/subtitles は $0.004、/v1/media/playlist は 1 ページ $0.02、/v1/media/youtube-download は $0.012。失敗は無料で、対応外や削除済みの投稿(400)、レート制限(429)、一時的なエラー(502 / 503 / 504)のほか、youtube-download が proxy_unavailable を返した場合も課金されません。返ってきたファイルのダウンロードに追加料金はかかりません。すべてのレスポンスに x-apimodels-request-id と x-apimodels-cost ヘッダーが付き、GET /v1/records/{id} でそのリクエストで実際に差し引かれた金額を確認できます。
問題になるかどうかはツールではなく、コンテンツそのものと使い方で決まります。ダウンロードは、ご自身が権利を持つか利用許可を得たコンテンツに限り、各プラットフォームの規約と著作権を守ってください。この API は公開されているリンクを対象としており、自分の投稿のバックアップ、自分の作品の別プラットフォームへの移行、公開投稿の本文やメタデータの分析といった用途に向いています。
APIMODELS では Media Downloader が 60 以上のモデルと同じ API キー・同じ残高の上に並んでいるので、選択は「相性」の問題であって「囲い込み」の問題ではありません。1000+ Sites、Video, Image & Audio、Playlists & Profiles、YouTube & Bilibili Subtitles、YouTube up to 1080p、From $0.004/request に対応しており、他のSNS メディアダウンロードモデルと価格・機能を並べて評価できます。乗り換えはモデル名の文字列を 1 つ書き換えるだけ。新しいアカウントも追加の実装も要りません。SNS メディアダウンロードの選択肢と最新価格は apimodels.app/models で確認できます。
Media Downloader は次に対応しています: 1000+ Sites、Video, Image & Audio、Playlists & Profiles、YouTube & Bilibili Subtitles、YouTube up to 1080p、From $0.004/request。パラメータの全一覧と呼び出し例は APIMODELS のドキュメントをご覧ください。
はい。APIMODELS は Media Downloader を単一の統一 API とキー 1 本で提供します。プロバイダごとのアカウントも、各社の地域ごとのネットワーク経路を自分で面倒みる必要もありません。
Stripe(Visa、Mastercard などの国際カード)と Alipay に対応しています。支払い後、残高はすぐ反映されます。