IPC内容理解是通过AI算法自动识别媒体内容特征(如对象、场景、文字、图标等),为后续进行搜索等媒体处理提供分析基础。本文档指导开发者通过API实现IPC内容理解。
前提条件
请确保已通过CreateIpcOrder - 创建IPC订单下单购买。
请确保已完成环境搭建,详情可参考OpenAPI门户工具。
基础使用
创建IPC算法模板
使用CreateCustomTemplate - 创建用户自定义模板创建模板。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
create_custom_template_request = ice20201109_models.CreateCustomTemplateRequest(
name='ipc_template_001',
template_config='{"AnalyseTypes":"vlEventDesc","Industry":"common","Scene":"search","TemplateName":"ipc_template_001"}',
type=11
)
runtime = util_models.RuntimeOptions()
response = client.create_custom_template_with_options(create_custom_template_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
Name | string | 模板名称 | ipc_template_001 |
Type | integer | 模板类型,IPC任务必须输入11,代表AI智能标签模板。 | 11 |
TemplateConfig | string | 模板配置,为JSON格式。IPC任务必须按示例值填写,代表创建IPC模板。 | {\"AnalyseTypes\":\"vlEventDesc\",\"TemplateName\":\"test\",\"Industry\":\"common\",\"Scene\":\"search\"} |
返回参数:
参数名称 | 类型 | 描述 | 示例值 |
RequestId | string | 请求 ID | ******11-DB8D-4A9A-875B-275798****** |
CustomTemplate | object | 模板信息 | |
CustomTemplate.TemplateId | string | 模板 ID | ****20b48fb04483915d4f2cd8ac**** |
CustomTemplate.TemplateName | string | 模板名称 | test-template |
CustomTemplate.Type | integer | 模板类型 ID | 11 |
CustomTemplate.TypeName | string | 模板类型名称 | AISmarttagTemplate |
CustomTemplate.AppId | string | ||
CustomTemplate.Version | string | 模板版本 | 1 |
CustomTemplate.Status | string | 模板状态 | Normal |
CustomTemplate.IsDefault | boolean | 是否默认模板 | true |
CustomTemplate.TemplateConfig | string | 模板配置 | {\"AnalyseTypes\":\"vlEventDesc\",\"TemplateName\":\"test\",\"Industry\":\"common\",\"Scene\":\"search\"} |
CustomTemplate.CreateTime | string | 模板创建时间 | |
CustomTemplate.ModifiedTime | string | 模板修改时间 |
返回示例:
{
"CustomTemplate": {
"CreateTime": "2025-12-22T03:11:02Z",
"IsDefault": false,
"ModifiedTime": "2025-12-22T03:11:02Z",
"Status": "Normal",
"TemplateConfig": "{\"AnalyseTypes\":\"vlEventDesc\"}",
"TemplateId": "****a0da83434f0a8d57ffb0415c****",
"TemplateName": "ipc_template_001",
"Type": 11,
"TypeName": "AISmarttagTemplate"
},
"RequestId": "******22-1193-5A70-8D4C-E0533C******"
}提交IPC内容理解任务
使用SubmitSmarttagJob - 提交智能标签作业提交任务。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
import json
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
submit_smarttag_job_request_input = ice20201109_models.SubmitSmarttagJobRequestInput(
type='Multi',
media=json.dumps(
{
"type": "URL",
"inputs": [
"https://xxx.png",
"https://xxx.png"
]
}
)
)
submit_smarttag_job_request = ice20201109_models.SubmitSmarttagJobRequest(
title='ipc测试-001',
input=submit_smarttag_job_request_input,
template_id='xxx',
# params='{"vlEventDescParams":{"deviceId":"camera_001"}}',
)
runtime = util_models.RuntimeOptions()
response = client.submit_smarttag_job_with_options(submit_smarttag_job_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
Title | string | 任务标题。 | xxx |
Input | object | 输入对象。 | |
Input.Type | string | 媒体类型,IPC任务必须输入 | Multi |
Input.Media | string | 输入素材。Type为Multi时,输入为JSON字符串,参考如下格式:{"type": "URL", "inputs": ["xxx.png", "xxx.png"]},{"type": "URL", "inputs": ["xxx.mp4"],"extra":{"mediaType":"video", "fps":2}} type类型目前只支持URL,inputs支持图片列表和视频(支持视频时长:2秒至40秒)。 extra字段中:
| {"type": "URL", "inputs": ["xxx.png", "xxx.png"]} {"type": "URL", "inputs": ["xxx.m3u8"],"extra":{"mediaType":"video","fps":2,"targetLanguage": "it"}} |
TemplateId | string | 模板ID,创建IPC模板时返回。 | 3d5***ca7 |
Params | string | 扩展配置参数,为JSON字符串。其中 vlEventDescParams 用于配置IPC内容理解的扩展参数。 | {"vlEventDescParams":{"deviceId":"xxx"}} |
vlEventDescParams字段说明:
参数名 | 类型 | 是否必填 | 描述 | 示例值 |
deviceId | string | 否 | 设备唯一标识符,用于标识提交任务的设备来源。最大长度为32字符,仅支持字母、数字、下划线(_)、连字符(-)。 | camera_001 |
targetLanguage取值:
参数 | 目标翻译语言 |
en | 英语 |
ja | 日语 |
id | 印尼语 |
es | 西班牙语 |
pt | 葡萄牙语 |
ar | 阿拉伯语 |
fr | 法语 |
tr | 土耳其语 |
de | 德语 |
ko | 韩语 |
th | 泰语 |
vi | 越南语 |
ru | 俄语 |
ms | 马来语 |
zh-tw | 繁体中文 |
km | 柬埔寨语 |
pl | 波兰语 |
nl | 荷兰语 |
cs | 捷克语 |
fi | 芬兰语 |
ro | 罗马尼亚语 |
sv | 瑞典语 |
fa | 波斯语 |
it | 意大利语 |
返回参数:
参数名称 | 类型 | 描述 | 示例值 |
RequestId | string | 请求ID。 | ******11-DB8D-4A9A-875B-275798****** |
JobId | string | 智能标签作业 ID。建议您保存此ID便于后续调用其他接口时使用。 | ****d80e4e4044975745c14b**** |
返回示例:
{
"RequestId": "******11-DB8D-4A9A-875B-275798******",
"JobId": "****d80e4e4044975745c14b****"
}查询IPC任务结果
使用QuerySmarttagJob - 智能标签任务查询接口查询结果。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
query_smarttag_job_request = ice20201109_models.QuerySmarttagJobRequest(
job_id='xxx'
)
runtime = util_models.RuntimeOptions()
response = client.query_smarttag_job_with_options(query_smarttag_job_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
JobId | string | 需要查询的智能标签作业 ID。 | 88c6ca184c0e47098a5b665e2**** |
返回参数:
参数名称 | 类型 | 描述 | 示例值 |
RequestId | string | 请求 ID | ******11-DB8D-4A9A-875B-275798****** |
JobStatus | string | 任务状态,可取值:
| Success |
UserData | string | 通过 MNS 回调时透传回来的信息。 | |
Results | object | 分析结果对象 | |
Results.Result | array<object> | 分析结果对象数组。 | |
Type | string | 分析结果的类型。 | |
Data | string | 分析结果的具体数据,以JSON字符串表示,取值见下表。 |
Data取值:
参数 | 描述 |
brief | 视频概要描述。 |
caption | 视频详细内容描述。 |
title | 标题。 |
event | 事件信息。 |
object | 对象信息。 |
action | 动作信息。 |
label | 标签信息。 |
返回示例:
{
"JobStatus": "Success",
"RequestId": "41B38CF1-C1EC-538E-81FB-791355065538",
"Results": {
"Result": [
{
"Data": "\"{\\\"brief\\\":\\\"一名成年男性坐在椅子上吃东西,旁边笼子里的两只狗在 走动。\\\",\\\"caption\\\":\\\"在一个铺有砖块的庭院中,一名成年男性(短发,穿米色长袍)坐在椅子上吃东西,旁边有一张放着食物和水瓶的桌子。笼子里有两只灰白色的中型狗在走动。\\\",\\\"action\\\":[\\\"吃东西\\\",\\\"走动\\\"],\\\"label\\\":{\\\"package\\\":false,\\\"human\\\":true,\\\"pet\\\":true,\\\"vehicle\\\":false},\\\"title\\\":\\\"男子庭院吃东西,狗笼内走动\\\",\\\"event\\\":[\\\"成年男性 吃东西\\\",\\\"狗 走动\\\"],\\\"object\\\":[\\\"成年男性\\\",\\\"狗\\\",\\\"桌子\\\",\\\"椅子\\\"]}\"",
"Type": "EventDesc"
}
]
},
"UserData": "{\"fromICE\":true,\"pk\":1346693276669150}"
}进阶使用
进阶使用支持人物身份识别。
创建人物自注册库
使用CreateRecognitionLib - 创建自定义识别库创建库。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
create_recognition_lib_request = ice20201109_models.CreateRecognitionLibRequest(
algorithm='pedestrian',
lib_name='ipc_peds_lib_001'
)
runtime = util_models.RuntimeOptions()
response = client.create_recognition_lib_with_options(create_recognition_lib_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
Algorithm | string | 识别类型,取值:
| pedestrian |
LibName | string | 识别库名称,最长支持64字节。 | ipc_peds_lib_001 |
返回参数:
参数名称 | 类型 | 描述 | 示例值 |
RequestId | string | 请求ID。 | ******11-DB8D-4A9A-875B-275798****** |
LibId | string | 创建成功的识别库ID。 | *************24b47865c6************** |
返回示例:
{
"LibId": "*************24b47865c6**************",
"RequestId": "******11-DB8D-4A9A-875B-275798******"
}创建人物自注册实体
使用CreateRecognitionEntity - 创建自定义识别库中的待识别实体创建实体。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
create_recognition_entity_request = ice20201109_models.CreateRecognitionEntityRequest(
algorithm='pedestrian',
lib_id='xxx',
entity_name='小帅'
)
runtime = util_models.RuntimeOptions()
response = client.create_recognition_entity_with_options(create_recognition_entity_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
Algorithm | string | 识别类型,取值: pedestrian:自定义人物 | pedestrian |
LibId | string | 识别库 ID | *************24b47865c6************** |
EntityName | string | 自定义识别实体名称,最长支持 64 字节 | 小帅 |
返回参数:
参数名称 | 类型 | 描述 | 示例值 |
RequestId | string | 请求ID。 | ******11-DB8D-4A9A-875B-275798****** |
EntityId | string | 创建成功的实体ID。 | **************544cb84754************ |
返回示例:
{
"EntityId": "**************544cb84754************",
"RequestId": "******11-DB8D-4A9A-875B-275798******"
}创建人物自注册样本
使用CreateRecognitionSample - 注册自定义实体的识别样本创建样本。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
create_recognition_sample_request = ice20201109_models.CreateRecognitionSampleRequest(
algorithm='pedestrian',
lib_id='xxx',
entity_id='xxx',
image_url='https://xxx.png'
)
runtime = util_models.RuntimeOptions()
response = client.create_recognition_sample_with_options(create_recognition_sample_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
Algorithm | string | 识别类型,取值:
| pedestrian |
LibId | string | 识别库ID。 | *************24b47865c6************** |
EntityId | string | 实体ID。 | **************544cb84754************ |
ImageUrl | string | 样本图片的URL地址。 | https://xxx.png |
返回参数:
参数名称 | 类型 | 描述 | 示例值 |
RequestId | string | 请求ID。 | ******11-DB8D-4A9A-875B-275798****** |
SampleId | string | 创建成功的样本ID。 | **************4d2ba728e2f************** |
返回示例:
{
"RequestId": "******11-DB8D-4A9A-875B-275798******",
"SampleId": "**************4d2ba728e2f**************"
}创建IPC算法模板
使用CreateCustomTemplate - 创建用户自定义模板创建模板,流程与基础使用相同,但需额外配置人物库。示例如下:
# -*- coding: utf-8 -*-
from alibabacloud_ice20201109.client import Client as ICE20201109Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_ice20201109 import models as ice20201109_models
from alibabacloud_tea_util import models as util_models
# 工程代码建议使用更安全的无AK方式,凭据配置方式请参见:https://help.aliyun.com/document_detail/378659.html。
credential = CredentialClient()
config = open_api_models.Config(
credential=credential
)
# Endpoint 请参考 https://api.aliyun.com/product/ICE
config.endpoint = 'ice.cn-shanghai.aliyuncs.com'
client = ICE20201109Client(config)
create_custom_template_request = ice20201109_models.CreateCustomTemplateRequest(
name='ipc_template_001_with_group',
template_config='{"AnalyseTypes":"vlEventDesc","Industry":"common","Scene":"search","TemplateName":"ipc_template_001_with_group","PedestrianGroupIds":"xxx"}',
type=11
)
runtime = util_models.RuntimeOptions()
response = client.create_custom_template_with_options(create_custom_template_request, runtime)
print(response)请求参数:
参数名称 | 类型 | 描述 | 示例值 |
Name | string | 模板名称 | xxx |
Type | integer | 模板类型,IPC任务必须输入11,代表AI智能标签模板。 | 11 |
TemplateConfig | string | 模板配置,为JSON格式。IPC任务必须按示例值填写,代表创建IPC模板并填写人物库ID。
| {"AnalyseTypes":"vlEventDesc","Industry":"common","Scene":"search","TemplateName":"ipc_template_001_with_group","PedestrianGroupIds":"xxx"} |
提交IPC内容理解任务
使用SubmitSmarttagJob - 提交智能标签作业提交任务,流程与基础使用相同。
查询IPC任务结果
使用QuerySmarttagJob - 智能标签任务查询接口查询结果,流程与基础使用相同。相同的输入,描述结果里人物转换成自定义的人物小帅,输出结果为:
{
"JobStatus": "Success",
"RequestId": "******F9-82A8-5BC4-B63E-63D756******",
"Results": {
"Result": [
{
"Data": "\"{\\\"brief\\\":\\\"小帅坐在椅子上吃东西,旁边笼子里有两只狗。\\\",\\\"caption\\\":\\\"在一个铺有砖块的庭院中,一名成年男性(小帅)坐在椅子上吃东西,旁边有一张装有食物和水瓶的桌子。笼子里有两只灰白色的中型狗。\\\",\\\"action\\\":[\\\"吃东西\\\",\\\"其他事件\\\"],\\\"label\\\":{\\\"package\\\":false,\\\"human\\\":true,\\\"pet\\\":true,\\\"vehicle\\\":false},\\\"title\\\":\\\"小帅院中吃东西,狗在笼中\\\",\\\"event\\\":[\\\"成年男性 吃东西\\\",\\\"狗 其他事件\\\"],\\\"object\\\":[\\\"成年男性\\\",\\\"狗\\\",\\\"桌子\\\",\\\"椅子\\\"]}\"",
"Type": "EventDesc"
}
]
},
"UserData": "{\"fromICE\":true,\"pk\":1346693276669150}"
}