import{_ as d,c as p,a as o,b as t,d as n,e as a,w as e,r,o as i}from"./app-Dgsdh8A6.js";const c="/bilibili-API-collect/assets/aiSummary-Baub6fpa.svg",u={};function D(m,s){const l=r("RouteLink");return i(),p("div",null,[s[34]||(s[34]=o('
https://api.bilibili.com/x/web-interface/view/conclusion/get
请求方式: GET
认证方式:Cookie(SESSDATA)
',6)),t("p",null,[s[1]||(s[1]=n("鉴权方式:")),a(l,{to:"/docs/misc/sign/wbi.html"},{default:e(()=>s[0]||(s[0]=[n("Wbi 签名")])),_:1,__:[0]})]),s[35]||(s[35]=t("p",null,[t("strong",null,"url参数:")],-1)),t("table",null,[s[18]||(s[18]=t("thead",null,[t("tr",null,[t("th",null,"参数名"),t("th",null,"类型"),t("th",null,"内容"),t("th",null,"必要性"),t("th",null,"备注")])],-1)),t("tbody",null,[s[14]||(s[14]=t("tr",null,[t("td",null,"aid"),t("td",null,"num"),t("td",null,"稿件 avid"),t("td",null,"必要(可选)"),t("td",null,"avid与bvid任选一个")],-1)),s[15]||(s[15]=t("tr",null,[t("td",null,"bvid"),t("td",null,"str"),t("td",null,"稿件 bvid"),t("td",null,"必要(可选)"),t("td",null,"avid与bvid任选一个")],-1)),s[16]||(s[16]=t("tr",null,[t("td",null,"cid"),t("td",null,"num"),t("td",null,"视频 cid"),t("td",null,"必要"),t("td")],-1)),s[17]||(s[17]=t("tr",null,[t("td",null,"up_mid"),t("td",null,"num"),t("td",null,"UP主 mid"),t("td",null,"可选"),t("td")],-1)),t("tr",null,[s[4]||(s[4]=t("td",null,"w_rid",-1)),s[5]||(s[5]=t("td",null,"str",-1)),s[6]||(s[6]=t("td",null,"Wbi 签名",-1)),s[7]||(s[7]=t("td",null,"必要",-1)),t("td",null,[s[3]||(s[3]=n("详见 ")),a(l,{to:"/docs/misc/sign/wbi.html"},{default:e(()=>s[2]||(s[2]=[n("Wbi 签名")])),_:1,__:[2]})])]),t("tr",null,[s[10]||(s[10]=t("td",null,"wts",-1)),s[11]||(s[11]=t("td",null,"num",-1)),s[12]||(s[12]=t("td",null,"当前时间戳",-1)),s[13]||(s[13]=t("td",null,"必要",-1)),t("td",null,[s[9]||(s[9]=n("详见 ")),a(l,{to:"/docs/misc/sign/wbi.html"},{default:e(()=>s[8]||(s[8]=[n("Wbi 签名")])),_:1,__:[8]})])])])]),s[36]||(s[36]=o(`json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0: 成功 -101: 账号未登录 -400:请求错误 -403: 访问权限不足 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 | |
| data | obj | 数据本体 |
data对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | -1: 不支持AI摘要(敏感内容等)或其他因素导致请求异常 0: 有摘要 1:无摘要(未识别到语音) |
| model_result | obj | 摘要内容 | |
| stid | str | 摘要 id | 如code=1且该字段为0时,则未进行 AI 总结,即添加总结队列如 code=1且该字段为空时未识别到语音 |
| status | num | (?) | |
| like_num | num | 点赞数 | 默认为0 |
| dislike_num | num | 点踩数 | 默认为0 |
data中的model_result对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| result_type | num | 数据类型 | 0: 没有摘要 1:仅存着摘要总结 2:存着摘要以及提纲 |
| summary | str | 视频摘要 | 通常为一段概括整个视频内容的文本 |
| outline | 有数据时:array 无数据时:空数组 | 分段提纲 | 通常为视频中叙述的各部分及其要点 |
| subtitle | 有数据时:array 无数据时:空数组 | AI字幕 | 由AI识别生成的字幕列表,自动翻译英文,固定返回中文字幕 |
model_result对象中的outline数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | obj | 总结分段1 | |
| n | obj | 总结分段(n+1) | |
| …… | obj | …… | …… |
outline数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| title | str | 分段标题 | 段落内容的概括 |
| part_outline | array | 分段要点 | 当前分段中多个提到的细节 |
| timestamp | num | 分段起始时间 | 单位为秒 |
outline数组中的对象中的part_outline数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | obj | 分段要点1 | |
| n | obj | 分段要点(n+1) | |
| …… | obj | …… | …… |
part_outline数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| timestamp | num | 要点起始时间 | 单位为秒 |
| content | str | 小结内容 | 其中一个分段的要点 |
model_result对象中subtitle数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | obj | 字幕列表1 | 若有结果,该数组长度仅为1 |
subtitle数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| part_subtitle | array | 字幕分段 | 当前分段中的字幕信息 |
| timestamp | num | 字幕识别起始时间 | 单位为秒 |
| title | str | 字幕标题 | 固定为空字符串 |
subtitle数组中的对象中的part_subtitle数组:
| 项 | 类型 | 内容 | 备注 |
|---|---|---|---|
| 0 | obj | 字幕分段1 | |
| n | obj | 字幕分段n | |
| …… | obj | …… | …… |
part_subtitle数组中的对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| content | str | 字幕内容 | 其中一个分段的字幕内容 |
| start_timestamp | num | 分段开始时间 | 单位为秒 |
| end_timestamp | num | 分段结束时间 | 单位为秒 |
示例:
得到视频BV1L94y1H7CV(cid=1335073288)的摘要
curl -G 'https://api.bilibili.com/x/web-interface/view/conclusion/get' \\
--data-urlencode 'bvid=BV1L94y1H7CV' \\
--data-urlencode 'cid=1335073288' \\
--data-urlencode 'up_mid=297242063' \\
--data-urlencode 'wts=1701546363' \\
--data-urlencode 'w_rid=1073871926b3ccd99bd790f0162af634'{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"code": 0,
"model_result": {
"result_type": 2,
"summary": "在网上阅读时遇到错别字和语言梗的烦恼,以及正确使用语言的重要性。作者认为,我们每个人都应该有包容心,不掉渣,不纠正别人的错误,同时也需要明辨是非,规范使用语言。视频还提到了一些常见的语言梗和错误用法,呼吁大家不要过分使用网络词汇,而应该注重语言的艺术性和深度。最后,作者欢迎大家关注他的微信公众号。",
"outline": [
{
"title": "现代人使用中文时面临的困境,包括错别字、用法不正确等问题,并呼吁大家规范使用中文。",
"part_outline": [
{
"timestamp": 1,
"content": "网友评论有错别字,勉强能看懂,但难受。"
},
{
"timestamp": 39,
"content": "重来一次,明辨是非。"
},
{
"timestamp": 167,
"content": "粉墨登场是贬义词,形容坏人打扮好老登场。"
}
],
"timestamp": 1
},
{
"title": "网络词汇的过度使用导致语言生硬,以及对流行语言梗的短暂使用感到厌倦。",
"part_outline": [
{
"timestamp": 241,
"content": "网络词汇过分使用会误导别人,使规范词汇生硬"
},
{
"timestamp": 270,
"content": "以前的语言梗有深度,现在的流行梗很短命"
},
{
"timestamp": 338,
"content": "巨星之间需要化学反应的过程,前几场发挥欠佳"
}
],
"timestamp": 241
}
],
"subtitle": [
{
"part_subtitle": [
{
"content": "有时候上网啊",
"start_timestamp": 0,
"end_timestamp": 1
},
{
"content": "看网友的评论内容",
"start_timestamp": 1,
"end_timestamp": 3
},
{
"content": "一句话好几个错别字",
"start_timestamp": 3,
"end_timestamp": 5
},
// ...
{
"content": "黄一刀有毒",
"start_timestamp": 352,
"end_timestamp": 355
}
],
"timestamp": 1,
"title": ""
}
],
},
"stid": "5117037934391059183",
"status": 0,
"like_num": 6,
"dislike_num": 2
}
}https://api.bilibili.com/x/web-interface/view/conclusion/set
请求方式:POST
认证方式:Cookie(SESSDATA)
`,31)),t("p",null,[s[20]||(s[20]=n("鉴权方式:")),a(l,{to:"/docs/misc/sign/wbi.html"},{default:e(()=>s[19]||(s[19]=[n("Wbi 签名")])),_:1,__:[19]})]),s[37]||(s[37]=t("p",null,[t("strong",null,"url参数:")],-1)),t("table",null,[s[33]||(s[33]=t("thead",null,[t("tr",null,[t("th",null,"参数名"),t("th",null,"类型"),t("th",null,"内容"),t("th",null,"必要性"),t("th",null,"备注")])],-1)),t("tbody",null,[t("tr",null,[s[23]||(s[23]=t("td",null,"w_rid",-1)),s[24]||(s[24]=t("td",null,"str",-1)),s[25]||(s[25]=t("td",null,"Wbi 签名",-1)),s[26]||(s[26]=t("td",null,"必要",-1)),t("td",null,[s[22]||(s[22]=n("详见 ")),a(l,{to:"/docs/misc/sign/wbi.html"},{default:e(()=>s[21]||(s[21]=[n("Wbi 签名")])),_:1,__:[21]})])]),t("tr",null,[s[29]||(s[29]=t("td",null,"wts",-1)),s[30]||(s[30]=t("td",null,"num",-1)),s[31]||(s[31]=t("td",null,"当前时间戳",-1)),s[32]||(s[32]=t("td",null,"必要",-1)),t("td",null,[s[28]||(s[28]=n("详见 ")),a(l,{to:"/docs/misc/sign/wbi.html"},{default:e(()=>s[27]||(s[27]=[n("Wbi 签名")])),_:1,__:[27]})])])])]),s[38]||(s[38]=o(`正文参数( application/x-www-form-urlencoded ):
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
|---|---|---|---|---|
| aid | num | 稿件 avid | 必要(可选) | avid与bvid任选一个 |
| bvid | str | 稿件 bvid | 必要(可选) | avid与bvid任选一个 |
| cid | num | 稿件 cid | 必要 | |
| up_mid | num | UP主 mid | 非必要 | |
| stid | num | 摘要 id | 必要 | |
| like_state | num | 执行操作 | 必要 | 1: 点赞 2: 取消点赞 3: 点踩 4: 取消点踩 |
| csrf | str | CSRF Token(位于cookie) | 必要 |
json回复:
根对象:
| 字段 | 类型 | 内容 | 备注 |
|---|---|---|---|
| code | num | 返回值 | 0: 成功 -400: 请求错误 65002:origin id 错误 65004:取消赞失败 未点赞过 65005:取消踩失败 未点踩过 65006: 已赞过 65007:已踩过 |
| message | str | 错误信息 | 默认为0 |
| ttl | num | 1 |
示例:
为视频BV1L94y1H7CV(cid=1335073288)的摘要点赞
curl 'https://api.bilibili.com/x/web-interface/view/conclusion/set?w_rid=edb471fc926646ef3889a80488166b66&wts=1700358953' \\
--data-urlencode 'bvid=BV1L94y1H7CV' \\
--data-urlencode 'cid=1335073288' \\
--data-urlencode 'up_mid=297242063' \\
--data-urlencode 'stid=5117037934391059183' \\
--data-urlencode '&like_state=1' \\
--data-urlencode 'csrf=xxx' \\
-b 'SESSDATA=xxx'{
"code": 0,
"message": "0",
"ttl": 1
}