Skip to content

上传参考图

接口说明

上传参考人脸图,获取 imageId,再将其传入自定义生图接口的 refImageId 字段。

INFO

此接口为可选步骤,仅在需要参考人脸图时调用。

基本信息

项目说明
接口路径POST /v1/image/upload
Content-Typemultipart/form-data
响应类型application/json
认证方式API Key + 请求签名(认证说明

签名说明

multipart/form-data 接口无 JSON body,canonicalBody 为空字符串:

signatureBase = "POST\n/v1/image/upload\n{X-Timestamp}\n{X-User-ID}\n\n"
X-Signature   = HMAC-SHA256(signatureBase, apiSecret)

请求体(multipart/form-data)

字段类型必填说明
fileFile图片文件,支持 jpg/png/webp,最大 10MB

响应格式

成功响应

json
{
  "code": 10200,
  "success": true,
  "data": {
    "imageId": "550e8400-e29b-41d4-a716-446655440000"
  }
}
字段类型说明
data.imageIdstring图片 ID,传入生图接口的 refImageId 字段

错误响应

HTTP 状态码说明
401鉴权失败(缺少请求头、时间戳过期、API Key 无效或签名错误)
200上传失败/参数校验失败:success=falsecode 通常为 1040010500,错误原因见 message

客户端示例

javascript
async function uploadRefImage(apiKey, apiSecret, userId, file) {
  const headers = await buildAuthHeaders(apiKey, apiSecret, userId, {}, {
    url: '/v1/image/upload',
    isMultipart: true,
  })

  const formData = new FormData()
  formData.append('file', file)

  const response = await fetch('/v1/image/upload', {
    method: 'POST',
    headers,   // 不包含 Content-Type,浏览器自动设置 multipart boundary
    body: formData,
  })

  const result = await response.json()
  if (!result.success) throw new Error('上传失败:' + result.message)
  return result.data.imageId
}

Released under the MIT License.