Install
openclaw skills install hunyuan-video腾讯混元生视频API - 支持文生视频、图生视频、视频风格化
openclaw skills install hunyuan-video基于腾讯混元大模型的视频生成服务,支持文生视频、图生视频、视频风格化三大核心功能。
| 功能 | 命令 | 说明 |
|---|---|---|
| 🎬 文生视频 | text2video | 文本描述生成视频 |
| 🖼️ 图生视频 | image2video | 图片生成视频(支持URL或本地文件) |
| 🎨 视频风格化 | stylization | 视频转2D动漫/3D卡通等风格 |
pip install tencentcloud-sdk-python
需要的环境变量:
TENCENT_SECRET_ID - 腾讯云SecretIdTENCENT_SECRET_KEY - 腾讯云SecretKey# Windows PowerShell - 永久设置
[Environment]::SetEnvironmentVariable("TENCENT_SECRET_ID", "your-secret-id", "User")
[Environment]::SetEnvironmentVariable("TENCENT_SECRET_KEY", "your-secret-key", "User")
# 或临时设置(当前会话)
$env:TENCENT_SECRET_ID = "your-secret-id"
$env:TENCENT_SECRET_KEY = "your-secret-key"
获取密钥步骤:
# 检查环境变量
Write-Host "SecretId: $env:TENCENT_SECRET_ID"
Write-Host "SecretKey: $($env:TENCENT_SECRET_KEY.Substring(0,10))..."
# 测试生成
python scripts/generate.py text2video "一只小猫"
python scripts/generate.py text2video "一只可爱的小猪在草地上奔跑"
# 指定分辨率
python scripts/generate.py text2video "小猪" --resolution 1080p
参数:
prompt: 文本描述(必填)--resolution: 分辨率(720p, 1080p,默认720p)# 使用图片URL
python scripts/generate.py image2video "https://example.com/pig.jpg"
# 使用本地图片
python scripts/generate.py image2video "./pig.png"
# 添加辅助描述
python scripts/generate.py image2video "./pig.png" --prompt "小猪在奔跑"
参数:
image: 图片URL或本地路径(必填)--prompt: 辅助描述(可选)支持格式:
http:// 或 https:// 开头# 转为2D动漫风格
python scripts/generate.py stylization "https://example.com/video.mp4" --style 2d_anime
# 转为3D卡通风格
python scripts/generate.py stylization "https://example.com/video.mp4" --style 3d_cartoon
风格选项:
2d_anime: 2D动漫3d_cartoon: 3D卡通3d_china: 3D国潮pixel_art: 像素风输入视频要求:
生成的视频保存在 {output}/{date}/{job_id}/ 目录下:
{command}_result.mp4 - 生成的视频info.json - 任务信息问题:不同接口返回的状态字段和成功值不一致!
| 接口 | 状态字段 | 成功值 |
|---|---|---|
| 文生视频 | Status | DONE |
| 图生视频 | Status | DONE |
| 视频风格化 | JobStatusCode | 4 或 5+ResultDetails:Success |
解决方案:
# 统一处理多种状态
success_statuses = ["JobSuccess", "SUCCESS", "DONE"]
if status in success_statuses:
print("✅ 生成完成!")
问题:Image 参数不是字符串,而是对象类型!
错误代码:
# ❌ 错误
req.Image = image_url # 直接赋值字符串
# ✅ 正确
image = models.Image()
image.Url = image_url # 或 image.Base64 = base64_data
req.Image = image
经验:SDK中对象类型的参数需要创建对应的对象实例。
实现方式:读取本地文件转为base64编码
if image_input.startswith('http'):
image.Url = image_input
elif os.path.exists(image_input):
with open(image_input, 'rb') as f:
image.Base64 = base64.b64encode(f.read()).decode('utf-8')
好处:用户可以直接使用本地图片,无需先上传。
观察:
建议:设置合理的超时时间(默认600秒),并显示进度点让用户知道正在处理。
问题:风格化接口返回 JobStatusCode: 5 但实际可能是成功!
原因:StatusCode: 5 + ResultDetails: ["Success"] = 实际成功
解决方案:
if status == "4" or (status == "5" and result.get("ResultDetails") == ["Success"]):
print("✅ 实际生成成功!")
问题:下载视频时可能遇到SSL验证错误
解决方案:临时禁用SSL验证(仅用于下载)
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
限制:
建议:顺序执行,等待前一个任务完成再提交下一个。
注意:任务结果URL有效期为48小时,请及时下载。
# 示例1:文生视频
python scripts/generate.py text2video "一只可爱的小猪在草地上奔跑,阳光明媚"
# 示例2:图生视频(本地图片)
python scripts/generate.py image2video "./my_pig.png" --prompt "小猪在奔跑"
# 示例3:视频风格化
python scripts/generate.py stylization "https://example.com/video.mp4" --style 2d_anime
ap-guangzhou如果遇到问题:
echo $env:TENCENT_SECRET_IDRequestId 联系客服开发经验:在实现过程中发现SDK参数类型和文档描述可能存在差异,建议通过实际测试验证参数格式。图生视频的Image参数是一个典型的对象类型参数陷阱,需要特别注意。