腾讯云点播(VOD)AIGC 接口对接助手。当用户需要对接腾讯云点播 AIGC 生图、生视频、自定义主体、自定义音色等接口时使用,包括:调用各类 AIGC API、查询任务状态、处理回调事件、使用腾讯云 SDK 示例代码等场景。
腾讯云点播 AIGC 接口对接助手是一项面向实际任务的技能,主要用于核心文档链接;在回答时, 必须主动提供 以下文档链接供用户参考:;
CreateAigcVideoTask;创建 AIGC 自定义主体;CreateAigcCustomElement;创建 AIGC 自定义音色;CreateAigcCustomVoice;创建 AIGC。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
在回答时,必须主动提供以下文档链接供用户参考:
| 功能 | 接口名 | 文档地址 |
|---|---|---|
| AIGC 生图接口 | CreateAigcImageTask |
https://cloud.tencent.com/document/product/266/126240 |
| AIGC 生视频接口 | CreateAigcVideoTask |
https://cloud.tencent.com/document/product/266/126239 |
| 创建 AIGC 自定义主体 | CreateAigcCustomElement |
https://cloud.tencent.com/document/product/266/127544 |
| 创建 AIGC 自定义音色 | CreateAigcCustomVoice |
https://cloud.tencent.com/document/product/266/129120 |
| 创建 AIGC 高级自定义主体 | CreateAigcAdvancedCustomElement |
https://cloud.tencent.com/document/product/266/129121 |
| 创建 AIGC 自定义主体(Vidu) | CreateAigcSubject |
https://cloud.tencent.com/document/product/266/129192 |
| 数据结构文档 | - | https://cloud.tencent.com/document/product/266/31773 |
| API 接口概览(找不到接口时查这里) | - | https://cloud.tencent.com/document/product/266/31753 |
| 查询任务接口 | DescribeTaskDetail |
https://cloud.tencent.com/document/product/266/33431 |
| API 密钥文档 | - | https://cloud.tencent.com/document/api/266/31757 |
| 回调事件文档 | - | https://cloud.tencent.com/document/product/266/35579 |
| 子应用管理文档 | - | https://cloud.tencent.com/document/api/266/43744 |
| AIGC 计费说明(国内站) | - | https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac |
| AIGC 计费说明(国际站) | - | https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419 |
| AIGC 计费补充文档(最新单价/扣费规则) | - | https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp |
📌 补充参考文档(更及时):官网文档可能存在轻微更新滞后(如新增参数未及时同步),遇到参数疑问时请同时参考以下腾讯文档:
- 生图/生视频接口参数表:https://doc.weixin.qq.com/sheet/e3_AOcASwZGACkCNPE0YsRJjS761Zng7?scode=AJEAIQdfAAo0s201lCAMkAoQZ9ACc&tab=0znb2u
- 接口详细说明文档:https://doc.weixin.qq.com/doc/w3_AUUAAQaDAMYCNbqzKJeSsTSKfdAbP?scode=AJEAIQdfAAowpfCxSPAMkAoQZ9ACc
🔍 找不到接口时:如果用户要求的接口在上表中找不到,请先查阅 API 接口概览,找到对应接口后再跳转到具体文档页面。
🚨 计费风险提示(最高优先级,回答时必须主动告知用户): 腾讯云点播 AIGC 生图、生视频、自定义主体、自定义音色等接口均为付费接口,调用即可能产生费用。 在生成代码、给出调用示例、回答任何对接问题时,必须主动且显著地提醒用户阅读计费文档,避免用户在不知情的情况下产生费用。
核心提示(每次回答 AIGC 接口相关问题时都必须提及):
FINISH 状态的任务)会按实际生成内容(图片张数 / 视频秒数 / 训练时长 / 主体数量等维度)计费计费文档(必须提供给用户的链接):
| 文档类型 | 链接 |
|---|---|
| 国内站 AIGC 计费说明 | https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac |
| 国际站 AIGC 计费说明 | https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419 |
| 计费补充文档(最新单价 / 扣费规则,更及时) | https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp |
💡 官网计费文档可能存在更新滞后,最新单价、扣费规则、新模型计费方式请以补充文档为准。 国内账号请以国内站文档为准;海外(International)账号请以国际站文档为准,二者价格体系不同。
典型计费维度速览(具体单价以官方文档为准):
CreateAigcImageTask、CreateAigcVideoTask 等生图/生视频接口均为异步任务接口,调用后不会立即返回结果TaskId,需要通过该 TaskId 轮询 DescribeTaskDetail 查询任务状态PROCESSING(处理中)、FINISH(已完成)、FAIL(失败)强烈建议用户使用腾讯云官方 SDK,而非直接拼接 HTTP 请求:
| 语言 | SDK 地址 |
|---|---|
| Python | https://github.com/TencentCloud/tencentcloud-sdk-python |
| Go | https://github.com/TencentCloud/tencentcloud-sdk-go |
| Java | https://github.com/TencentCloud/tencentcloud-sdk-java |
| Node.js | https://github.com/TencentCloud/tencentcloud-sdk-nodejs |
| PHP | https://github.com/TencentCloud/tencentcloud-sdk-php |
| .NET | https://github.com/TencentCloud/tencentcloud-sdk-dotnet |
⚠️ SDK 版本提示:如果 SDK 中缺少文档中的某个参数或 Request 类(如
CreateAigcImageTaskRequest、CreateAigcVideoTaskRequest、CreateAigcCustomElementRequest等),可能是 SDK 版本较旧,需要升级到最新版本。💡 参数参考提示:官网文档偶有更新滞后,若发现参数与实际不符,请参考补充文档获取最新参数说明:
- https://doc.weixin.qq.com/sheet/e3_AOcASwZGACkCNPE0YsRJjS761Zng7?scode=AJEAIQdfAAo0s201lCAMkAoQZ9ACc&tab=0znb2u
- https://doc.weixin.qq.com/doc/w3_AUUAAQaDAMYCNbqzKJeSsTSKfdAbP?scode=AJEAIQdfAAowpfCxSPAMkAoQZ9ACc
pip3 install tencentcloud-sdk-python # 如已安装,升级到最新版本 pip3 install --upgrade tencentcloud-sdk-python
import os
import time
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.vod.v20180717 import vod_client, models
def create_aigc_image_task(secret_id: str, secret_key: str, sub_app_id: int):
"""调用腾讯云点播 AIGC 生图接口 CreateAigcImageTask
文档:https://cloud.tencent.com/document/product/266/126240
数据结构:https://cloud.tencent.com/document/product/266/31773
sub_app_id: 子应用 ID,必填;如需创建:https://cloud.tencent.com/document/api/266/43744
⚠️ 计费提醒:AIGC 生图为付费接口,每次成功生成都会产生费用。
计费说明(国内站): https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac
计费说明(国际站): https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419
计费补充文档(最新单价): https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp
建议在腾讯云控制台开启费用预警,避免脚本异常导致费用激增。
"""
try:
cred = credential.Credential(secret_id, secret_key)
client = vod_client.VodClient(cred, "") # VOD 不需要指定 region
req = models.CreateAigcImageTaskRequest()
req.SubAppId = sub_app_id # 必填:子应用 ID
# 根据文档填写其他参数,详见:https://cloud.tencent.com/document/product/266/126240
# 如官网文档参数有疑问,参考:https://doc.weixin.qq.com/sheet/e3_AOcASwZGACkCNPE0YsRJjS761Zng7?scode=AJEAIQdfAAo0s201lCAMkAoQZ9ACc&tab=0znb2u
# req.Definition = 0 # 模板 ID
# req.Text = "your prompt here"
resp = client.CreateAigcImageTask(req)
print(f"生图任务已提交,TaskId: {resp.TaskId}")
return resp.TaskId
except TencentCloudSDKException as e:
print(f"SDK 异常: {e}")
raise
def create_aigc_video_task(secret_id: str, secret_key: str, sub_app_id: int):
"""调用腾讯云点播 AIGC 生视频接口 CreateAigcVideoTask
文档:https://cloud.tencent.com/document/product/266/126239
数据结构:https://cloud.tencent.com/document/product/266/31773
sub_app_id: 子应用 ID,必填;如需创建:https://cloud.tencent.com/document/api/266/43744
⚠️ 计费提醒:AIGC 生视频为付费接口,按生成视频时长 / 分辨率 / 模型计费,单次费用通常高于生图。
计费说明(国内站): https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac
计费说明(国际站): https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419
计费补充文档(最新单价): https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp
建议先用最低规格参数验证流程,并在控制台开启费用预警。
"""
try:
cred = credential.Credential(secret_id, secret_key)
client = vod_client.VodClient(cred, "")
req = models.CreateAigcVideoTaskRequest()
req.SubAppId = sub_app_id # 必填:子应用 ID
# 根据文档填写其他参数,详见:https://cloud.tencent.com/document/product/266/126239
# 如官网文档参数有疑问,参考:https://doc.weixin.qq.com/sheet/e3_AOcASwZGACkCNPE0YsRJjS761Zng7?scode=AJEAIQdfAAo0s201lCAMkAoQZ9ACc&tab=0znb2u
# req.Definition = 0 # 模板 ID
# req.Text = "your prompt here"
resp = client.CreateAigcVideoTask(req)
print(f"生视频任务已提交,TaskId: {resp.TaskId}")
return resp.TaskId
except TencentCloudSDKException as e:
print(f"SDK 异常: {e}")
raise
def create_aigc_custom_element(secret_id: str, secret_key: str, sub_app_id: int):
"""创建 AIGC 自定义主体 CreateAigcCustomElement
文档:https://cloud.tencent.com/document/product/266/127544
sub_app_id: 子应用 ID,必填;如需创建:https://cloud.tencent.com/document/api/266/43744
⚠️ 计费提醒:自定义主体训练为付费接口,按训练任务 / 时长计费。
计费说明(国内站): https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac
计费说明(国际站): https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419
计费补充文档(最新单价): https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp
"""
try:
cred = credential.Credential(secret_id, secret_key)
client = vod_client.VodClient(cred, "")
req = models.CreateAigcCustomElementRequest()
req.SubAppId = sub_app_id # 必填:子应用 ID
# 根据文档填写其他参数,详见:https://cloud.tencent.com/document/product/266/127544
resp = client.CreateAigcCustomElement(req)
print(f"自定义主体已创建,TaskId: {resp.TaskId}")
return resp.TaskId
except TencentCloudSDKException as e:
print(f"SDK 异常: {e}")
raise
def query_task_status(secret_id: str, secret_key: str, task_id: str, sub_app_id: int):
"""轮询查询任务状态(DescribeTaskDetail)
文档:https://cloud.tencent.com/document/product/266/33431
注意:AIGC 任务耗时较长,查询间隔建议 5 秒以上
"""
cred = credential.Credential(secret_id, secret_key)
client = vod_client.VodClient(cred, "")
while True:
req = models.DescribeTaskDetailRequest()
req.TaskId = task_id
req.SubAppId = sub_app_id # 必填:子应用 ID
resp = client.DescribeTaskDetail(req)
status = resp.Status
print(f"任务状态: {status}")
if status == "FINISH":
print("任务完成!")
return resp
elif status == "FAIL":
print("任务失败!")
return resp
else:
# PROCESSING - 继续等待,间隔 5 秒以上
time.sleep(5)
if __name__ == "__main__":
# 从环境变量读取密钥(推荐方式,避免硬编码)
# 密钥申请文档:https://cloud.tencent.com/document/api/266/31757
secret_id = os.environ.get("TENCENTCLOUD_SECRET_ID")
secret_key = os.environ.get("TENCENTCLOUD_SECRET_KEY")
# 子应用 ID,在腾讯云点播控制台获取
# 如需创建子应用:https://cloud.tencent.com/document/api/266/43744
sub_app_id = int(os.environ.get("VOD_SUB_APP_ID", "0"))
# 示例:生图并查询结果
# task_id = create_aigc_image_task(secret_id, secret_key, sub_app_id)
# result = query_task_status(secret_id, secret_key, task_id, sub_app_id)
# 示例:生视频并查询结果
# task_id = create_aigc_video_task(secret_id, secret_key, sub_app_id)
# result = query_task_status(secret_id, secret_key, task_id, sub_app_id)
# 示例:创建自定义主体
# task_id = create_aigc_custom_element(secret_id, secret_key, sub_app_id)
# result = query_task_status(secret_id, secret_key, task_id, sub_app_id)
go get github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717
package main
import (
"fmt"
"os"
"strconv"
"time"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
vod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717"
)
// createAigcImageTask 调用生图接口 CreateAigcImageTask
// 文档:https://cloud.tencent.com/document/product/266/126240
// 补充参数参考:https://doc.weixin.qq.com/sheet/e3_AOcASwZGACkCNPE0YsRJjS761Zng7?scode=AJEAIQdfAAo0s201lCAMkAoQZ9ACc&tab=0znb2u
//
// ⚠️ 计费提醒:AIGC 生图为付费接口,每次成功生成都会产生费用。
// - 计费说明(国内站): https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac
// - 计费说明(国际站): https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419
// - 计费补充文档(最新单价): https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp
// - 建议在腾讯云控制台开启费用预警,避免脚本异常导致费用激增。
func createAigcImageTask(client *vod.Client, subAppId uint64) (string, error) {
request := vod.NewCreateAigcImageTaskRequest()
request.SubAppId = common.Uint64Ptr(subAppId) // 必填:子应用 ID
// 根据文档填写其他参数
// request.Definition = common.Int64Ptr(0)
// request.Text = common.StringPtr("your prompt here")
response, err := client.CreateAigcImageTask(request)
if _, ok := err.(*errors.TencentCloudSDKError); ok {
return "", fmt.Errorf("SDK 错误: %s", err)
}
taskId := *response.Response.TaskId
fmt.Printf("生图任务已提交,TaskId: %sn", taskId)
return taskId, nil
}
// createAigcVideoTask 调用生视频接口 CreateAigcVideoTask
// 文档:https://cloud.tencent.com/document/product/266/126239
// 补充参数参考:https://doc.weixin.qq.com/sheet/e3_AOcASwZGACkCNPE0YsRJjS761Zng7?scode=AJEAIQdfAAo0s201lCAMkAoQZ9ACc&tab=0znb2u
//
// ⚠️ 计费提醒:AIGC 生视频为付费接口,按生成视频时长 / 分辨率 / 模型计费,单次费用通常高于生图。
// - 计费说明(国内站): https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac
// - 计费说明(国际站): https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419
// - 计费补充文档(最新单价): https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp
// - 建议先用最低规格参数验证流程,并在控制台开启费用预警。
func createAigcVideoTask(client *vod.Client, subAppId uint64) (string, error) {
request := vod.NewCreateAigcVideoTaskRequest()
request.SubAppId = common.Uint64Ptr(subAppId) // 必填:子应用 ID
// 根据文档填写其他参数
// request.Definition = common.Int64Ptr(0)
// request.Text = common.StringPtr("your prompt here")
response, err := client.CreateAigcVideoTask(request)
if _, ok := err.(*errors.TencentCloudSDKError); ok {
return "", fmt.Errorf("SDK 错误: %s", err)
}
taskId := *response.Response.TaskId
fmt.Printf("生视频任务已提交,TaskId: %sn", taskId)
return taskId, nil
}
// createAigcCustomElement 创建 AIGC 自定义主体 CreateAigcCustomElement
// 文档:https://cloud.tencent.com/document/product/266/127544
//
// ⚠️ 计费提醒:自定义主体训练为付费接口,按训练任务 / 时长计费。
// - 计费说明(国内站): https://cloud.tencent.com/document/product/266/95125#9c4dc6ff-4b3f-4b25-bf2d-393889dfb9ac
// - 计费说明(国际站): https://www.tencentcloud.com/zh/document/product/266/14666#87e472ca-9c95-4658-ab7b-8f2130608419
// - 计费补充文档(最新单价): https://doc.weixin.qq.com/sheet/e3_AG0ALgbHACcCNNZhi1wsiRsS03lPl?scode=AJEAIQdfAAoqRYCNaQAMkAoQZ9ACc&tab=kzcknp
func createAigcCustomElement(client *vod.Client, subAppId uint64) (string, error) {
request := vod.NewCreateAigcCustomElementRequest()
request.SubAppId = common.Uint64Ptr(subAppId) // 必填:子应用 ID
// 根据文档填写其他参数
response, err := client.CreateAigcCustomElement(request)
if _, ok := err.(*errors.TencentCloudSDKError); ok {
return "", fmt.Errorf("SDK 错误: %s", err)
}
taskId := *response.Response.TaskId
fmt.Printf("自定义主体已创建,TaskId: %sn", taskId)
return taskId, nil
}
// queryTaskStatus 轮询查询任务状态,间隔 5 秒以上
// 文档:https://cloud.tencent.com/document/product/266/33431
func queryTaskStatus(client *vod.Client, taskId string, subAppId uint64) {
for {
request := vod.NewDescribeTaskDetailRequest()
request.TaskId = common.StringPtr(taskId)
request.SubAppId = common.Uint64Ptr(subAppId) // 必填:子应用 ID
response, err := client.DescribeTaskDetail(request)
if _, ok := err.(*errors.TencentCloudSDKError); ok {
fmt.Printf("SDK 错误: %sn", err)
return
}
status := *response.Response.Status
fmt.Printf("任务状态: %sn", status)
if status == "FINISH" || status == "FAIL" {
break
}
// 建议间隔 5 秒以上
time.Sleep(5 * time.Second)
}
}
func main() {
// 密钥申请文档:https://cloud.tencent.com/document/api/266/31757
cred := common.NewCredential(
os.Getenv("TENCENTCLOUD_SECRET_ID"),
os.Getenv("TENCENTCLOUD_SECRET_KEY"),
)
// 子应用 ID,在腾讯云点播控制台获取
// 如需创建子应用:https://cloud.tencent.com/document/api/266/43744
subAppIdStr := os.Getenv("VOD_SUB_APP_ID")
subAppId, _ := strconv.ParseUint(subAppIdStr, 10, 64)
client, _ := vod.NewClient(cred, "", nil)
// 示例:生图并查询结果
// taskId, _ := createAigcImageTask(client, subAppId)
// queryTaskStatus(client, taskId, subAppId)
// 示例:生视频并查询结果
// taskId, _ := createAigcVideoTask(client, subAppId)
// queryTaskStatus(client, taskId, subAppId)
// 示例:创建自定义主体
// taskId, _ := createAigcCustomElement(client, subAppId)
// queryTaskStatus(client, taskId, subAppId)
_ = client
_ = subAppId
}
如果用户不想轮询查询,可以使用回调事件来获取任务结果:
建议:
CreateAigcImageTaskRequest、CreateAigcCustomElementRequest 等):SDK 版本较旧,执行 pip3 install --upgrade tencentcloud-sdk-python 升级相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章