两张图各自放对字段,接入就有了清楚的起点。人物照放到 person_image_url,服装图放到 product_image_url;把人物照填进服装字段,会改变任务的输入含义。
TL;DR
Google Virtual Try-On 每张 $0.1075;查看价格和预算。使用 HiAPI /v1/tasks 接口:提交任务拿 taskId,再查询结果。无需提示词。
输入准备与字段
选一张单人正面照,尽量让身体轮廓清楚;服装使用背景干净、边缘完整的平铺图或悬挂图。下面示例中的两个永久图片地址分别对应人物 A 和红白条纹 T 恤,可替换成你自己的公开图片地址。
| 字段 | 填写方式 |
|---|---|
person_image_url | 必填;人物照片的公开 HTTP(S) URL |
product_image_url | 必填;服装商品图的公开 HTTP(S) URL |
num_images | 整数;显式填 1,当前只支持一张 |
提交任务:cURL
下面是 Bash/cURL 示例。先在运行环境配置 HIAPI_API_KEY;请求中的图片 URL 可以替换,密钥保留在服务端环境中。
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google-virtual-try-on",
"input": {
"person_image_url": "https://static.hiapi.ai/gallery/2026/10/9f656c8b6ecf94d5.webp",
"product_image_url": "https://static.hiapi.ai/model-covers/2026/10/22/1792660602486-b5b70d2cfdd8dc95-1792152569828-b5b70d2cfdd8dc95-t-g1-0.webp",
"num_images": 1
}
}'
成功提交会返回 data.taskId。保存这个值,供后续查询使用。
查询任务与保存结果
把任务编号放入 TASK_ID,再查询:
curl "https://api.hiapi.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $HIAPI_API_KEY"
当任务 data.status=success 时,从 data.output[0].url 获取图片并保存。面向持续运行的业务,可在提交请求的顶层设置 callback.url 和 callback.when: "final" 接收结束通知,并按 taskId 去重;成功和失败都可能触发通知。查询方式适合调试和补查。
Python 提交示例
环境需要安装 requests。这里的 timeout=60 是客户端网络请求等待上限,不是图片生成耗时。
import os
import requests
payload = {'model': 'google-virtual-try-on', 'input': {'person_image_url': 'https://static.hiapi.ai/gallery/2026/10/9f656c8b6ecf94d5.webp', 'product_image_url': 'https://static.hiapi.ai/model-covers/2026/10/22/1792660602486-b5b70d2cfdd8dc95-1792152569828-b5b70d2cfdd8dc95-t-g1-0.webp', 'num_images': 1}}
response = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json=payload,
timeout=60,
)
response.raise_for_status()
result = response.json()
task_id = result["data"]["taskId"]
print(task_id)
提交前与结果检查
接口不需要 prompt。num_images 不要填 2 或 4;需要候选图时分别发起请求。先核对两张图片能公开读取、字段没有对调,再提交。收到失败状态时阅读返回信息并修正输入,不要原样反复提交。
FAQ
人物照与服装图能共用一个字段吗?
不能。人物照用 person_image_url,服装图用 product_image_url。
需要增加 prompt 参数吗?
不需要。接口没有提示词字段,试穿由两张输入图决定。
为什么显式写 num_images: 1?
当前只支持一张结果;显式写出可以让请求张数与每张 $0.1075 的预算直接对应。
拿到 taskId 就可以读取图片吗?
还需要查询任务或接收通知;任务 data.status=success 后,从 data.output[0].url 获取图片。





