快速开始
统一入口为 /api.php,支持 GET、POST 和 JSON Body。
基本信息
所有接口都从 api.php 进入,入口层只负责参数接收、接口分流、缓存调用和统一 JSON 输出。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
name |
string | 否 | - | 传入后走搜索接口。 |
book_id |
string | 否 | - | 传入后走剧集列表接口。 |
video_id |
string | 否 | - | 传入后走播放地址接口。 |
action |
string | 否 | - | rank 排行榜,movie 电影接口,movie_search 影视搜索,category 分类面板,filter 分类筛选,new 新剧列表,new_calendar 上新日历,vision 识图搜索,comments 评论列表,actor_rank 演员榜,actor 演员解析,actor_detail 演员详情,actor_works 演员短剧。 |
请求示例
https://api5-normal.12api.cn/api.php?name=逆袭&page=1&tab_type=11
{
"name": "逆袭",
"page": 1,
"tab_type": "11"
}
响应示例
{
"code": 200,
"msg": "请求成功",
"data": [],
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
code |
int | 200 表示成功,0 表示失败或暂无数据。 |
msg |
string | 接口提示信息。 |
data |
array/object | 接口核心数据,不同接口结构不同。 |
time |
string | 接口返回时间。 |
搜索接口 SearchSong
根据短剧名或漫剧名搜索,返回 book_id 用于继续获取剧集列表。
基本信息
name 不为空时自动进入搜索接口。tab_type=11 表示短剧,tab_type=19 表示漫剧。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
name |
string | 是 | - | 搜索关键词,支持中文短剧名。 |
page |
int | 否 | 1 | 页码,从 1 开始。 |
tab_type |
string | 否 | 11 | 11 短剧,19 漫剧。 |
请求示例
https://api5-normal.12api.cn/api.php?name=重生&page=1&tab_type=11
{
"name": "重生",
"page": 1,
"tab_type": "11"
}
响应示例
{
"code": 200,
"msg": "搜索成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"data": [
{
"book_id": "7651964941498338328",
"title": "直播阴间治愈日常,我是白无常",
"author": "作者名",
"type": "奇幻",
"play_cnt": "11093528",
"duration": "3小时11分钟",
"episode_cnt": "94",
"publish_time": "2026-06-29 13:00:00",
"cover": "https://example.com/cover.jpg",
"intro": "短剧简介"
}
],
"page": 1,
"tips": "获取到对应book_id,然后用于获取全部视频列表",
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].book_id |
string | 短剧书籍 ID,用于 GetMovList。 |
data[].title |
string | 短剧名称。 |
data[].type |
string | 分类或标签。 |
data[].episode_cnt |
int/string | 总集数。 |
data[].cover |
string | 封面图地址。 |
影视搜索 SearchMovie
根据关键词搜索影视内容,返回的 video_id 可直接用于播放地址解析。
基本信息
action=movie_search 时进入影视搜索接口。上游搜索页 tab_type=21 为影视结果,接口只返回带 vid 的可播放结果,并统一转换为 video_id。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | movie_search | 固定为 movie_search;也兼容 film_search、video_search。 |
name |
string | 是 | - | 影视搜索关键词;也兼容 query、q、keyword。 |
page |
int | 否 | 1 | 页码,从 1 开始。 |
limit |
int | 否 | 10 | 返回数量,最大 50;也兼容 count。 |
请求示例
https://api5-normal.12api.cn/api.php?action=movie_search&name=唐伯虎&page=1&limit=10
https://api5-normal.12api.cn/api.php?video_id=7437361509316054078&level=1080p&type=json
{
"action": "movie_search",
"name": "唐伯虎",
"page": 1,
"limit": 10
}
响应示例
{
"code": 200,
"msg": "影视搜索成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"query": "唐伯虎",
"tab_type": 21,
"tab_name": "影视",
"data": [
{
"rank": 1,
"book_id": "7437361505797950526",
"series_id": "7437361505797950526",
"video_id": "7437361509316054078",
"title": "风流少年唐伯虎",
"highlight_title": "风流少年唐伯虎",
"type": "剧情",
"tag": "电视剧",
"category_names": "剧情",
"rec_tags": [
"剧情",
"1.3万收藏",
"69万热度"
],
"actor": "黄晓明,郑家榆,冯雷",
"duration": "21小时46分钟",
"episode_cnt": 28,
"episode_text": "共28集",
"score": "8.3",
"cover": "https://example.com/cover.jpg",
"intro": "影视简介"
}
],
"count": 1,
"has_more": true,
"page": 1,
"next_page": 2,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].video_id |
string | 影视视频 ID,由上游 vid 转换而来,可直接用于播放地址接口。 |
data[].book_id |
string | 影视系列 ID,也等同于 series_id。 |
data[].title |
string | 影视名称。 |
data[].tag |
string | 内容标签,例如电视剧、电影、短视频。 |
data[].actor |
string | 演员列表,按上游返回拼接。 |
data[].episode_cnt |
int | 集数;电影一般为 1,电视剧为多集。 |
has_more |
bool | 是否还有更多搜索结果。 |
next_page |
int/null | 下一页页码,没有更多数据时为 null。 |
识图搜索 SearchVision
上传短剧截图或封面进行图片搜索,返回匹配的短剧列表。
基本信息
action=vision 时进入识图搜索接口。图片只在本次请求中转发给上游识别,不保存文件,也不写入缓存;建议使用 multipart/form-data 上传 image 字段。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | vision | 固定为 vision;也兼容 image_search。 |
image |
file | 是 | - | 图片文件字段,推荐 jpg、png、webp,最大 5MB。 |
image_base64 |
string | 否 | - | JSON 调用时可传 base64 图片;和 image 二选一。 |
image_name |
string | 否 | image | base64 方式上传时的文件名。 |
请求示例
curl -X POST "https://api5-normal.12api.cn/api.php?action=vision" -F "image=@C:\path\demo.jpg"
{
"action": "vision",
"image_name": "demo.jpg",
"image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}
响应示例
{
"code": 200,
"msg": "识图搜索成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"recognized_query": "我开出租不拉客,只拉女鬼和模特",
"is_accurate_identify": true,
"data": [
{
"rank": 1,
"book_id": "7631867343294975001",
"series_id": "7631867343294975001",
"video_id": "7631869196644666392",
"title": "我开出租不拉客,只拉女鬼和模特",
"type": "脑洞",
"category_names": "脑洞、逆袭、都市",
"rec_tags": [
"识别到该短剧",
"脑洞",
"逆袭",
"2447万热度"
],
"episode_cnt": 53,
"score": "8.0",
"cover": "https://example.com/cover.jpg",
"intro": "短剧简介"
}
],
"count": 1,
"has_more": false,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
recognized_query |
string | 识别出的短剧名称或搜索词。 |
is_accurate_identify |
bool | 上游是否认为识别结果准确。 |
data[].book_id |
string | 短剧 ID,可继续用于剧集列表、演员解析等接口。 |
data[].video_id |
string | 首个或高亮视频 ID,可用于播放地址接口。 |
data[].rec_tags |
array | 识图匹配说明、分类标签、热度等推荐信息。 |
data[].highlight |
object | 识别命中的高亮片段信息,包含开始和结束毫秒。 |
count |
int | 本次返回的匹配数量。 |
剧集列表 GetMovList
根据 book_id 获取全集分集列表和书籍信息。
基本信息
book_id 不为空时自动进入列表接口,返回每一集对应的 video_id。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
book_id |
string | 是 | - | 搜索或分类筛选返回的 book_id。 |
请求示例
https://api5-normal.12api.cn/api.php?book_id=7651964941498338328
{
"book_id": "7651964941498338328"
}
响应示例
{
"code": 200,
"msg": "获取列表成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"data": [
{
"video_id": "7651966985227488318",
"title": "第1集",
"firstPassTime": "2026-06-29 13:00:00",
"volume_name": "正文"
}
],
"total": 94,
"book_id": "7651964941498338328",
"book_name": "直播阴间治愈日常,我是白无常",
"tips": "获取到对应video_id,然后用于获取视频下载链接",
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].video_id |
string | 每一集的视频 ID,用于 GetMovUrl。 |
data[].title |
string | 集数标题。 |
total |
int | 总集数。 |
book_name |
string | 短剧名称。 |
播放地址 GetMovUrl
根据 video_id 解析视频播放地址,支持 JSON、图片跳转和 MP4 跳转。
基本信息
video_id 不为空时自动进入播放地址接口。type=json 返回完整信息,type=mp4 直接跳转视频地址,type=pic 跳转封面图。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
video_id |
string | 是 | - | 剧集列表或电影接口返回的视频 ID;电影接口中由上游 vid 转换而来。 |
level |
string | 否 | 1080p | 期望画质:2160p、1080p、720p、540p、480p、360p。 |
type |
string | 否 | json | json 返回结构化数据,mp4/pic 直接 302 跳转。 |
请求示例
https://api5-normal.12api.cn/api.php?video_id=7601395019102047257&level=1080p&type=json
{
"video_id": "7601395019102047257",
"level": "1080p",
"type": "json"
}
响应示例
{
"code": 200,
"msg": "解析成功-短剧名称",
"url": "https://example.com/video.mp4",
"data": {
"title": "短剧名称 - 第1集",
"pic": "https://example.com/cover.jpg",
"url": "https://example.com/video.mp4",
"info": {
"quality": "1080p",
"duration": "2分30秒",
"size_str": "18.6MB"
}
},
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
url |
string | 解析后的视频播放地址。 |
data.title |
string | 短剧和集数标题。 |
data.info.quality |
string | 实际返回画质,可能按可用清晰度降级。 |
data.info.size_str |
string | 视频大小。 |
电影接口 GetMovie
获取电影主页、分类电影和为你推荐,返回的 video_id 可直接用于播放地址解析。
基本信息
action=movie 时进入电影接口。上游返回字段 vid 会统一转换为 video_id,例如 video_id=7319421888361401356 可直接调用播放地址接口解析。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | movie | 固定为 movie;也兼容 movies、film。 |
movie_type |
string | 否 | home | home 电影主页,category 分类电影,recommend 为你推荐。 |
category_id |
string | 否 | - | 分类 ID,来自 categories[].id;例如 cate_303 表示喜剧。传入后自动走分类电影。 |
page |
int | 否 | 1 | 页码,从 1 开始,入口会自动换算偏移量。 |
limit |
int | 否 | 18 | 返回数量,最大 50;也兼容 count。 |
请求示例
https://api5-normal.12api.cn/api.php?action=movie&page=1&limit=18
https://api5-normal.12api.cn/api.php?action=movie&movie_type=category&category_id=cate_303&page=1&limit=18
https://api5-normal.12api.cn/api.php?action=movie&movie_type=recommend&page=1&limit=18
https://api5-normal.12api.cn/api.php?video_id=7319421888361401356&level=1080p&type=json
{
"action": "movie",
"movie_type": "category",
"category_id": "cate_303",
"page": 1,
"limit": 18
}
响应示例
{
"code": 200,
"msg": "电影列表获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"movie_type": "category",
"category_id": "cate_303",
"cell_name": "精选影视",
"data": [
{
"rank": 1,
"book_id": "7319421881755372585",
"series_id": "7319421881755372585",
"video_id": "7319421888361401356",
"title": "吉人天相",
"type": "喜剧",
"category_names": "喜剧",
"play_cnt": 5097,
"duration": "89分钟",
"duration_seconds": 5315,
"score": "8.5",
"cover": "https://example.com/cover.jpg",
"horiz_cover": "https://example.com/horiz.jpg",
"intro": "电影简介",
"copyright": "西瓜视频"
}
],
"categories": [
{
"id": "",
"name": "经典电影",
"selected": true
},
{
"id": "cate_303",
"name": "喜剧",
"selected": false
}
],
"count": 1,
"has_more": true,
"page": 1,
"next_page": 2,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].video_id |
string | 电影视频 ID,由上游 vid 转换而来,可直接用于播放地址接口。 |
data[].book_id |
string | 电影系列 ID,也等同于 series_id。 |
data[].title |
string | 电影名称。 |
data[].type |
string | 主分类,例如喜剧、剧情、悬疑。 |
data[].duration |
string | 电影时长文本。 |
data[].score |
string | 评分文本。 |
categories[].id |
string | 电影分类 ID,可作为 category_id 继续请求分类电影。 |
has_more |
bool | 是否还有更多数据。 |
next_page |
int/null | 下一页页码,没有更多数据时为 null。 |
评论列表 GetComments
根据 video_id 获取视频评论,支持 cursor 翻页。
基本信息
action=comments 时进入评论列表接口。第一页 cursor 不传;POST JSON 翻页传响应里的 cursor 原始字符串,GET 翻页建议传响应里的 cursor_encoded。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | comments | 固定为 comments;也兼容 comment。 |
video_id |
string | 是 | - | 视频 ID,也可使用 group_id 参数传入。 |
book_id |
string | 否 | - | 短剧 ID,传入后评论关联信息更完整。 |
count |
int | 否 | 10 | 每页数量,最大 50。 |
cursor |
string | 否 | - | 翻页游标;POST JSON 传 cursor,GET 推荐传 cursor_encoded 的值。 |
insert_comment_ids |
string/array | 否 | - | 首屏可指定插入评论 ID,多个用英文逗号分隔。 |
请求示例
https://api5-normal.12api.cn/api.php?action=comments&video_id=7654565700157066264&book_id=7654563837856730136&count=10
https://api5-normal.12api.cn/api.php?action=comments&video_id=7654565700157066264&book_id=7654563837856730136&count=10&cursor=%7B%22session_id%22%3A%222026062916071409D8E7D97EA038BD8A3C%22%2C%22offset%22%3A10%7D
{
"action": "comments",
"video_id": "7654565700157066264",
"book_id": "7654563837856730136",
"count": 10,
"cursor": "{\"session_id\":\"2026062916071409D8E7D97EA038BD8A3C\",\"offset\":10}"
}
响应示例
{
"code": 200,
"msg": "评论获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"group_id": "7654565700157066264",
"book_id": "7654563837856730136",
"data": [
{
"comment_id": "7655626170748060478",
"text": "看起来这剧还不错",
"create_time": "2026-06-29 16:07:44",
"user": {
"user_id": "1581535369133372",
"name": "@神评",
"avatar": "https://example.com/avatar.jpg"
},
"stat": {
"digg_count": 78,
"reply_count": 3,
"show_pv": 120882
},
"images": []
}
],
"count": 1,
"total": 747,
"cursor": "{\"session_id\":\"2026062916071409D8E7D97EA038BD8A3C\",\"offset\":10}",
"cursor_encoded": "%7B%22session_id%22%3A%222026062916071409D8E7D97EA038BD8A3C%22%2C%22offset%22%3A10%7D",
"has_more": true,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].comment_id |
string | 评论 ID。 |
data[].text |
string | 评论文本。 |
data[].images |
array | 评论图片列表,纯文本评论为空数组。 |
data[].user.user_id |
string | 评论用户 ID。 |
data[].stat.digg_count |
int | 点赞数。 |
data[].stat.reply_count |
int | 回复数。 |
cursor |
string | 下一页游标,POST JSON 时可原样传入。 |
cursor_encoded |
string | URL 编码后的下一页游标,GET 翻页时可直接拼到 cursor 参数。 |
has_more |
bool | 是否还有更多评论。 |
排行榜 GetRank
获取推荐榜、热播榜、新剧榜、预约榜、热搜榜、必看榜、收藏榜、演员榜等榜单。
基本信息
action=rank 时进入排行榜接口。外部只需要传 action、rank_type 和 page,入口会自动把 page 换算成上游需要的 offset;rank_type 既支持大类,也支持具体子榜。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | rank | 固定为 rank。 |
rank_type |
string | 否 | all | all 推荐榜,hot_play 热播榜,new 新剧榜,subscribe 预约榜,hot_search 热搜榜,must_watch 必看榜,followed 收藏榜;也支持 short_new、comic_new、ai_new、actor_fans 等细分榜。 |
page |
int | 否 | 1 | 页码,从 1 开始,入口会自动换算 offset。 |
请求示例
https://api5-normal.12api.cn/api.php?action=rank&rank_type=all&page=1
https://api5-normal.12api.cn/api.php?action=rank&rank_type=new&page=1
https://api5-normal.12api.cn/api.php?action=rank&rank_type=hot_play&page=1
https://api5-normal.12api.cn/api.php?action=rank&rank_type=subscribe&page=1
https://api5-normal.12api.cn/api.php?action=rank&rank_type=hot_search&page=1
https://api5-normal.12api.cn/api.php?action=rank&rank_type=must_watch&page=1
https://api5-normal.12api.cn/api.php?action=rank&rank_type=followed&page=1
{
"action": "rank",
"rank_type": "new",
"page": 1
}
响应示例
{
"code": 200,
"msg": "排行榜获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"rank_type": "new",
"rank_name": "全部-新剧榜",
"data": [
{
"rank": 1,
"book_id": "7600274065458220094",
"series_id": "7600274065458220094",
"video_id": "7600276022201699353",
"title": "聚宝仙盆之杂灵根才是真BOSS第五季",
"type": "传统玄幻",
"episode_cnt": 128,
"score": "8.6",
"cover": "https://example.com/cover.jpg",
"secondary_info": [
"62.1万收藏",
"93.1万次点赞"
]
}
],
"has_more": true,
"page": 1,
"next_page": 2,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
rank_type |
string | 当前请求的榜单别名。常用:all、hot_play、new、subscribe、hot_search、must_watch、followed。 |
rank_name |
string | 命中的榜单中文名,例如全部-新剧榜、真人剧-热播榜、AI剧-收藏榜。 |
data[].rank |
int | 当前榜单排名。 |
data[].book_id |
string | 剧集 ID,可用于剧集列表接口;演员榜为空。 |
data[].actor_id |
string | 演员榜返回的演员 ID。 |
data[].video_id |
string | 首个视频 ID,可用于播放地址接口。 |
page |
int | 当前页码。 |
next_page |
int/null | 下一页页码;没有更多时为 null。 |
新剧列表 GetNewDrama
获取最新上线的新剧,支持全部、男生、女生频道。
基本信息
action=new 时进入新剧列表接口。外部只需要传 action、gender 和 page,入口会自动换算上游需要的 offset。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | new | 固定为 new。 |
gender |
string | 否 | all | all 全部,male 男生,female 女生;也支持 2、1、0。 |
page |
int | 否 | 1 | 页码,从 1 开始,入口会自动换算 offset。 |
limit |
int | 否 | 18 | 每页数量,最大 50。 |
请求示例
https://api5-normal.12api.cn/api.php?action=new&gender=all&page=1
{
"action": "new",
"gender": "female",
"page": 1,
"limit": 18
}
响应示例
{
"code": 200,
"msg": "新剧列表获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"gender": "all",
"gender_name": "全部",
"data": [
{
"rank": 1,
"book_id": "7655536390989417496",
"series_id": "7655536390989417496",
"video_id": "7655538532051602456",
"title": "盲眼御兽师我的灵宠全是上古神第三季",
"type": "玄幻",
"category_names": "玄幻、穿越、异界",
"episode_cnt": 109,
"score": "8.5",
"cover": "https://example.com/cover.jpg",
"intro": "短剧简介",
"tag": "新剧"
}
],
"has_more": true,
"page": 1,
"next_page": 2,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
gender |
string | 标准化后的频道:all、male、female。 |
gender_name |
string | 频道中文名称。 |
data[].book_id |
string | 短剧 ID,可用于剧集列表。 |
data[].video_id |
string | 首个视频 ID,可用于播放地址。 |
data[].tag |
string | 上游标签,通常为新剧。 |
has_more |
bool | 是否还有更多数据。 |
page |
int | 当前页码。 |
next_page |
int/null | 下一页页码;没有更多时为 null。 |
上新日历 GetNewDramaCalendar
获取当天新剧上新日历,也可指定今天前后 7 天内的日期。
基本信息
action=new_calendar 时进入上新日历接口。date 不传时自动获取服务器当天日期,支持 YYYYMMDD 或 YYYY-MM-DD,只能查询今天前后 7 天;该接口没有男女频道区分。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | new_calendar | 固定为 new_calendar。 |
date |
string | 否 | 服务器当天 | 目标日期,支持 YYYYMMDD 或 YYYY-MM-DD;不传自动获取当天。 |
page |
int | 否 | 1 | 页码,从 1 开始,入口会自动换算 offset。 |
请求示例
https://api5-normal.12api.cn/api.php?action=new_calendar&page=1
https://api5-normal.12api.cn/api.php?action=new_calendar&date=20260629&page=1
{
"action": "new_calendar",
"page": 1
}
响应示例
{
"code": 200,
"msg": "新剧上新日历获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"date": "2026-06-29",
"target_date": "20260629",
"data": [
{
"book_id": "7656338850242907161",
"series_id": "7656338850242907161",
"video_id": "7656340698542640153",
"title": "佛瞳神眼,她成了透视女王",
"type": "都市脑洞",
"category_names": "都市脑洞、剧情、逆袭、反转",
"episode_cnt": 111,
"cover": "https://example.com/cover.jpg",
"is_online": true,
"schedule_publish_datetime": "2026-06-29 18:44:36"
}
],
"has_more": true,
"page": 1,
"next_page": 2,
"date_range": {
"min": "2026-06-22",
"max": "2026-07-06"
},
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
date |
string | 标准化后的日期,格式 YYYY-MM-DD。 |
target_date |
string | 上游使用的日期,格式 YYYYMMDD。 |
date_range |
object | 当前允许查询的日期范围。 |
data[].book_id |
string | 短剧 ID,可用于剧集列表。 |
data[].video_id |
string | 首个视频 ID,可用于播放地址。 |
data[].is_online |
bool | 该剧当前是否已上线。 |
data[].schedule_publish_datetime |
string | 计划上新时间。 |
page |
int | 当前页码。 |
next_page |
int/null | 下一页页码;没有更多时为 null。 |
分类面板 GetCategory
获取短剧、漫剧、AI 短剧的可选筛选项。
基本信息
action=category 时进入分类面板接口。返回的 data[].type 就是分类筛选参数名,data[].items[].id 就是筛选值。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | category | 固定为 category。 |
req_scene |
string | 否 | default | default 短剧,comic_series 漫剧,ai_series AI短剧。 |
请求示例
https://api5-normal.12api.cn/api.php?action=category&req_scene=default
{
"action": "category",
"req_scene": "comic_series"
}
响应示例
{
"code": 200,
"msg": "分类获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"req_scene": "default",
"data": [
{
"type": "category_dim_theme",
"name": "全部主题",
"selection_type": 2,
"items": [
{
"id": "cate_1021",
"name": "现言",
"selected": false
}
]
}
],
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].type |
string | 筛选维度,也是分类筛选接口的参数名,例如 genre、category_dim_theme。 |
data[].name |
string | 维度中文名称。 |
data[].items[].id |
string | 筛选项 ID,作为对应 type 的参数值传给分类筛选接口。 |
data[].items[].name |
string | 筛选项展示名称。 |
分类筛选 GetCategoryFilter
按分类、时间、性别、排序等条件筛选短剧列表。
基本信息
action=filter 时进入分类筛选接口。筛选参数和值以分类面板接口返回为准:type 作为参数名,items[].id 作为参数值;未选择的维度传空数组或不传。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | filter | 固定为 filter。 |
req_scene |
string | 否 | default | default 短剧,comic_series 漫剧,ai_series AI短剧。 |
page |
int | 否 | 1 | 页码,入口会自动换算 offset。 |
offset |
int | 否 | 0 | 偏移量,优先级高于 page 换算。 |
limit |
int | 否 | 18 | 每页数量,最大 50。 |
select_items |
object/json | 否 | {} | 完整筛选条件对象,键名使用分类面板 data[].type,值使用对应 items[].id。 |
genre |
string | 否 | short_play | 体裁筛选,值来自分类面板 type=genre 的 items[].id。 |
category_dim_theme |
string | 否 | - | 主题筛选,值来自分类面板 type=category_dim_theme 的 items[].id。 |
category_dim_role |
string | 否 | - | 设定筛选,值来自分类面板 type=category_dim_role 的 items[].id。 |
category_dim_epoch |
string | 否 | - | 背景筛选,值来自分类面板 type=category_dim_epoch 的 items[].id。 |
gender |
string | 否 | - | 受众筛选,值来自分类面板 type=gender 的 items[].id。 |
online_time |
string | 否 | - | 上线时间筛选,值来自分类面板 type=online_time 的 items[].id。 |
sort |
string | 否 | [] | 推荐排序,值来自分类面板 type=sort 的 items[].id;全部推荐为空数组或不传。 |
请求示例
https://api5-normal.12api.cn/api.php?action=filter&req_scene=default&online_time=days_7&page=1
{
"action": "filter",
"req_scene": "default",
"page": 1,
"limit": 18,
"select_items": {
"category_dim_epoch": [],
"online_time": [
"days_7"
],
"gender": [],
"category_dim_role": [],
"genre": [
"short_play"
],
"sort": [],
"category_dim_theme": []
}
}
响应示例
{
"code": 200,
"msg": "分类筛选成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"req_scene": "default",
"data": [
{
"book_id": "7651964941498338328",
"series_id": "7651964941498338328",
"video_id": "7651966985227488318",
"title": "直播阴间治愈日常,我是白无常",
"type": "奇幻",
"category_names": "奇幻、系统、直播",
"episode_cnt": 94,
"cover": "https://example.com/cover.jpg",
"intro": "短剧简介"
}
],
"has_more": true,
"next_offset": 18,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].book_id |
string | 短剧 ID,可用于剧集列表。 |
data[].video_id |
string | 首个视频 ID,可用于播放地址。 |
has_more |
bool | 是否还有更多数据。 |
next_offset |
int | 下一页偏移量。 |
演员榜 GetActorRank
获取热门演员、男演员和女演员列表,返回 user_id 供继续查询演员详情和相关短剧。
基本信息
action=actor_rank 时进入演员榜接口。rank_type=hot 表示热门演员,male 表示男演员,female 表示女演员;翻页只需要传 page,入口会自动计算偏移量。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | actor_rank | 固定为 actor_rank;也兼容 actor_list、celebrity_rank。 |
rank_type |
string | 否 | hot | hot 热门演员,male 男演员,female 女演员。 |
page |
int | 否 | 1 | 页码,从 1 开始。 |
count |
int | 否 | 20 | 每页数量,最大 50。 |
请求示例
https://api5-normal.12api.cn/api.php?action=actor_rank&rank_type=hot&page=1&count=20
https://api5-normal.12api.cn/api.php?action=actor_rank&rank_type=male&page=1&count=20
https://api5-normal.12api.cn/api.php?action=actor_rank&rank_type=female&page=1&count=20
{
"action": "actor_rank",
"rank_type": "hot",
"page": 1,
"count": 20
}
响应示例
{
"code": 200,
"msg": "演员榜获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"rank_type": "hot",
"rank_name": "热门演员",
"data": [
{
"rank": 1,
"user_id": "3604632872425466",
"actor_id": "",
"name": "蓝博",
"avatar": "https://example.com/avatar.jpg",
"intro": "演员简介",
"work_count": 52,
"recv_digged_count": 67416789,
"tags": [
"剧星榜 No.9"
],
"videos": [
{
"book_id": "7654225984119376920",
"series_id": "7654225984119376920",
"title": "上司!上瘾!商总一眼心动了",
"cover": "https://example.com/cover.jpg",
"hot_value": "3.2300617347580317E7"
}
]
}
],
"letters": [],
"count": 1,
"has_more": true,
"page": 1,
"next_page": 2,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
rank_type |
string | 当前榜单类型:hot、male、female。 |
rank_name |
string | 当前榜单中文名称。 |
data[].user_id |
string | 演员用户 ID,可用于演员详情和演员相关短剧。 |
data[].actor_id |
string | 演员 ID;部分热门演员可能为空,以 user_id 为准。 |
data[].name |
string | 演员名称。 |
data[].work_count |
int | 热门演员榜返回的作品数量。 |
data[].recv_digged_count |
int | 热门演员榜返回的获赞数。 |
data[].videos[].book_id |
string | 热门演员代表短剧 ID,可用于剧集列表、演员解析等接口。 |
letters |
array | 男演员、女演员列表返回的首字母分组。 |
has_more |
bool | 是否还有下一页。 |
next_page |
int/null | 下一页页码,没有更多数据时为 null。 |
演员解析 GetActor
根据 book_id/series_id 解析短剧主创和演员信息,返回 user_id 供继续查询演员详情和相关短剧。
基本信息
action=actor 时进入演员解析接口。book_id 可以使用搜索、排行榜、分类筛选、新剧列表等接口返回的 book_id 或 series_id。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | actor | 固定为 actor。 |
book_id |
string | 是 | - | 短剧 ID,也就是上游 series_id。 |
actor_type |
string | 否 | book | 固定解析剧集演员时可不传;兼容 book、detail、works。 |
请求示例
https://api5-normal.12api.cn/api.php?action=actor&book_id=7655291050172369945
{
"action": "actor",
"book_id": "7655291050172369945"
}
响应示例
{
"code": 200,
"msg": "演员解析成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"book_id": "7655291050172369945",
"series_id": "7655291050172369945",
"title": "以成长来装束",
"episode_cnt": 32,
"episode_text": "全32集",
"hot_score": 32036456,
"category_names": "都市爱情、都市、总裁",
"data": {
"actors": [
{
"user_id": "3938884410684660",
"actor_id": "7410703443381212440",
"name": "姜十七",
"role_name": "姜十七",
"sub_title": "饰 姜十七",
"avatar": "https://example.com/avatar.jpg",
"intro": "演员简介"
}
],
"creators": [
{
"user_id": "3938884410684660",
"name": "姜十七",
"roles": [
"饰 姜十七"
]
}
]
},
"actor_count": 1,
"creator_count": 1,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
book_id |
string | 短剧 ID,可继续用于剧集列表接口。 |
data.actors[].user_id |
string | 演员用户 ID,可用于演员详情和演员相关短剧。 |
data.actors[].actor_id |
string | 演员 ID。 |
data.actors[].name |
string | 演员名称。 |
data.actors[].sub_title |
string | 演员在该剧中的展示身份或饰演角色。 |
data.creators[].roles |
array | 主创身份列表,例如饰演角色、导演等。 |
演员详情 GetActor
根据演员 user_id 获取头像、简介、粉丝数、获赞数和认证标签。
基本信息
action=actor_detail 时进入演员详情接口。user_id 来自演员解析接口 data.actors[].user_id,也可使用演员榜返回的 user_id。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | actor_detail | 固定为 actor_detail。 |
user_id |
string | 是 | - | 演员用户 ID。 |
请求示例
https://api5-normal.12api.cn/api.php?action=actor_detail&user_id=3938884410684660
{
"action": "actor_detail",
"user_id": "3938884410684660"
}
响应示例
{
"code": 200,
"msg": "演员详情获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"user_id": "3938884410684660",
"data": {
"user_id": "3938884410684660",
"actor_id": "7410703443381212440",
"biz_user_id": "103434456066",
"name": "姜十七",
"avatar": "https://example.com/avatar.jpg",
"description": "演员简介",
"tags": [
"女演员"
],
"titles": [
"已入驻"
],
"fans_num": 543396,
"follow_user_num": 0,
"recv_digged_count": 29694455,
"can_follow": true
},
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data.user_id |
string | 演员用户 ID。 |
data.actor_id |
string | 演员 ID。 |
data.name |
string | 演员名称。 |
data.description |
string | 演员简介。 |
data.tags |
array | 演员身份标签,例如女演员、男演员。 |
data.fans_num |
int | 粉丝数。 |
data.recv_digged_count |
int | 获赞数。 |
演员相关短剧 GetActor
根据演员 user_id 获取演员参与的短剧列表,支持 cursor 翻页。
基本信息
action=actor_works 时进入演员相关短剧接口。第一页 cursor 不传;如果响应 has_more=true,下一页传回响应里的 cursor;入口会自动兼容不同演员主页的作品 tab。
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 是 | actor_works | 固定为 actor_works。 |
user_id |
string | 是 | - | 演员用户 ID。 |
count |
int | 否 | 18 | 请求数量,最大 50;上游可能按自身规则返回更多或更少。 |
cursor |
string | 否 | - | 翻页游标,第一页不传,下一页传响应里的 cursor。 |
请求示例
https://api5-normal.12api.cn/api.php?action=actor_works&user_id=3938884410684660&count=18
{
"action": "actor_works",
"user_id": "3938884410684660",
"count": 18,
"cursor": ""
}
响应示例
{
"code": 200,
"msg": "演员相关短剧获取成功 - 番茄/蛋花/西瓜/悟空/常读/红果 聚合短剧",
"user_id": "3938884410684660",
"tab_type": 8,
"data": [
{
"video_id": "7655320171329899582",
"title": "以成长来装束",
"type": "爱情",
"sub_title": "爱情、32集",
"episode_cnt": 32,
"cover": "https://example.com/cover.jpg",
"intro": "短剧简介",
"play_cnt": 106409,
"hot": 25430736
}
],
"count": 1,
"cursor": "{\"next_cursor\":[]}",
"has_more": false,
"time": "2026-06-29 18:44:36"
}
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
data[].video_id |
string | 短剧或视频 ID。 |
data[].title |
string | 短剧名称。 |
data[].type |
string | 短剧类型。 |
data[].episode_cnt |
int | 集数,从返回标签里自动提取。 |
data[].hot |
int | 热度。 |
tab_type |
int | 实际命中的演员作品 tab,常见为 8 或 16。 |
cursor |
string | 下一页游标,继续翻页时原样传入。 |
has_more |
bool | 是否还有更多相关短剧。 |
缓存策略
接口会根据请求参数复用有效缓存,减少重复请求;失败结果不会写入缓存。
缓存配置
| 接口 | 方法名 | 缓存时间 | 说明 |
|---|---|---|---|
| 搜索接口 | SearchSong |
5 分钟 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 影视搜索 | SearchMovie |
5 分钟 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 剧集列表 | GetMovList |
24 小时 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 播放地址 | GetMovUrl |
10 分钟 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 电影接口 | GetMovie |
24 小时 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 排行榜 | GetRank |
24 小时 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 分类面板 | GetCategory |
24 小时 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 分类筛选 | GetCategoryFilter |
5 分钟 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 新剧列表 | GetNewDrama |
5 分钟 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 上新日历 | GetNewDramaCalendar |
5 分钟 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 演员榜 | GetActorRank |
24 小时 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 演员解析 | GetActor |
24 小时 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
| 评论列表 | GetComments |
不缓存 | 缓存键由方法名和参数哈希生成,避免不同参数互相污染。 |
错误码
当前接口保持轻量错误结构,业务失败通常返回 code=0 并附带 msg。
接口调用成功并返回有效数据。
参数错误、上游暂无数据、解析失败或筛选结果为空。