media-downloaderMedia Downloader는 공개 게시물 링크를 구조화된 데이터와 파일 직접 링크로 바꿔 주는 API입니다. YouTube, TikTok, Instagram, Facebook, X(Twitter), 샤오훙수(Xiaohongshu), Bilibili, Weibo, Douyin 등 1000개 이상 지원 사이트의 게시물 URL을 보내면(youtu.be, vt.tiktok.com 같은 단축 링크도 그대로 쓸 수 있습니다) 제목, 본문, 작성자, 통계와 함께 게시물에 담긴 모든 미디어 파일을 돌려줍니다. 영상은 사용 가능한 화질별로 파일 크기와 함께, 이미지와 오디오도 직접 링크로 받습니다. 동기식 엔드포인트 네 개를 API 키 하나로 씁니다. /v1/media/extract는 게시물 한 건(요청당 $0.004), /v1/media/playlist는 채널·프로필·재생목록·해시태그를 페이지 단위로(페이지당 $0.02, 호출 한 번에 한 페이지), /v1/media/subtitles는 YouTube와 Bilibili 자막 트랙(요청당 $0.004), /v1/media/youtube-download는 임시 프록시를 거친 최대 1080p, 이어받기가 되는 YouTube 다운로드 링크(요청당 $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로 넘겨 가며 가져옵니다. 페이지당 $0.02
YouTube(srt / vtt / json3)와 Bilibili 자막 트랙은 $0.004, 최대 1080p에 이어받기가 되는 YouTube 링크는 $0.012
결과는 같은 HTTP 응답으로 오며 요청당 $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 같은 단축 링크도 그대로 쓸 수 있습니다) 제목, 본문, 작성자, 통계와 함께 게시물에 담긴 모든 미디어 파일을 돌려줍니다. 영상은 사용 가능한 화질별로 파일 크기와 함께, 이미지와 오디오도 직접 링크로 받습니다. 동기식 엔드포인트 네 개를 API 키 하나로 씁니다. /v1/media/extract는 게시물 한 건(요청당 $0.004), /v1/media/playlist는 채널·프로필·재생목록·해시태그를 페이지 단위로(페이지당 $0.02, 호출 한 번에 한 페이지), /v1/media/subtitles는 YouTube와 Bilibili 자막 트랙(요청당 $0.004), /v1/media/youtube-download는 임시 프록시를 거친 최대 1080p, 이어받기가 되는 YouTube 다운로드 링크(요청당 $0.012)를 돌려줍니다. 결과는 같은 HTTP 응답으로 돌아오며 보통 몇 초면 끝납니다. 다운로드 링크는 유효 시간이 짧으니 받자마자 내려받으세요. 영상과 오디오가 별도 트랙으로 나뉜 화질은 둘 다 받아 ffmpeg로 합치면 됩니다. 실패한 요청은 과금되지 않습니다. 본인이 소유했거나 사용 허락을 받은 콘텐츠만 내려받고, 각 플랫폼의 약관과 저작권을 지켜 주세요. APIMODELS 플랫폼을 거치면 통합 API와 투명한 종량 과금으로 이 모델을 호출할 수 있습니다. 현재 가격: Single post (extract): $0.004, Subtitles: $0.004, Playlist (per page): $0.02, YouTube download: $0.012.
내 영상, 본문, 통계를 백업하거나 작품 전체를 다른 플랫폼으로 옮길 수 있습니다. 하나씩 손으로 저장할 필요가 없습니다.
공개 게시물, 채널, 해시태그의 본문, 작성자, 참여 지표를 페이지 단위로 모아 구조화된 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) 엔드포인트도 쓸 수 있습니다. apimodels.app의 140개 이상 모델 가운데 하나로 API 키와 잔액을 함께 쓰며, 실패한 요청은 과금되지 않습니다.
게시물 단위로는 YouTube, TikTok, Instagram, Facebook, X(Twitter), 샤오훙수, Bilibili, Weibo, Douyin을 포함한 1000개 이상 사이트를 지원하며, youtu.be나 vt.tiktok.com 같은 단축 링크도 그대로 보내면 됩니다. 페이지 단위 목록 조회는 YouTube 채널·Shorts·재생목록·해시태그, Instagram 프로필·해시태그, X, TikTok 프로필·해시태그, Douyin, Bilibili, Weibo를 지원합니다. 자막은 YouTube와 Bilibili 영상에서 받을 수 있습니다. 처리할 수 없는 링크는 unsupported_site, content_deleted 같은 error_code와 함께 400을 돌려주며 과금되지 않습니다.
일부 플랫폼은 높은 화질을 소리 없는 영상 트랙과 오디오 트랙 두 개로 저장합니다. 이런 화질에는 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하면 한 페이지가 돌아옵니다. posts[](각 항목은 게시물 한 건의 결과와 같은 형태), has_more, next_cursor, 프로필 정보가 들어 있습니다. 다음 페이지는 같은 url에 이전 next_cursor를 "cursor"로 넣어 다시 보내고, has_more가 false가 되면 멈춥니다. 페이지마다 $0.02짜리 요청 한 번으로 과금되므로, 요청하는 페이지 수가 곧 지출 상한입니다.
성공한 요청만 엔드포인트별 고정 가격으로 과금됩니다. /v1/media/extract $0.004, /v1/media/subtitles $0.004, /v1/media/playlist 페이지당 $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 미디어 다운로드 모델과 가격·성능을 나란히 놓고 따져볼 수 있습니다. 갈아타기는 모델 이름 문자열 하나만 바꾸면 되고 새 계정도 추가 작업도 필요 없습니다. 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와 키 한 개로 제공합니다. 공급자별 계정도 필요 없고, 각 공급자의 지역별 네트워크 경로를 직접 챙길 필요도 없습니다.
Stripe(Visa, Mastercard 등 해외 카드)와 Alipay를 지원합니다. 결제 후 잔액은 즉시 반영됩니다.