AI Video
Field Mapping Pipeline
Field Mapping Pipeline 是一套灵活的字段提取和映射机制,用于从 AI API 的请求和响应中自动提取所需数据,并上报到事件系统。
核心概念
Fields:事件标准字段
用于提取 ai_video 事件的核心字段,这些字段会驱动业务流程的自动化处理。
支持的字段:
video_urls:视频结果链接input_urls:输入素材链接prompt:提示词
特性:
video_urls和input_urls提取后会自动转存至对象存储- 已内置默认提取规则,一般无需手动配置
- 如需覆盖默认规则,可在配置中重新定义同名字段
Extra Fields:事件扩展字段
用于补充 ai_video 事件的 extra 字段,记录自定义的业务数据。
特性:
- 字段名称自由定义,如
style_id、seed、task_ref - 每个字段提取的结果作为一个 key,合并存入
extraJSON - 无默认配置,需手动定义
提取器配置
Extractors:提取器
使用 GJSON 语法从数据源中提取字段值,按配置顺序依次执行。
路径示例:
response.data.video_urlrequest.contents.0.parts.0.textbp_request.data.video_url
Context 数据来源
提取器可以从以下三个数据源中提取字段:
| 数据源 | 说明 | 使用场景 |
|---|---|---|
response | AI API 返回 BP 的响应体 | 提取 AI 生成的结果(如 video_urls) |
request | BP 请求 AI API 的请求体 | 记录发送给 AI 的参数(如 prompt) |
bp_request | 客户端请求 BP 的请求体 | 透传客户端参数(如自定义 task_id) |
提取结果聚合规则
当配置多个 Extractors 时,系统会根据字段类型采用不同的聚合策略:
数组类型字段
合并所有提取器的结果,自动拍平。
示例:
- 提取器 1 提取到:
["url1"] - 提取器 2 提取到:
["url2", "url3"] - 最终结果:
["url1", "url2", "url3"]
非数组类型字段
按顺序执行,返回首个成功提取的值。
示例:
- 提取器 1:失败
- 提取器 2:成功提取到
"生成视频" - 最终结果:
"生成视频"(后续提取器不再执行)
兜底机制
可为字段设置 default_value,当所有提取器都失败时返回默认值。
不同行为的 AI API
根据 AI API 的调用模式,response 的数据来源有所不同:
| 模式 | 说明 | response 数据来源 |
|---|---|---|
| Direct(同步) | 调用 API 后立即返回结果 | 首次请求的响应体 |
| Fetch(异步) | 先创建任务,再轮询查询结果 | 轮询获取的最终响应体 |
| Webhook(回调) | 创建任务后,AI 平台主动回调 | 回调接收的请求体 |
平台配置参考
以下平台已支持 Field Mapping Pipeline,并内置默认配置:
YunWu
| 字段 | 默认提取路径 |
|---|---|
video_urls | response.video_url |
prompt | request.prompt |
