互动视频信息

注:互动视频分P与普通视频分P不互通

获取互动视频模块详细信息

https://api.bilibili.com/x/stein/edgeinfo_v2

请求方式:GET

认证方式:Cookie(SESSDATA)

url参数:

参数名类型内容必要性备注
aidnum稿件avid必要(可选)avid与bvid任选一个
bvidstr稿件bvid必要(可选)avid与bvid任选一个
graph_versionnum剧情图id必要位于player.so
edge_idnum模块编号非必要0或留空为起始模块

json回复:

根对象:

字段类型内容备注
codenum返回值0:成功
-400:请求错误
-404:无视频
99003:剧情图被修改已失效
99077:请输入aid/bvid
messagestr错误信息默认为0
ttlnum1
dataobj信息本体

data对象:

字段类型内容备注
titlestr视频模块(分P)标题
edge_idnum当前模块id
story_listarray进度回溯信息未登录仅有起始模块
edgesobj当前模块信息
preloadobj预加载的分P
hidden_varsarray变量列表无变量时不存在此项
is_leafnum是否为结束模块0:当前模块为普通模块
1:当前模块为结束模块
no_tutorialnum禁止记录选择1:禁止
非禁止时无此项
no_backtrackingnum禁止进度回溯1:禁止
非禁止时无此项
no_evaluationnum禁止结尾评分1:禁止
非禁止时无此项

data中的story_list数组:

类型内容备注
0obj回溯第一项模块
nobj回溯第(n+1)项模块
……obj…………

story_list数组中的对象:

类型内容备注
node_idnum模块编号
edge_idnum同上
titlestr模块(分P)标题
cidnum模块(分P)cid
start_posnum记录播放开始位置单位为毫秒
coverstr分P封面url
is_currentnum是否为当前模块1:是
仅为当前模块时存在
cursornum进度序号从0开始向上增长

data中的edges对象:

字段类型内容备注
dimensionobj当前分P分辨率有部分视频无法获取分辨率
questionsarray问题结束模块无此项
skinobj问题外观

edges中的dimension对象:

字段类型内容备注
widthnum当前分P 宽度
heightnum当前分P 高度
rotatenum是否将宽高对换0:正常
1:对换
sarstr???作用尚不明确

edges中的questions数组:

类型内容备注
0obj套了个娃

edges中的questions数组中的对象:

字段类型内容备注
idnum???作用尚不明确
typenum选项显示模式0:不显示选项
1:底部选项模式
2:坐标定点模式
3:???
127:???
start_time_rnum300 或 duration作用尚不明确
durationnum回答限时单位为毫秒
不限时为-1
pause_videonum是否暂停播放视频0:不暂停
1:暂停播放
titlestr作用尚不明确
choicesarray选项列表
fade_in_timenum选项淡入时间毫秒
fade_out_timenum选项淡出时间毫秒

questions数组中的对象中的choices数组:

类型内容备注
0obj第一选项
nobj第(n+1)选项
……obj…………

questions数组中的对象中的choices数组中的对象:

字段类型内容备注
idnum选项所跳转的模块id
platform_actionstr跳转信息文字JUMP+{所跳转的模块编号}+{所跳转的cid}
native_actionstr点击后对变量运算语句每项间用分号隔开
无为空
conditionstr选项出现条件判断语句无为空
cidnum选项所跳转分P的cid
xnum选项出现的x坐标仅坐标模式有此项
ynum选项出现的y坐标仅坐标模式有此项
text_alignnum选项文本对齐方式
optionstr选项文字
selectedobj选择动画信息
submitedobj提交动画信息
is_defaultnum是否为默认选项1:是
非默认选项无此项
is_hiddennum是否为隐藏选项1:是
非隐藏选项无此项

edges中的skin对象:

字段类型内容备注
choice_imagestr选项组件外观图片url
title_text_colorstr文字颜色以下均为RGBA格式
title_shadow_colorstr文字阴影颜色
title_shadow_offset_xnum文字阴影x偏移
title_shadow_offset_ynum文字阴影y偏移
title_shadow_radiusnum文字阴影半径
progressbar_colorstr倒计时条颜色
progressbar_shadow_colorstr倒计时条阴影颜色

data中的preload对象:

字段类型内容备注
videoarray预加载的分P

preload中的video数组:

类型内容备注
0obj预加载第一项预加载的内容为当前所有选项的跳转视频
nobj预加载第(n+1)项
……obj…………

preload中的video数组中的对象:

字段类型内容备注
aidnum稿件avid
cidnum分P cid

data中的hidden_vars数组:

类型内容备注
0obj第一个变量
nobj第(n+1)个变量
……obj…………

data中的hidden_vars数组中的对象:

字段类型内容备注
valuenum变量值随机值为随机整数
idstr变量编号
id_v2str变量编号语句中一般使用这种
typenum变量类型1:普通变量
2:随机值
is_shownum是否展示变量0:否
1:是
namestr变量名
skip_overwritenum0作用尚不明确

示例:

查询互动视频av73267982下剧情图155446模块5556092的信息

avid方式:

curl -G 'https://api.bilibili.com/x/stein/edgeinfo_v2' \
--data-urlencode 'aid=73267982' \
--data-urlencode 'graph_version=155446' \
--data-urlencode 'edge_id=5556092' \
-b 'SESSDATA=xxx'

bvid方式:

curl -G 'https://api.bilibili.com/x/stein/edgeinfo_v2' \
--data-urlencode 'bvid=BV1UE411y7Wy' \
--data-urlencode 'graph_version=155446' \
--data-urlencode 'edge_id=5556092' \
-b 'SESSDATA=xxx'
查看响应示例:
{
    "code": 0, 
    "message": "0", 
    "ttl": 1, 
    "data": {
        "title": "4", 
        "edge_id": 5556092, 
        "story_list": [
            {
                "node_id": 1, 
                "edge_id": 1, 
                "title": "0 片头", 
                "cid": 127486603, 
                "start_pos": 27000, 
                "cover": "http://i0.hdslb.com/bfs/steins-gate/127486603_screenshot.jpg", 
                "cursor": 0
            }, 
            {
                "node_id": 5556092, 
                "edge_id": 5556092, 
                "title": "4", 
                "cid": 125499378, 
                "start_pos": 82000, 
                "cover": "http://i0.hdslb.com/bfs/steins-gate/125499378_screenshot.jpg", 
                "is_current": 1, 
                "cursor": 15
            }
        ], 
        "edges": {
            "dimension": {
                "width": 1920, 
                "height": 1000, 
                "rotate": 0, 
                "sar": ""
            }, 
            "questions": [
                {
                    "id": 0, 
                    "type": 2, 
                    "start_time_r": 300, 
                    "duration": -1, 
                    "pause_video": 1, 
                    "title": "", 
                    "choices": [
                        {
                            "id": 5556133, 
                            "platform_action": "JUMP 5556133 125499249", 
                            "native_action": "", 
                            "condition": "$H7g_64_PG2EVS>=1.00 && $H7g_64_PG2EVS<=80.00", 
                            "cid": 125499249, 
                            "x": 947, 
                            "y": 499, 
                            "text_align": 2, 
                            "option": "A <你已成为杀手> 试图砍死萌新 (成功率20%)", 
                            "is_default": 1
                        }, 
                        {
                            "id": 5556134, 
                            "platform_action": "JUMP 5556134 125502707", 
                            "native_action": "", 
                            "condition": "$H7g_64_PG2EVS>=81.00 && $H7g_64_PG2EVS<=100.00", 
                            "cid": 125502707, 
                            "x": 949, 
                            "y": 502, 
                            "text_align": 2, 
                            "option": "B <你已成为杀手> 试图砍死萌新 (成功率20%)"
                        }, 
                        {
                            "id": 5556135, 
                            "platform_action": "JUMP 5556135 125499249", 
                            "native_action": "", 
                            "condition": "", 
                            "cid": 125499249, 
                            "x": 120, 
                            "y": 145, 
                            "text_align": 2, 
                            "option": "C 直接【砍杀失败】"
                        }
                    ]
                }
            ], 
            "skin": {
                "choice_image": "https://i0.hdslb.com/bfs/app/db0ae7700d4fb1416c8b305bcfb6f0948f818cc9.png", 
                "title_text_color": "d8fbffff", 
                "title_shadow_color": "00000033", 
                "title_shadow_offset_y": 1, 
                "title_shadow_radius": 1, 
                "progressbar_color": "ffffffff", 
                "progressbar_shadow_color": "000000cc"
            }
        }, 
        "preload": {
            "video": [
                {
                    "aid": 73267982, 
                    "cid": 125499249
                }, 
                {
                    "aid": 73267982, 
                    "cid": 125502707
                }
            ]
        }, 
        "hidden_vars": [
            {
                "value": 97, 
                "id": "v-H7g@PG2EVS", 
                "id_v2": "$H7g_64_PG2EVS", 
                "type": 2, 
                "is_show": 0, 
                "name": "随机值", 
                "skip_overwrite": 0
            }, 
            {
                "value": 0, 
                "id": "v-YWB6dk1oCP", 
                "id_v2": "$YWB6dk1oCP", 
                "type": 1, 
                "is_show": 1, 
                "name": "达成假结局次数", 
                "skip_overwrite": 0
            }, 
            {
                "value": 0, 
                "id": "v-Zh4JACIiId", 
                "id_v2": "$Zh4JACIiId", 
                "type": 1, 
                "is_show": 1, 
                "name": "死亡次数", 
                "skip_overwrite": 0
            }, 
            {
                "value": 0, 
                "id": "v-a2vplaQlsP", 
                "id_v2": "$a2vplaQlsP", 
                "type": 1, 
                "is_show": 1, 
                "name": "达成真结局次数", 
                "skip_overwrite": 0
            }, 
            {
                "value": 1, 
                "id": "v-lMQqQ994Sk", 
                "id_v2": "$lMQqQ994Sk", 
                "type": 1, 
                "is_show": 1, 
                "name": "循环编号", 
                "skip_overwrite": 0
            }
        ], 
        "is_leaf": 0
    }
}