1简介
1.1服务能力简介
只需输入一张图片(首帧或尾帧)或两张图片(首尾帧),天幕AI即刻生成5秒动态视频! 想精准控制画面效果?输入图片+文本描述,即可定义主体运动轨迹与背景动态演化。我们提供标准(720P)与高清(1080P)两档模式,全面覆盖短视频创作、影视预演、广告特效等场景。通过首帧锚定起点、首尾帧定义关键动作,结合物理引擎模拟真实运动(重力/流体/碰撞)与电影级运镜(推拉摇移/环绕),带大家将静态图像转化为空间纵深的动态画面,大幅降低专业视频创作门槛!
1.2效果展示
输入图片 |
prompt |
输出视频 |
|
猫咪可爱疑惑的表情 |
2Prompt engine
以上公式最核心的构成是主体和运动,与文生视频不同,图生视频已经有了场景,因此只需要描述图像中的主体与希望主体实现的运动,如果涉及多个主体的多个运动,依次列举即可,「万兴天幕AI」会根据我们的表达与对图像画面的理解进行提示词扩写,生成符合预期的视频。
如果想要 “让画中的女孩戴上耳机”,当我们只输入“戴耳机”时,模型较难理解指令,因此更可能通过自己的判断进行视频生成,当「天幕AI」判断这是一幅画时,会更可能生成具有运镜的效果的画幅展览,这也是照片类的图片容易生成静止不动视频的原因(不要上传带有相框的图片)。因此,我们需要通过描述“主体+运动"来让模型理解指令,如“维米尔画作《戴珍珠耳环的少女》突然转头,右手拿起无线耳机戴在耳朵上”,或者对于多主体"戴珍珠耳环的少女右手拿起无线耳机戴在耳朵上,珍珠耳环微微晃动”,模型会更容易响应。
提示词=主主体+运动,背景+运动
|
一些tips
-
尽量使用简单词语和句子结构,避免使用过于复杂的语言;
-
运动符合物理规律,尽量用图片中可能发生的运动描述;
-
描述与图片相差较大,可能会引起镜头切换;
-
现阶段较难生成复杂的物理运动,比如球类的弹跳、高空抛物等;
3API接入
3.1请求地址
https://open-api.wondershare.cc/v1/ai/capacity/application/tm_img2video
3.2请求参数
Header:
参数名称 |
参数值 |
是否必须 |
示例 |
备注 |
Content-Type |
application/json |
是 |
|
|
X-Prod-Id |
|
是 |
|
产品id |
X-User-Id |
|
是 |
|
用户wsid |
Body:
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
prompt |
string |
必须 |
|
提示词 支持中英文 建议:需要有主体+动作+镜头说明 |
|
camera_move_index |
integer |
非必须 |
|
运镜控制类型 1: "orbit", 2: "spin", 3: "pan left", 4: "pan right", 5: "tilt up", 6: "tilt down", 7: "push in", 8: "pull out", 9: "static", 10: "tracking", 11: "others", 12: "object pov", 13: "super dolly in", 14: "super dolly out", 15: "snorricam", 16: "head tracking", 17: "car grip", 18: "screen transition", 19: "car chasing", 20: "fisheye", 21: "FPV drone", 22: "crane over the head", 23: "timelapse landscape", 24: "dolly in", 25: "dolly out", 26: "zoom in", 27: "zoom out", 28: "full shot", 29: "close-up shot", 30: "extreme close-up", 31: "Macro shot", 32: "bird's-eye view", 33: "rule of thirds", 34: "symmetrical composition", |
|
image_info |
object |
必须 |
|
首帧信息 |
备注: 首帧信息 |
image_tail_info |
object |
非必须 |
|
尾帧信息 |
备注: 尾帧信息 |
resolution |
string |
非必须 |
|
分辨率: 只支持 720p、1080p 不传默认值是720p |
|
duration |
integer |
非必须 |
|
生成视频时长(单位秒),可选值:5 不传默认值是5 |
|
aspect_ratio |
string |
非必须 |
|
生成的视频宽高比取值枚举,可选值:16:9、9:16、4:3、3:4、1:1、original (输入输出保持一致,输入图片和输出视频长宽比一致不会裁剪。不一致算法会裁剪,可能会跟预期结果不符) 不传默认值是16:9 |
|
wsid |
integer |
必须 |
|
用户id |
|
callback |
string |
非必须 |
|
回调地址 |
|
params |
string |
非必须 |
|
透明参数 |
|
priority |
integer |
非必须 |
|
优先级 |
|
units_value |
integer |
必须 |
|
积分扣除单元 例如:如果需要用图片字段扣积分,那就是图片的张数 |
|
drive |
string |
非必须 |
|
如果输出的图片、视频等数据用云存储输出,此字段必填,json字符串类型 示例如下: { "space_id": 11111, // 云存储空间id "file_dest_path": "/path/sss", // 云存储存储路径(目录) "file_tag": // 文件标签 [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" } ] } 此字段不传,video_path则为可下载url |
|
traffic_type |
integer |
非必须 |
|
是否是闲时流量 0:正常流量 1:闲时流量 |
|
返回数据:
名称 |
类型 |
是否必须 |
默认值 |
备注 |
其他信息 |
code |
integer |
必须 |
|
错误码 |
|
msg |
string |
必须 |
|
错误文案 |
|
data |
object |
非必须 |
|
|
备注: |
task_id |
string |
非必须 |
|
任务id |
|
3.3返回数据
{
"code": 0,
"msg": "success",
"data": {
"task_id": "sky_img2video-0-202410098a764dafa0445d33ded5a532",
"wsid": 0,
"priority": 1,
"status": 3,
"reason": "success",
"progress": 1,
"position": -1,
"wait_time": 91,
"params": "tongyiemo",
"result":"{\"video_path\":[\"fileId\"]}"
}
}
3.4完整示例
curl --location 'https://open-api.wondershare.cc/v1/ai/capacity/application/tm_img2video' \
--header 'X-Prod-Id: 14958' \
--header 'X-User-Id: 578608264' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YzRiYTdkMzNhNDViM2IzNDZlOWRkN2RkNjA5MGQ1MjY6YWE3NDY5ZGUxZDI0NGQ1ZTgwM2VhNTYxZjEyZDQ5Y2Q=' \
--data '{
"prompt": "跳舞",
"image_info": {
"image": "url",
"size": 9
},
"image_tail_info": {
"image_tail": "url",
"size": 9
},
"resolution": "1080p",
"duration": 5,
"aspect_ratio": "16:9",
"wsid": 578608264,
"params": "dasdfasdf",
"callback": "http://www.baidu.com",
"units_value": 1
}'