Skip to content

姿势生图

上传一张人脸照片,配合一个姿势(官方模板、你的自定义姿势,或直接写提示词),生成该人物的姿势照片。任务异步执行,通常 15~60 秒完成。

创建任务

http
POST /v1/images/pose
参数类型必填说明
template_idstring二选一模板 ID(见下方「模板列表」),或你自己的自定义姿势 ID(upose_ 开头,见「自定义姿势」)
promptstring二选一直接指定姿势提示词(一次性,不保存)。与 template_id 二选一;都传时以 template_id 为准
work_typeint生图引擎,仅在用 prompt 时生效(用 template_id 时引擎由模板决定):2=Qwen(默认)、3=Flux
imagestring人脸照片:图片 URL,或 base64(可带 data:image/jpeg;base64, 前缀)。最大 10MB
max_sideint保持原图比例,指定最长边像素。范围 512–2048,超出会被夹到区间
widthint自定义输出宽度,需与 height 同时传。范围 512–2048
heightint自定义输出高度,需与 width 同时传。范围 512–2048
webhook_urlstring任务结束后的推送地址

请求头 Idempotency-Key(可选):你的业务 ID,同一功能内不重复,会在结果中原样返回。

姿势来源

template_idprompt 二选一(都传时以 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,按原图长宽比缩放,使最长边等于该值。
  • 自定义尺寸:同时传 widthheight,输出固定为该宽高。

约束:每边 512–2048,会自动向下取整到 8 的倍数;总像素上限约 3.1MP(约 1536×2048),超出会按比例缩小。同时传了 max_sidewidth/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.pose
json
{
  "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)。返回含 idupose_...
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" }'