图片转 Live Photo
让静态照片动起来:生成一段约 4 秒的短视频,画面中该动的东西(水面、树影、云雾、人物的呼吸与眨眼等) 会按内容自然运动,并带轻微的镜头运动,像是在现场拍下的一小段影像。
交付格式有两档,由 output_format 选择:默认交付 MP4 视频;也可交付 安卓动态照片(单个 .jpg 文件,
静图末尾内嵌该视频,支持该标准的安卓相册里长按即播)。两档同价。
说明:输出为标准画幅,与原图比例可能不完全一致;产物为无声视频。
示例效果
处理前

处理后
创建任务
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /task/image_to_live |
| Content-Type | application/json |
| 鉴权方式 | Authorization 请求头(直接传 API Key) |
请求参数(Body)
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
file_id | string | 是 | — | 已上传图片文件的 ID |
output_format | string | 否 | mp4 | 交付格式。mp4 = 约 4 秒的短视频;motion_photo = 安卓动态照片(单个 .jpg,另附视频本体)。详见产物规格 |
请求示例
curl -X POST https://api.ai-mcn.tv:10000/task/image_to_live \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file_id": "537489015178246"}'
交付安卓动态照片:
curl -X POST https://api.ai-mcn.tv:10000/task/image_to_live \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file_id": "537489015178246", "output_format": "motion_photo"}'
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"task_type": "image_to_live",
"status": "queued"
}
}
查询任务结果
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /task/image_to_live/{task_id} |
| 鉴权方式 | Authorization 请求头(直接传 API Key) |
响应参数(output_result)
| 参数名 | 类型 | 说明 |
|---|---|---|
file_id | string | 主产物文件 ID。output_format=mp4 时为视频,output_format=motion_photo 时为动态照片(.jpg) |
download_url | string | 主产物下载路径 |
video_file_id | string | 视频本体文件 ID(仅 output_format=motion_photo 时返回) |
video_download_url | string | 视频本体下载路径(仅 output_format=motion_photo 时返回) |
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"status": "completed",
"progress": 100,
"output_result": {
"file_id": "537489015178248",
"download_url": "/download/a1/output.mp4"
},
"create_time": "2026-04-05T08:00:00Z",
"update_time": "2026-04-05T08:00:30Z"
}
}
output_format=motion_photo 时,主产物为动态照片,视频本体一并返回:
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"status": "completed",
"progress": 100,
"output_result": {
"file_id": "537489015178248",
"download_url": "/download/a1/output.jpg",
"video_file_id": "537489015178249",
"video_download_url": "/download/a1/output.mp4"
},
"create_time": "2026-04-05T08:00:00Z",
"update_time": "2026-04-05T08:00:30Z"
}
}
产物规格
| 项目 | 说明 |
|---|---|
| 容器 / 编码 | MP4(H.264) |
| 时长 | 约 4.5 秒 |
| 帧率 | 24 fps |
| 音轨 | 无(产物为无声视频) |
| 分辨率 | 720P 档,按输入图片的画幅自动选择,见下表 |
| 文件大小 | 通常 1–4 MB,随画面复杂度浮动 |
输出画幅
系统会读取输入图片的宽高比,自动匹配最接近的标准画幅后生成:
| 输入图片比例 | 输出尺寸 |
|---|---|
| 16:9(横向) | 1280 × 736 |
| 4:3(横向) | 1280 × 960 |
| 3:4(竖向) | 736 × 1280 |
| 1:1(方形) | 按方形档输出 |
注意:输出采用标准画幅,与原图比例可能不完全一致,画面边缘可能有轻微裁切。竖向图片尤其明显——3:4 的原图会输出为更狭长的竖向视频,左右两侧会被裁掉一部分。对构图敏感的场景,建议先用「图片比例转换」把原图调整到目标画幅,再提交本接口。
安卓动态照片(output_format=motion_photo)
主产物是单个 .jpg 文件:静图末尾原样内嵌上面那段视频,位置由图片内的元数据声明。它同时是一张
普通图片——任何看图工具都能正常打开,支持该标准的安卓相册则会把它识别为动态照片、长按播放。
| 项目 | 说明 |
|---|---|
| 容器 | JPEG(静图 + 内嵌 MP4,单文件) |
| 静图 | 保留原图分辨率,按视频画幅居中裁切(保证静图与动图构图一致) |
| 内嵌视频 | 与 output_format=mp4 的产物逐字节相同,不做任何二次编码 |
| 文件大小 | 通常 5–10 MB(静图 + 视频之和) |
| 附带产物 | 视频本体同时以 video_file_id / video_download_url 返回,可单独下载 |
兼容边界(请务必在接入前确认目标场景):
- 安卓:Pixel、小米、三星等支持该标准的机型相册可识别并播放。
- iOS:苹果使用另一套格式(Live Photo 为 HEIC + MOV 配对),因此不识别本产物,在 iOS 上表现为普通静态图片(可正常查看,不会报错)。
- 少数机型:厂商实现存在差异,个别机型可能仅显示为静态图片。
画面表现
- 画面中该动的元素会按内容自然运动:水面波纹、随风摇动的枝叶、飘动的云雾、行进中的车流人流、升腾的热气、人物自然的呼吸与眨眼等。
- 镜头会有轻微的运动(缓慢推近、轻微平移或手持般的细微晃动),观感接近在现场拍下的一小段影像,而非完全静止的画面。
- 主体的长相、姿态、服装与整体构图保持与原图一致,不会新增或删除人物与物件。
处理时长
单次任务通常需要 6–9 分钟(含排队)。任务为异步执行,提交后请通过查询接口轮询 status,不要同步等待。
使用建议
- 输入图片:支持 jpg / jpeg / png / bmp / webp。建议使用主体清晰、构图完整的照片;画面中有水面、植被、云雾、人流等元素时,动态效果更自然。
- 重新生成:同一张图片多次提交会得到不同的结果,对效果不满意可重新提交。
- 计费:按次计费,与产物时长无关。实际价格以价格说明为准。
错误码
| 错误码 | HTTP 状态码 | 说明 | 解决方案 |
|---|---|---|---|
6013 | 400 | file_id 缺失 | 传入 file_id 参数 |
6016 | 400 | output_format 取值非法 | 只能取 mp4 或 motion_photo |
6014 | 400 | 文件类型与接口不匹配 | 传入图片文件 |
6004 | 404 | 文件不存在 | 检查 file_id 是否正确 |
6502 | 401 | 鉴权失败 | 检查 Authorization 请求头 |
6202 | 402 | 余额不足 | 前往仪表盘充值 |