隐私信息打码算子支持对视频中的纸质文档、快递面单、屏幕、卡证、二维码、条形码和车牌进行对象定位和高斯模糊处理。可通过类别参数指定单类或多类对象,并调整模糊强度;也可仅输出定位结果,供自有渲染器使用。算子结合连续跟踪与逐帧检测,生成覆盖全部源帧的定位结果。输出包括打码后的视频,以及包含帧号、时间戳、对象类别、COCO 压缩 RLE 掩码和源媒体像素坐标外接框的完整 JSON 结果,适用于具身数据标注、模型训练和数据共享前的视觉隐私处理。
算子介绍
适用场景
核心能力
算子支持对视频中的以下六类视觉隐私对象进行定位与高斯模糊处理。通过识别类别参数(categories)可选择单类或多类对象。未传入该参数时,默认检测除车牌外的前五类对象;如需处理车牌,必须显式传入 license_plate。参数值使用表中的小写英文值。
支持以下两种输出模式:
- 生成打码媒体(render=true,默认):输出高斯模糊处理后的视频,以及完整定位结果 JSON。
- 仅输出定位结果(render=false):仅输出完整定位结果 JSON,供自有渲染器使用,不生成打码媒体。
两种模式下,视频定位结果均覆盖全部源帧。本版本按对象区域进行处理,不判断其中的文字是否属于个人信息,不只遮挡对象上的敏感文字,也不返回识别出的文字或车牌号码。可通过模糊强度参数(blur_sigma_ratio)调整高斯模糊效果;增大该值通常会增强模糊效果,但不会扩大打码区域。
生成打码媒体时,算子保留原视频的帧数、帧率、显示尺寸和音频;输出编码与像素格式会尽量沿用输入,具体以实际输出为准。本版本不包含人脸打码,也不提供音频审核、消音或 OCR 文本提取。需要处理人脸时,可通过工作流编排与对应算子联动。
效果展示
【输入视频示例】
二维码、屏幕的隐私信息
Replay
Play
00:00
/
00:00
Live
Fullscreen
Cssfullscreen
1x
快递单隐私信息
Replay
Play
00:00
/
00:08
Live
Fullscreen
Cssfullscreen
1x
文档、屏幕隐私信息
Replay
Play
00:00
/
00:19
Live
Fullscreen
Cssfullscreen
1x
卡证、屏幕隐私信息
Replay
Play
00:00
/
00:15
Live
Fullscreen
Cssfullscreen
1x
车牌隐私信息
Replay
Play
00:00
/
00:15
Live
Fullscreen
Cssfullscreen
1x
【输出结果示例】
二维码、屏幕打码
Replay
Play
00:00
/
00:14
Live
Fullscreen
Cssfullscreen
1x
快递单打码
Replay
Play
00:00
/
00:08
Live
Fullscreen
Cssfullscreen
1x
文档、屏幕打码
Replay
Play
00:00
/
00:19
Live
Fullscreen
Cssfullscreen
1x
卡证、屏幕打码
Replay
Play
00:00
/
00:15
Live
Fullscreen
Cssfullscreen
1x
车牌打码
Replay
Play
00:00
/
00:15
Live
Fullscreen
Cssfullscreen
1x
支持的地域
算子性能
输入与输出要求
输入要求
输出要求
输出文件包括:
任务成功但未检测到目标时,masked_frame_count 为 0,仍会生成完整定位结果 JSON,其中所有帧的 masks 均为空;开启媒体生成时仍会提供输出媒体。返回输出媒体不代表检测到目标。
计费说明
注意与前提
申请开白
当前功能处于白名单阶段,使用前需提交工单申请开通。 其他
Rest API 调用
API 调用说明
本算子的 API 为异步任务接口。通过 Submit 提交任务并保存返回的 task_id,再通过 Poll 查询运行状态和处理结果。
轮询频率、并发限制、任务超时及产物保留期限按 LAS 平台约定执行。请避免高频查询;查询遇到暂时性网络或服务错误时,可退避后使用原任务 ID 重新查询。
算子调用建议
- 建议先使用有代表性的小样本检查识别类别、打码范围和画面可用性,再扩大处理规模。整张单据或卡片的模糊可能影响物品识别与动作理解,用于模型训练前请复检。
- 算子根据类别采用连续跟踪或逐帧检测,在完整视频时间线上生成打码区域;场景切换时结束需要跨帧传播的目标轨迹。
- 算子按所选类别的对象区域进行模糊处理,不仅遮挡敏感文字,也不会扩大掩码边界。增大 blur_sigma_ratio 不能修复漏检或未覆盖区域。
- 视频编码可能改变掩码外的像素值,不保证该区域与输入逐字节一致。
接口说明
调用 las_privacy_blur 算子提交视频隐私打码任务。Submit 成功仅表示任务已被接收,不代表处理完成。
请求参数
operator_id string 必选 示例值: las_privacy_blur
算子 ID,固定为 las_privacy_blur。
operator_version string 必选 示例值: v1
算子版本,固定为 v1。
data PrivacyBlurInfo 必选
隐私信息打码参数。本算子仅接受以下 data 字段。
url string 必选 示例值: tos://customer-bucket/input/video.mp4
一个可读取的视频地址,支持 TOS、HTTP 和 HTTPS。格式和资源限制参见输入要求。
categories list of string Optional 默认值: document、shipping_label、screen、card、code 示例值: ["shipping_label", "license_plate"]
指定识别类别,至少包含一项,不允许包含未知值或重复值。支持 document、shipping_label、screen、card、code、license_plate;传入后仅处理所选类别,请求中的排列顺序不改变类别含义。默认前五类,不包含 license_plate。
output_tos_path string Optional 默认值: 平台存储 示例值: tos://customer-bucket/results/
输出 TOS 目录前缀。省略时使用平台分配的存储位置;指定时需具有读写权限,不支持 HTTP 地址、查询参数或片段。服务会在该目录下创建独立任务子目录,无需提供输出文件名。
render boolean Optional 默认值: true 示例值: true
是否生成打码后的媒体。设置为 false 时仅生成完整定位结果 JSON,视频仍会完成全部源帧定位;本版本不提供提交已有 JSON 直接二次渲染的公开接口。
blur_sigma_ratio float Optional 默认值: 0.04 示例值: 0.04
高斯模糊强度比例,取值范围为 (0, 0.25]。计算公式为 sigma = blur_sigma_ratio × min(width, height),其中 width、height 为媒体宽、高,单位为像素。值越大通常越模糊,但不会扩大打码区域;render=false 时不影响定位结果。
categories 枚举值
返回数据
metadata metadata
任务提交回执。
task_id string 示例值: task-example
任务 ID,用于 Poll 查询。
task_status string 示例值: PENDING
当前任务状态;提交成功后通常为 PENDING。
business_code string 示例值: 0
业务码;通用成功值为 "0"。
error_msg string
错误信息;成功时为空。
请求示例
下例使用北京地域的 BaseURL 检测全部六类对象(包含车牌)并生成打码媒体。执行前设置 LAS_API_KEY。
常见配置如下。
返回示例
错误码
Submit 请求可能同步返回以下错误。若任务已受理,执行阶段的业务错误通过 Poll 的 metadata.business_code 和 metadata.error_msg 返回。
接口说明
根据任务 ID 查询隐私信息打码任务的状态和结果。任务成功需同时满足 task_status="COMPLETED" 和 business_code="0"。Poll 仅返回概要和产物地址,完整定位结果需通过 result_json 返回的 TOS 地址读取。
请求参数
operator_id string 必选 示例值: las_privacy_blur
算子 ID,固定为 las_privacy_blur。
operator_version string 必选 示例值: v1
算子版本,固定为 v1。
task_id string 必选 示例值: task-example
Submit 返回的异步任务 ID。
返回数据
任务成功但未检测到目标时,仍会生成完整定位结果 JSON,其中所有帧的 masks 均为空;开启媒体生成时仍会提供输出媒体。产物以 Poll 实际返回的 TOS URI 为准,读取需具备相应权限。TOS URI 是对象存储地址,不是自动生成的公网下载链接;请勿自行拼接任务子目录或产物文件名。
排队、执行中或失败时,data 可能为空。
metadata metadata
任务状态与执行信息。
task_id string 示例值: task-example
异步任务 ID。
task_status string 示例值: COMPLETED
任务状态:PENDING、RUNNING、COMPLETED、FAILED、TIMEOUT。
business_code string 示例值: 0
业务码;通用成功值为 "0"。
error_msg string
错误信息;成功时为空。
submit_time string 示例值: 2026-10-09T16:01:00+08:00
任务提交时间,采用 ISO 8601 格式。
end_time string 示例值: 2026-10-09T16:01:00+08:00
任务结束时间,采用 ISO 8601 格式;任务结束后读取。
data PrivacyBlurResult
成功任务的业务结果;排队、执行中或失败时可能为空。
media_type string 示例值: video
媒体类型,固定为 video。
output_tos_path string / null 示例值: tos://customer-bucket/results/task-example/blurred.mp4
最终打码媒体的 TOS URI;此处表示文件地址,与 Submit 请求中表示目录前缀的同名参数含义不同。render=false 时为 null。
result_json string 示例值: tos://customer-bucket/results/task-example/result.json
完整定位结果 JSON 的 TOS URI;成功任务始终提供。
width integer 示例值: 960
处理画面的宽度,按显示方向计算,单位为像素。
height integer 示例值: 720
处理画面的高度,按显示方向计算,单位为像素。
duration_sec float 示例值: 58.8333333333
源视频时长,单位为秒。
total_frames integer 示例值: 1765
源视频总帧数。
masked_frame_count integer 示例值: 1239
至少一个所选类别有非空掩码的帧数;单帧命中多个类别只计一次。render=false 时表示检测命中帧数,不表示已生成打码媒体。
请求示例
返回示例
视频任务成功且生成打码媒体:
错误码
Poll 请求可能同步返回以下错误。
任务执行阶段可能返回以下业务码,具体原因以 metadata.error_msg 为准。
发现误检或漏检时,请记录任务 ID、类别、视频时间戳及问题画面,并提供给服务支持方用于复现与改进。
参考
输出 result.json 字段说明
字段说明
media_type string
媒体类型,固定为 video。
width integer
坐标空间宽度,单位为像素。
height integer
坐标空间高度,单位为像素。
fps float
视频帧率概要。逐帧时间应读取 timestamp_sec。
duration_sec float
源视频时长,单位为秒。
total_frames integer
源视频总帧数。
categories list of string
本任务使用的识别类别。
masked_frame_count integer
有非空掩码的帧数,与 Poll 中同名字段的含义一致。
frames list of frame
全部源帧结果,数量等于 total_frames,按帧号连续有序。
frame_index integer
从 0 开始,连续到 total_frames-1。
timestamp_sec float
源视频帧时间戳,单位为秒,来自源时间轴。
masks list of mask
当前帧命中的类别掩码;空帧为 []。
category string
类别英文值,例如 document。
rle object
当前帧中该类别合并后的 COCO 压缩 RLE 掩码。
size list of integer
取值为 [height, width],高度在前。
counts string
COCO 压缩编码的 ASCII 字符串,不是未压缩游程数组。
boxes list of box
当前类别最终掩码的 8 邻域连通分量外接框列表。每项包含 x1、y1、x2、y2 整数像素坐标。
每帧每类别最多包含一份 RLE;同类别的多个目标会合并,不同类别的掩码可以重叠。未命中的类别不会写入当前帧的 masks。
结果不包含目标跟踪 ID、实例数量、检测分数、OCR 文本或文字多边形,也不单独返回命中时间区间。您可根据逐帧时间戳和命中情况自行聚合时间区间。
坐标与时间约定
- 所有框均使用原始像素坐标。左上角为原点,x 轴向右、y 轴向下,不是 0~999 归一化坐标。
- 框采用左闭右开边界:[x1,x2)、[y1,y2)。例如 (10,20,30,40) 对应 image[20:40,10:30],宽、高均为 20 像素。
- boxes 描述连通区域,不等同于目标实例。多个目标相连时可能只有一个框,一个目标断成多个区域时可能有多个框;精确渲染应使用 RLE 掩码。
- RLE 按列优先编码,从背景游程开始;解码后得到形状为 (height,width) 的二维掩码。
- 视频时间戳来自源视频 PTS。对于可变帧率视频,不可使用 frame_index / fps 替代实际时间戳。
完整 JSON 示例
下例使用宽 3 像素、高 2 像素的两帧微型视频说明 RLE 与空帧格式,仅为结构示例,与前文 Poll 视频示例无对应关系。
Python 解码示例
使用以下命令安装 pycocotools。
以下示例将前述 RLE 解码为二维掩码。
长视频的 JSON 大小会随帧数和掩码边界复杂度增长,建议流式读取,避免在高频 Poll 或前端页面中一次展开全部帧数据。