番剧场景搜索
通过动漫截图识别出自哪部番剧、第几集、具体时间点。基于 trace.moe 引擎,支持两种方式:通过图片URL搜索,或直接上传图片文件搜索。返回番剧名(中/日/英)、相似度、视频预览、缩略图及丰富Anilist元数据(封面/工作室/流派/总集数等)。
GET
https://api.tinyaii.cn/v1/anime/scene
请求参数
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| url | string | 可选 | 动漫截图的图片URL(需可公开访问)。GET方式query参数,或POST JSON body均可。与image二选一 | — |
| image | file | 可选 | multipart/form-data 上传的图片文件(字段名 image 或 file,支持 jpg/png/webp,最大10MB)。仅POST可用,与url二选一 | — |
| cut_borders | boolean | 可选 | 是否裁剪图片黑边后比对,对带信箱黑边的截图可提升识别率。可选值:true / false,默认 false。GET与POST均可用 | — |
返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
| count | integer | 匹配结果数量(最多10条) |
| results | array | 匹配结果列表,按相似度降序 |
| results[].title | string | 番剧标题(优先中文>日文>罗马音>英文) |
| results[].anilist_id | integer | Anilist动画数据库ID |
| results[].anilist_url | string | Anilist详情页URL |
| results[].episode | integer | 集数(电影/OVA可能为0) |
| results[].from | string | 匹配片段起始时间(格式 hh:mm:ss) |
| results[].to | string | 匹配片段结束时间(格式 hh:mm:ss) |
| results[].at | string | 当前帧所在时间(格式 hh:mm:ss) |
| results[].similarity | number | 相似度百分比(0~100,建议>80为高置信度) |
| results[].video | string | 视频预览片段直链(约3-4秒小视频) |
| results[].thumbnail | string | 缩略图直链 |
| results[].cover | string | 番剧封面图URL |
| results[].is_adult | boolean | 是否R18内容 |
| results[].format | string | 媒体格式:TV/ONA/OVA/MOVIE等 |
| results[].episodes | integer | 总集数 |
| results[].duration | string | 单集时长(格式 hh:mm:ss) |
| results[].genres | array | 流派标签列表(英文,如 Action/Comedy/Fantasy) |
| results[].studios | array | 制作工作室列表,含 name(工作室名) 和 is_main(是否主工作室) |
返回示例
{
"code": 200,
"message": "success",
"data": {
"count": 10,
"results": [
{
"title": "Cardfight!! Vanguard (2018)",
"anilist_id": 101594,
"anilist_url": "https://anilist.co/anime/101594",
"episode": 29,
"from": "00:13:15",
"to": "00:13:19",
"at": "00:13:15",
"similarity": 49.23,
"video": "https://api.trace.moe/video/xxx",
"thumbnail": "https://api.trace.moe/image/xxx",
"cover": "https://s4.anilist.co/file/anilistcdn/media/anime/cover/medium/nx101594-xxx.jpg",
"is_adult": false,
"format": "TV",
"episodes": 52,
"duration": "00:23:59",
"genres": [
"Action",
"Adventure",
"Fantasy"
],
"studios": [
{
"name": "OLM",
"is_main": true
}
]
}
]
}
}
调用示例
curl "https://api.tinyaii.cn/v1/anime/scene?url=<url>&image=<image>" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch("https://api.tinyaii.cn/v1/anime/scene?url=<url>&image=<image>", {
headers: { "Authorization": "Bearer YOUR_API_KEY" },
});
console.log(await res.json());import requests
resp = requests.get(
"https://api.tinyaii.cn/v1/anime/scene",
params={"url": "<url>", "image": "<image>"},
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=10,
)
print(resp.json())把 YOUR_API_KEY 换成你的密钥即可直接运行。密钥只保存在你自己的设备上。