Skip to content

Preset API

预设管理相关接口文档,用于管理弹幕、视频上传和 FFmpeg 预设配置。

弹幕预设

数据结构

参数名类型说明
resolution[number, number]弹幕画面分辨率,格式为 [宽, 高],单位为像素
scrolltimenumber滚动弹幕通过时间,单位为秒
fixtimenumber固定弹幕停留时间,单位为秒
densitynumber弹幕密度,0=无限,-1=不重叠,-2=自定义条数
customDensitynumber自定义弹幕条数,仅 density=-2 时生效
fontnamestring字体名称
fontsizenumber基础字体大小,单位为像素
opacity100number文字不透明度,百分比(0-100)
outlinenumber描边宽度
outline-blurnumber描边模糊半径
outline-opacity-percentagenumber描边不透明度,百分比(0-100)
shadownumber阴影宽度
displayareanumber全部弹幕显示区域(0-1,比例)
scrollareanumber滚动弹幕显示区域(0-1,比例)
boldboolean是否加粗字体
showusernamesboolean是否显示用户名
saveblockedboolean是否保存被屏蔽的弹幕
showmsgboxboolean是否显示礼物框
msgboxsize[number, number]礼物框尺寸 [宽, 高]
msgboxpos[number, number]礼物框位置 [X, Y]
msgboxfontsizenumber礼物框文字大小
msgboxdurationnumber礼物框持续时间,单位为秒
giftminpricenumber礼物最小价值,单位为 RMB
blockmodestring[]按类型屏蔽弹幕,可选值包括 R2L、L2R、TOP、BOTTOM、SPECIAL、COLOR、REPEAT
statmodestring[]调试统计模式,可选值包括 TABLE、HISTOGRAM
resolutionResponsiveboolean是否自适应视频分辨率
fontSizeResponsiveboolean是否自适应分辨率字体大小
fontSizeResponsiveParams[number, number][]字体大小自适应参数,每项为 [分辨率高度, 字体大小],高度递增且不能重复
blackliststring弹幕屏蔽规则,英文逗号分隔,支持关键词、UID、用户名、正则表达式
filterFunctionstring自定义弹幕过滤函数,字符串形式
blacklist-regexboolean屏蔽规则是否启用正则表达式模式
line-spacingnumber弹幕行间距
top-marginnumber弹幕顶部间距
bottom-marginnumber弹幕底部间距
timeshiftnumber弹幕时间偏移,单位为秒

获取弹幕预设列表

获取所有弹幕预设配置。

接口地址: GET /preset/danmu

请求参数:

响应示例:

json
[
  {
    "id": "preset_1",
    "name": "默认预设",
    "config": {
      "resolution": [1920, 1080],
      "scrolltime": 8,
      "fontname": "Microsoft YaHei",
      "fontsize": 38
    }
  }
]

获取单个弹幕预设

获取指定 ID 的弹幕预设详情。

接口地址: GET /preset/danmu/:id

路径参数:

参数名类型必填说明
idstring预设 ID

创建弹幕预设

创建新的弹幕预设。

接口地址: POST /preset/danmu

请求参数:

参数名类型必填说明
namestring预设名称
configobject预设配置

请求示例:

json
{
  "name": "高清预设",
  "config": {
    "resolution": [1920, 1080],
    "scrolltime": 10,
    "fixtime": 4,
    "density": -1,
    "fontname": "Microsoft YaHei",
    "fontsize": 42,
    "opacity100": 80,
    "outline": 2,
    "shadow": 1,
    "bold": true,
    "showusernames": false,
    "fontSizeResponsive": false,
    "fontSizeResponsiveParams": []
  }
}

更新弹幕预设

更新指定的弹幕预设。

接口地址: PUT /preset/danmu/:id

路径参数:

参数名类型必填说明
idstring预设 ID

请求参数: 与创建接口相同

删除弹幕预设

删除指定的弹幕预设。

接口地址: DELETE /preset/danmu/:id

路径参数:

参数名类型必填说明
idstring预设 ID

视频上传预设

用于 B 站视频上传的预设配置管理。

数据结构

参数名类型说明
titlestring稿件标题,限制 80 字,会去除首尾空格
partTitleTemplatestring分 P 标题模板
descstring稿件简介,最多 250 字
tidnumber投稿分区 ID
tagstring[]标签数组,不能为空且不能超过 10 个
copyright1|2版权声明,1 为自制,2 为转载
sourcestring转载来源,copyright=2 时通常需要提供
dynamicstring空间动态
coverstring封面,可为文件名或绝对路径
dolby0|1是否开启杜比
hires0|1是否开启 Hi-Res
noReprint0|1自制声明,0 允许转载,1 禁止转载
watermark0|1是否添加水印
openElec0|1是否开启充电面板
closeDanmu0|1是否关闭弹幕
closeReply0|1是否关闭评论
selectiionReply0|1是否开启精选评论,0 开启,1 关闭
seasonIdnumber|null合集 ID
sectionIdnumber小节 ID
uidnumber|null创建该预设的 B 站 UID
recreate1|-1是否允许二创
no_disturbance0|1是否推送到动态,0 推送,1 不推送
autoCommentboolean是否自动评论
commentTopboolean是否将自动评论置顶
commentstring自动评论内容
topic_idnumber话题 ID
topic_namestring|null话题名称
mission_idnumber活动任务 ID
is_only_self0|1是否仅自己可见
space_hidden1| 2是否在个人空间投稿列表中隐藏
human_type2number新分区 ID
dtimenumber定时发布时间,10 位秒级时间戳,需晚于当前提交时间 7200 秒
sortByCidnumber[]按指定 cid 顺序上传分 P

获取视频上传预设列表

获取所有视频上传预设。

接口地址: GET /preset/video

请求参数:

响应示例:

json
[
  {
    "id": "preset_1",
    "name": "游戏视频预设",
    "config": {
      "title": "视频标题",
      "desc": "视频简介",
      "tid": 17,
      "tag": ["游戏", "实况"],
      "copyright": 1
    }
  }
]

获取单个视频上传预设

获取指定 ID 的视频上传预设详情。

接口地址: GET /preset/video/:id

路径参数:

参数名类型必填说明
idstring预设 ID

创建视频上传预设

创建新的视频上传预设。

接口地址: POST /preset/video

请求参数:

参数名类型必填说明
namestring预设名称
configobject上传配置

config 类型: #sym:BiliupConfig

请求示例:

json
{
  "name": "游戏实况预设",
  "config": {
    "title": "{{roomName}}-{{now}}",
    "desc": "直播录播",
    "tid": 171,
    "tag": ["游戏", "直播录播"],
    "copyright": 1,
    "dolby": 0,
    "hires": 0,
    "noReprint": 1
  }
}

更新视频上传预设

更新指定的视频上传预设。

接口地址: PUT /preset/video/:id

路径参数:

参数名类型必填说明
idstring预设 ID

请求参数: 与创建接口相同

删除视频上传预设

删除指定的视频上传预设。

接口地址: DELETE /preset/video/:id

路径参数:

参数名类型必填说明
idstring预设 ID

FFmpeg 预设

用于视频处理的 FFmpeg 参数预设管理。

获取 FFmpeg 预设列表

获取所有 FFmpeg 预设。

接口地址: GET /preset/ffmpeg

请求参数:

响应示例:

json
[
  {
    "id": "preset_1",
    "name": "H.264 高质量",
    "config": {
      "encoder": "libx264",
      "preset": "slow",
      "crf": 18
    }
  }
]

获取 FFmpeg 预设选项

获取可用的 FFmpeg 预设选项和参数说明。

接口地址: GET /preset/ffmpeg/options

请求参数:

响应示例:

json
{
  "encoders": ["libx264", "libx265", "h264_nvenc"],
  "presets": ["ultrafast", "fast", "medium", "slow", "veryslow"],
  "pixelFormats": ["yuv420p", "yuv444p"]
}

获取单个 FFmpeg 预设

获取指定 ID 的 FFmpeg 预设详情。

接口地址: GET /preset/ffmpeg/:id

路径参数:

参数名类型必填说明
idstring预设 ID

创建 FFmpeg 预设

创建新的 FFmpeg 预设。

接口地址: POST /preset/ffmpeg

请求参数:

参数名类型必填说明
namestring预设名称
configobjectFFmpeg 配置

config 常用字段:

参数名类型说明
encoderstring编码器(如 libx264, libx265, h264_nvenc)
presetstring编码速度预设(ultrafast/fast/medium/slow 等)
crfnumber恒定质量因子(0-51,越小质量越好)
bitratestring比特率(如 "5000k")
fpsnumber帧率
resolutionstring分辨率(如 "1920x1080")
pixelFormatstring像素格式(如 "yuv420p")
audioCodecstring音频编码器(如 "aac", "mp3")
audioBitratestring音频比特率(如 "192k")

请求示例:

json
{
  "name": "H.265 高质量",
  "config": {
    "encoder": "libx265",
    "preset": "slow",
    "crf": 20,
    "pixelFormat": "yuv420p",
    "audioCodec": "aac",
    "audioBitrate": "192k"
  }
}

更新 FFmpeg 预设

更新指定的 FFmpeg 预设。

接口地址: PUT /preset/ffmpeg/:id

路径参数:

参数名类型必填说明
idstring预设 ID

请求参数: 与创建接口相同

删除 FFmpeg 预设

删除指定的 FFmpeg 预设。

接口地址: DELETE /preset/ffmpeg/:id

路径参数:

参数名类型必填说明
idstring预设 ID

通用响应

所有创建、更新、删除操作成功时,通常返回更新后的预设对象或成功状态。

错误处理

常见错误响应:

  • 预设不存在: 指定的预设 ID 不存在
  • 名称不能为空: 预设名称为空
  • 配置格式错误: 配置参数格式不正确

使用建议

  • 弹幕预设用于 XML 转 ASS 时的样式配置
  • 视频上传预设用于 B 站视频上传时的元数据配置
  • FFmpeg 预设用于视频转码、压制等处理任务

Released under the GPLv3 License.