提交首尾帧生视频任务
1. 接口地址
https://www.hidreamai.com/api-pub/gw/v3/video/keyframe2video/async
2. 请求方式
POST
3. 请求参数
Header
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
Authorization | string | 是 | 客户授权Token |
Content-Type | string | 是 | 使用json传参 |
API-User-ID | string | 否 | 用户唯一标识 |
Body
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
images | list | 是 | 生成视频的参考图(首帧图、尾帧图),支持传入图片URL或者Base64 |
prompt | string | 否 | 生成视频的提示词, 默认为"" |
negative_prompt | string | 否 | 禁止生成的提示词,默认为"" |
version | string | 否 | 模型版本,默认为"v1.0-standard",可选范围为{"v1.0-standard"} |
resolution | string | 否 | 分辨率,v1.0-standard版本可选范围为{"keep"} |
duration | int | 否 | 生成视频的时长(以秒为单位), 默认为5,可选范围为 {5, 10} |
request_id | string | 否 | 请求的ID,默认为"" |
notify_url | string | 否 | 任务完成回调通知接口(需公网能访问),请求参数与task result 一致。如需使用回调功能,请联系我们开通白名单后方可生效。 |
curl示例
curl -H 'Authorization: Bearer {USER_Authorization}' -H 'Content-Type: application/json' -X POST -d '{
"images": ["https://storage.hidreamai.com/image/p_4046e8be-7f61-46f3-9380-5ad879685348.png", "https://storage.hidreamai.com/image/p_e6368dac-18ef-4834-b368-13ac4a96c034.png"],
"version": "v1.0-standard",
"resolution": "keep",
"request_id": "8b533fd0-32e4-48c2-9173-782f330810e1",
"notify_url": "https://{replace me}/api/callback"
}' -v 'https://www.hidreamai.com/api-pub/gw/v3/video/keyframe2video/async'
Python示例
import requests
import json
import uuid
USER_Authorization = <token>
# 请求头
headers = {
'Authorization': f'Bearer {USER_Authorization}',
'Content-Type': 'application/json',
'API-User-ID': '' # 可选的用户唯一标识
}
# 请求体参数
data = {
"images": ["https://storage.hidreamai.com/image/p_4046e8be-7f61-46f3-9380-5ad879685348.png", "https://storage.hidreamai.com/image/p_e6368dac-18ef-4834-b368-13ac4a96c034.png"], # 必要参数
"prompt": "以第一张图为首帧、第二张图为尾帧生成视频。主体身份与结构保持一致,背景产生轻微视差与光照渐变;通过连贯形变完成从首帧到尾帧的演化。镜头稳定,轻微的推进/偏移增强空间感。要求时间一致性强、无闪烁、无鬼影/重影、无突然跳变、边缘稳定、颜色与风格在两张图之间平滑匹配,节奏采用 ease-in / ease-out,整体观感自然、电影感平滑过渡",
"version": "v1.0-standard",
"resolution": "keep",
"request_id": str(uuid.uuid4())
}
# 发送POST请求
url = 'https://www.hidreamai.com/api-pub/gw/v3/video/keyframe2video/async'
response = requests.post(url, headers=headers, data=json.dumps(data))
# 处理响应
if response.status_code == 200:
if response.json()['code'] == 0:
task_id = response.json()['result']['task_id']
print(task_id)
else:
print(response.json()['message'])
else:
print(response.status_code)
4. 返回参数
参数 | 类型 | 说明 |
---|---|---|
code | int | 返回状态码 |
message | string | 返回状态信息 |
request_id | string | 本次请求的ID |
result | dict | 返回结果 |
其中返回结果 result
字段具体为:
参数 | 类型 | 说明 |
---|---|---|
task_id | string | 返回任务ID |
sub_task_ids | list | 返回子任务ID的列表,子任务定义为生成单张图片的任务 |
示例:
{
"code": 0,
"message": "Success",
"request_id": "8b533fd0-32e4-48c2-9173-782f330810e1",
"result": {
"sub_task_ids": [
"8d3d9e0e-f1a8-455e-8a06-8db369fc9511"
],
"task_id": "3d0e52d1-aeda-4182-805f-417de0d0ba57"
}
}