diff --git a/static/integration.html b/static/integration.html index 391a70a..43fad06 100644 --- a/static/integration.html +++ b/static/integration.html @@ -223,12 +223,54 @@ const { code, data } = await res.json();
/api/v1/hair/grow-22使用 Bearer 访问令牌。图片字段三选一,发型序号男女均为 1–7。
-curl -sS "$BASE_URL/api/v1/hair/grow-22" \ - -H "Authorization: Bearer $ACCESS_TOKEN" \ - -F "image_file=@./portrait.jpg" -F "gender=female" -F "hair_style=1,3" \ - -F "hair_density=sparse" -F "hair_density=dense" -F "hairline_height=0"-
至少选择一档密度,多选时重复提交 hair_density。高度在 −1 到 +1 之间,API 的负值上移、正值下移。每个发型与密度组合返回一项,图片按网关规则转成 URL。
使用现有对接账号的 Bearer 访问令牌,以 multipart/form-data 提交。
| 字段 | 说明 |
|---|---|
image_file / image_url / image_base64 | 图片三选一。 |
gender | 必填,female 或 male。 |
hair_style | 必填,序号 1–7,多选用逗号分隔,如 1,3。 |
hair_density | 至少一档,sparse 稀疏、normal 正常、dense 浓密。多选时重复提交同名字段。 |
hairline_height | 默认 0,范围 [-1, 1]。API 负值上移,正值下移。端点移动眉心到下巴垂直像素距离的 10%。 |
女性 1–7 依次为椭圆、花瓣、心形、直线、波浪、大花瓣、古典花瓣。男性 1–7 依次为椭圆、倒弧、M 形、直线、心形、柔和花瓣、波浪。
+ +以下示例使用网关测试页的滑块约定,正值向上,所以提交时取反。Content-Type 由浏览器根据 FormData 自动设置。
async function grow22({ file, gender, styles, densities, slider = 0, accessToken }) {
+ const body = new FormData();
+ body.append("image_file", file);
+ body.append("gender", gender);
+ body.append("hair_style", styles.join(","));
+ for (const density of densities) body.append("hair_density", density);
+ body.append("hairline_height", String(-slider));
+
+ const response = await fetch("/api/v1/hair/grow-22", {
+ method: "POST",
+ headers: { Authorization: `Bearer ${accessToken}` },
+ body,
+ });
+ const result = await response.json();
+ if (!response.ok || result.code !== 0) {
+ throw new Error(result.message || `HTTP ${response.status}`);
+ }
+ return result.data.results;
+}
+
+// 已登录后调用。选择 2 个发型和 2 档密度,共返回 4 项。
+// const results = await grow22({
+// file: input.files[0], gender: "female", styles: [1, 3],
+// densities: ["sparse", "dense"], slider: 0.5, accessToken,
+// });
+ 请求返回 401 / 1009 时,按鉴权章节刷新令牌后重试一次。多选高度时,按高度分别发起请求。
data.results[] 字段 | 展示方式 |
|---|---|
order、hairline_type、hair_density | 标注发型和密度。多高度结果另外记录每次请求所用的高度。 |
image_url | 与输入照片同尺寸的透明发际线 PNG,可叠加在原图坐标的底图上。 |
grown_image_url | 生发图 URL。单项生成失败时返回 grown_image_base64: null,这一项仍保留发型和密度信息。 |
如需复刻测试页,首次以高度 0 生图,出图后再用同一个 Bearer 令牌请求接口 52,传 normalize_image=true 和 generate_grow_image=false。将各发型的 image_middle_url 叠在接口 52 的 input_image_url 上;如果底图改用首次生发图,先用 framing.source_to_processed 做同样的扶正裁切,再叠加。预览白线是设计参考线,实际出图边界以生发图为准。