外观
视频姿势
上传一张人物照片,配合一个视频姿势(官方模板、你的自定义视频姿势,或直接指定首帧图片姿势),生成该人物的姿势视频。任务异步执行,通常需要一到几分钟。
创建任务
http
POST /v1/videos/pose| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
template_id | string | 二选一 | 模板 ID(见「模板列表」),或你自己的自定义视频姿势 ID(uvpose_ 开头,见「自定义视频姿势」) |
imgpose_id | string | 二选一 | 直接指定首帧图片姿势 ID(官方 pose_ 或你的 upose_),一次性、不保存。与 template_id 二选一,都传时以 template_id 为准 |
work_type | int | 否 | 视频引擎,仅在用 imgpose_id 时生效:1=Wan2.2(固定 5 秒)、2=LTX(默认,可调时长) |
prompt | string | 否 | 视频运动/场景提示词,仅在用 imgpose_id 时生效 |
image | string | 是 | 人物照片:图片 URL,或 base64(可带 data:image/jpeg;base64, 前缀)。最大 10MB |
duration | integer | 否 | 视频时长(秒)。仅对可调时长模板(duration_adjustable: true)生效,范围为模板的 min_duration–max_duration;固定时长模板会忽略此参数。见计费与点数 |
webhook_url | string | 否 | 任务结束后的推送地址 |
价格随模板与 duration 变化,任务对象的 cost 字段为本次扣除的点数,详见计费与点数。
请求头 Idempotency-Key(可选):你的业务 ID,同一功能内不重复,会在结果中原样返回。
照片要求:
- 正脸、五官清晰,画面中最好只有一个人。
- 未检测到清晰人脸,或疑似未成年人,会返回
422 input_rejected。
示例
bash
curl -X POST https://api.modelgo.moneygo.ai/v1/videos/pose \
-H "Authorization: Bearer sk-你的Key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order_10086" \
-d '{
"template_id": "video_dance",
"image": "https://example.com/face.jpg",
"webhook_url": "https://your-server.com/webhook"
}'python
import base64
import requests
with open("face.jpg", "rb") as f:
image = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
res = requests.post(
"https://api.modelgo.moneygo.ai/v1/videos/pose",
headers={"Authorization": "Bearer sk-你的Key", "Idempotency-Key": "order_10086"},
json={"template_id": "video_dance", "image": image},
timeout=60,
)
print(res.json())js
import { readFile } from 'node:fs/promises'
const image = 'data:image/jpeg;base64,' + (await readFile('face.jpg')).toString('base64')
const res = await fetch('https://api.modelgo.moneygo.ai/v1/videos/pose', {
method: 'POST',
headers: { 'Authorization': 'Bearer sk-你的Key', 'Content-Type': 'application/json', 'Idempotency-Key': 'order_10086' },
body: JSON.stringify({ template_id: 'video_dance', image }),
})
console.log(await res.json())返回
json
{
"id": "task_3kP9xQ2mZ7aB1cD4eF6gH8jK",
"object": "task",
"capability": "video.pose",
"status": "queued",
"template_id": "video_dance",
"cost": 140,
"output": null,
"error": null,
"created_at": "2026-09-17T08:00:00.000Z",
"started_at": null,
"finished_at": null
}然后通过 Webhook 回调或任务查询获取结果。成功时 output.images 为结果视频地址(.mp4)。
TIP
结果字段名沿用 output.images,与姿势生图一致;视频能力下该数组里是视频地址。
模板列表
http
GET /v1/templates?capability=video.posejson
{
"data": [
{
"id": "video_dance",
"capability": "video.pose",
"name": "跳舞",
"description": "",
"price": 100,
"duration_adjustable": true,
"min_duration": 5,
"max_duration": 15,
"duration_prices": { "5": 100, "6": 120, "7": 130, "8": 140 },
"cover_url": "https://cdn.example.com/covers/dance.jpg"
}
]
}模板会不定期增减,建议定期同步,不要写死模板 ID。price、duration 与计价规则见计费与点数。
自定义视频姿势
你可以用一张图片姿势作首帧,配合视频引擎生成自己的视频姿势——分两种方式:
- 一次性:创建任务时直接传
imgpose_id(+ 可选work_type/prompt/duration),不保存。 - 保存复用:把"首帧图片姿势 + 视频设置"保存成私有视频姿势,拿到
uvpose_ID,之后当作template_id使用。
首帧的 imgpose_id 可以是官方图片模板(pose_)或你自己的自定义图片姿势(upose_)。生成时先用它把你的照片生成首帧姿势图,再据此生成视频。计费与官方视频模板一致(按引擎默认价,LTX 按秒)。自定义视频姿势不含 LoRA,动作主要由引擎与提示词驱动。
| 方法 | 说明 |
|---|---|
POST /v1/video-poses | 创建。Body:{ name, imgpose_id, work_type?, prompt?, work_duration?, cover_url? }。返回含 id(uvpose_...) |
GET /v1/video-poses | 我的自定义视频姿势列表 |
PATCH /v1/video-poses/{id} | 修改 |
DELETE /v1/video-poses/{id} | 删除 |
bash
# 1. 保存一个视频姿势(首帧用官方图片姿势 pose_office,LTX,默认 5 秒)
curl -X POST https://api.modelgo.moneygo.ai/v1/video-poses \
-H "Authorization: Bearer sk-你的Key" -H "Content-Type: application/json" \
-d '{ "name": "办公室转身", "imgpose_id": "pose_office", "work_type": 2, "prompt": "缓慢转身", "work_duration": 5 }'
# → { "id": "uvpose_xxx", ... }
# 2. 用它生成(和官方模板一样)
curl -X POST https://api.modelgo.moneygo.ai/v1/videos/pose \
-H "Authorization: Bearer sk-你的Key" -H "Content-Type: application/json" \
-d '{ "template_id": "uvpose_xxx", "image": "https://example.com/face.jpg", "duration": 5 }'