外观
姿势生图
上传一张人脸照片,配合一个姿势(官方模板、你的自定义姿势,或直接写提示词),生成该人物的姿势照片。任务异步执行,通常 15~60 秒完成。
创建任务
http
POST /v1/images/pose| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
template_id | string | 二选一 | 模板 ID(见下方「模板列表」),或你自己的自定义姿势 ID(upose_ 开头,见「自定义姿势」) |
prompt | string | 二选一 | 直接指定姿势提示词(一次性,不保存)。与 template_id 二选一;都传时以 template_id 为准 |
work_type | int | 否 | 生图引擎,仅在用 prompt 时生效(用 template_id 时引擎由模板决定):2=Qwen(默认)、3=Flux |
image | string | 是 | 人脸照片:图片 URL,或 base64(可带 data:image/jpeg;base64, 前缀)。最大 10MB |
max_side | int | 否 | 保持原图比例,指定最长边像素。范围 512–2048,超出会被夹到区间 |
width | int | 否 | 自定义输出宽度,需与 height 同时传。范围 512–2048 |
height | int | 否 | 自定义输出高度,需与 width 同时传。范围 512–2048 |
webhook_url | string | 否 | 任务结束后的推送地址 |
请求头 Idempotency-Key(可选):你的业务 ID,同一功能内不重复,会在结果中原样返回。
姿势来源
template_id 与 prompt 二选一(都传时以 template_id 为准):
- 用模板 / 自定义姿势:传
template_id。可以是官方模板 ID,或你自己保存的自定义姿势 ID(upose_开头,见「自定义姿势」)。引擎由该模板决定,work_type被忽略。 - 直接写提示词:传
prompt,一次性使用、不保存。用work_type选引擎(2=Qwen 默认、3=Flux)。想反复使用同一段提示词,建议存成自定义姿势。
jsonc
// 用官方模板
{ "template_id": "pose_office", "image": "https://example.com/face.jpg" }
// 用自己的自定义姿势
{ "template_id": "upose_xxx", "image": "https://example.com/face.jpg" }
// 直接写提示词,指定 Flux 引擎
{ "prompt": "站在城市天台,穿风衣,回眸微笑,全身,日落光线,高清写实", "work_type": 3, "image": "https://example.com/face.jpg" }分辨率
不传任何分辨率参数时,使用模板工作流的预设分辨率。要指定输出尺寸,二选一:
- 保持比例:只传
max_side,按原图长宽比缩放,使最长边等于该值。 - 自定义尺寸:同时传
width和height,输出固定为该宽高。
约束:每边 512–2048,会自动向下取整到 8 的倍数;总像素上限约 3.1MP(约 1536×2048),超出会按比例缩小。同时传了 max_side 与 width/height 时,以 max_side 为准。分辨率参数对 Qwen、Flux 引擎的模板生效(SD 模板忽略)。
jsonc
// 保持比例,最长边 1280
{ "template_id": "pose_office", "image": "https://example.com/face.jpg", "max_side": 1280 }
// 自定义尺寸 832×1216(竖版)
{ "template_id": "pose_office", "image": "https://example.com/face.jpg", "width": 832, "height": 1216 }照片要求:
- 正脸、五官清晰,画面中最好只有一个人。
- 未检测到清晰人脸,或疑似未成年人,会返回
422 input_rejected。
示例
bash
curl -X POST https://api.modelgo.moneygo.ai/v1/images/pose \
-H "Authorization: Bearer sk-你的Key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order_10086" \
-d '{
"template_id": "pose_office",
"image": "https://example.com/face.jpg"
}'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/images/pose",
headers={"Authorization": "Bearer sk-你的Key", "Idempotency-Key": "order_10086"},
json={"template_id": "pose_office", "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/images/pose', {
method: 'POST',
headers: { 'Authorization': 'Bearer sk-你的Key', 'Content-Type': 'application/json', 'Idempotency-Key': 'order_10086' },
body: JSON.stringify({ template_id: 'pose_office', image }),
})
console.log(await res.json())返回
json
{
"id": "task_3kP9xQ2mZ7aB1cD4eF6gH8jK",
"object": "task",
"capability": "image.pose",
"status": "queued",
"template_id": "pose_office",
"cost": 30,
"output": null,
"error": null,
"created_at": "2026-09-17T08:00:00.000Z",
"started_at": null,
"finished_at": null
}然后通过 Webhook 回调或任务查询获取结果。成功时 output.images 为结果图片地址。
模板列表
http
GET /v1/templates?capability=image.posejson
{
"data": [
{
"id": "pose_office",
"capability": "image.pose",
"name": "办公室",
"description": "职业装,办公室场景",
"price": 30,
"cover_url": "https://cdn.example.com/covers/office.jpg"
}
]
}模板会不定期增减,建议定期同步,不要写死模板 ID。
自定义姿势
除了官方模板,你可以用自己的提示词生成姿势,两种方式:
- 一次性:创建任务时直接传
prompt(不保存),见上方参数表。 - 保存复用:把提示词保存成一个私有姿势,拿到
upose_开头的 ID,之后当作template_id使用。
自定义姿势是私有的,只有你自己能看到和使用。计费与官方模板一致(按引擎默认价扣费)。
| 方法 | 说明 |
|---|---|
POST /v1/poses | 创建。Body:{ name, prompt, work_type? }(work_type 2=Qwen 默认、3=Flux)。返回含 id(upose_...) |
GET /v1/poses | 我的自定义姿势列表 |
PATCH /v1/poses/{id} | 修改 name / prompt |
DELETE /v1/poses/{id} | 删除 |
bash
# 1. 保存一个姿势
curl -X POST https://api.modelgo.moneygo.ai/v1/poses \
-H "Authorization: Bearer sk-你的Key" -H "Content-Type: application/json" \
-d '{ "name": "城市天台回眸", "prompt": "站在城市天台,穿风衣,回眸微笑,全身,日落光线,高清写实" }'
# → { "id": "upose_xxx", ... }
# 2. 用它生成(和官方模板一样)
curl -X POST https://api.modelgo.moneygo.ai/v1/images/pose \
-H "Authorization: Bearer sk-你的Key" -H "Content-Type: application/json" \
-d '{ "template_id": "upose_xxx", "image": "https://example.com/face.jpg" }'