两个工具都以 multipart/form-data 接收文件。
照片优化
POST /photo/enhance:权限范围 tools:photo,任务。每个请求一张照片。
表单部分:
| 部分 | 说明 |
|---|---|
image | 照片:必填;JPEG、PNG 或 WebP,最大 25 MB |
mask | 仅 cleanup:PNG 蒙版,白色标出要修改的区域 |
data | 选项,作为一个 JSON 字符串:必填 |
data 中的选项:
| 字段 | 说明 |
|---|---|
mode | enhance:光线、色彩、清晰度;cleanup:移除物品;staging:为空房间布置家具。默认 cleanup |
prompt | cleanup 和 staging 必填(3 到 500 字符):移除什么或如何布置;enhance 可选 |
intensity | light、medium(默认)、strong |
roomType | living、bedroom、kitchen、bathroom、dining、office、outdoor |
furnitureStyle | 用于 staging:modern、scandinavian、industrial、luxury、minimalist、coastal |
autoMask | 没有自带蒙版的 cleanup:自动查找区域 |
seed | 用于可复现结果的数字 |
negativePrompt | 需要避免的内容,最多 300 字符 |
objectId、objectType | 照片所属的您的房源(property 或 complex) |
curl -X POST https://developers.grem.capital/api/v1/photo/enhance \
-H "Authorization: Bearer gsk_live_xxx" \
-F 'data={"mode":"cleanup","prompt":"移除椅子和箱子"}' \
-F "[email protected]"
在 enhance 或 staging 中使用蒙版会被拒绝:蒙版在这些模式下不起作用,也不收费。价格取决于模式。拒绝情况:在 cleanup 之外使用蒙版返回带 code: MASK_NOT_SUPPORTED 的 422;其他文件类型或超过 25 MB 的文件返回带 code: JOB_CREATE_FAILED 的 422;data 中的未知键返回 400。启动响应带有 sku 和 priceMinor:本次调用的扣费金额(由套餐额度覆盖时不返回)。
返回 202 和 jobId。完成的任务(GET /photo/enhance/jobs/{id}):
| 字段 | 说明 |
|---|---|
results | 结果变体 |
results[].variant | 变体编号 |
results[].url | 图片地址 |
results[].width、results[].height | 尺寸 |
metadata.error | 任务失败时:以通用文本说明的原因 |
变体文件:GET /artifacts/v1/ai/photo-enhancement/jobs/{jobId}/download/{variant}。事件:photo.completed / photo.failed。
户型图清理
POST /floorplan/create:权限范围 tools:floorplan。户型图的照片或扫描件会变成带房间名称和面积的清晰户型图。立即处理:202 已包含结果。
| 部分 | 说明 |
|---|---|
file | 户型图图片(JPEG、PNG、WebP、HEIC;最大 20 MB):必填;也接受名称 image |
objectId | 将结果附加到您的房源 |
objectType | property、rental 或 complex |
curl -X POST https://developers.grem.capital/api/v1/floorplan/create \
-H "Authorization: Bearer gsk_live_xxx" \
-F "[email protected]"
响应:
| 字段 | 说明 |
|---|---|
jobId | 任务 ID |
status | done:名称已自动接受;review:结果已就绪,建议检查名称;rejected:图片不是户型图;failed:失败 |
state | done 和 review 为 completed,rejected 和 failed 为 failed |
rooms | 房间:label、area(如有标注则为 m²)、stable(每次识别读出的标签都相同)、placement(标签在清理后户型图上的位置) |
totalArea | 户型图上标有面积时的总面积,m² |
cleanedFileId | 清理后的户型图图片 |
sourceFileId | 您上传的户型图 |
报告:GET /artifacts/v1/ai/floor-plan/jobs/{id}/report.pdf。再次获取结果:GET /floorplan/create/jobs/{id}。事件:floorplan.completed / floorplan.failed。如果图片不是户型图,不收费。