图片导出
原始卡面、封面等使用目录中的图片地址,见媒体 API;官方谱面 PNG/SVG 见谱面图片 API,玩家资料卡见玩家资源 API。以下接口补齐其余网页图片。POST JSON 为 {data, locale?, theme?, seed?},完整嵌套字段已包含在 OpenAPI 和设备 schema 中。图片导出指南提供请求、设备执行与状态示例。
/api/v1/team-builder/image.png 直接导出网页的实际结果卡片,包含歌曲封面、曲名、难度、成绩、队长居中、留影绑定。data 为 TeamImageOptions:同一次计算的 request 和 hit,以及可选的 settings、catalog、server、release、width(360–1280)。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | TeamImageOptions | 直接导出网页的实际结果卡片,包含歌曲封面、曲名、难度、成绩、队长居中、留影绑定。data 为 TeamImageOptions:同一次计算的 request 和 hit,以及可选的 settings、catalog、server、release、width(360–1280)。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/team-builder/image.png" \ -H "Content-Type: application/json" \ --data-binary @team-image.jsonconst response = await fetch("https://haneoka.org/api/v1/team-builder/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
/api/v1/gacha/simulation/image.png 复用招募模拟的逐次结果或统计图。data 为 GachaImageInput。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | GachaImageInput | 复用招募模拟的逐次结果或统计图。data 为 GachaImageInput。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/gacha/simulation/image.png" \ -H "Content-Type: application/json" \ --data-binary @gacha-image.jsonconst response = await fetch("https://haneoka.org/api/v1/gacha/simulation/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
招募历史报表
Section titled “招募历史报表”/api/v1/gacha-history/image.png 复用历史报表,每页 36 张卡。image.png 读取指定页,images.zip 包含全部页。data 为 GachaHistoryReport。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
page可选 | 查询 | integer | 从 1 开始的报表页码;PNG 使用,ZIP 返回全部页。 默认值: 1 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | GachaHistoryReport | 复用历史报表,每页 36 张卡。image.png 读取指定页,images.zip 包含全部页。data 为 GachaHistoryReport。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/gacha-history/image.png" \ -H "Content-Type: application/json" \ --data-binary @history-image.jsonconst response = await fetch("https://haneoka.org/api/v1/gacha-history/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
历史报表 ZIP
Section titled “历史报表 ZIP”/api/v1/gacha-history/images.zip 复用历史报表,每页 36 张卡。image.png 读取指定页,images.zip 包含全部页。data 为 GachaHistoryReport。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
page可选 | 查询 | integer | 从 1 开始的报表页码;PNG 使用,ZIP 返回全部页。 默认值: 1 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | GachaHistoryReport | 复用历史报表,每页 36 张卡。image.png 读取指定页,images.zip 包含全部页。data 为 GachaHistoryReport。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/gacha-history/images.zip" \ -H "Content-Type: application/json" \ --data-binary @history-image.jsonconst response = await fetch("https://haneoka.org/api/v1/gacha-history/images.zip", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
/api/v1/stamps/image.png 复用贴图制作器的图片、文字图层及字体。data 包含 image、sourceSize、layers,size 为 1–512;自定义字体使用 fonts[{family,source}]。原画通过图片图层放置。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | StampImageOptions | 复用贴图制作器的图片、文字图层及字体。data 包含 image、sourceSize、layers,size 为 1–512;自定义字体使用 fonts[{family,source}]。原画通过图片图层放置。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/stamps/image.png" \ -H "Content-Type: application/json" \ --data-binary @stamp-image.jsonconst response = await fetch("https://haneoka.org/api/v1/stamps/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
自定义谱面图
Section titled “自定义谱面图”/api/v1/charts/image.png 使用原生游戏皮肤和网页概览排版。data 包含 ChartDocument 格式的 chart、meta,以及 server/release/height。官方谱面使用歌曲谱面图片接口。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | CustomChartImageOptions | 使用原生游戏皮肤和网页概览排版。data 包含 ChartDocument 格式的 chart、meta,以及 server/release/height。官方谱面使用歌曲谱面图片接口。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/charts/image.png" \ -H "Content-Type: application/json" \ --data-binary @chart-image.jsonconst response = await fetch("https://haneoka.org/api/v1/charts/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Live2D 默认截图
Section titled “Live2D 默认截图”/api/v1/live2d/{id}/image.png 使用网页的 Cubism 查看器。POST data 接受 motion、expression、loop、time、parameters、parts、look、background、transform;保存姿势的 parameters/parts 可直接传入,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
id必填 | 路径 | string | Live2D 截图 |
server可选 | 查询 | string | 资源服。 默认值: intl |
release可选 | 查询 | string | 固定模型及全部素材的 release,省略使用当前版本。 |
width可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
height可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
time可选 | 查询 | number | 动画位置,单位秒,按 60 Hz 推进后截图。 默认值: 0 |
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
blink可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: true |
breath可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: true |
loop可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: |
motion可选 | 查询 | string | 模型实体返回的名称。 |
expression可选 | 查询 | string | 模型实体返回的名称。 |
请求示例
curl -sS -o output.bin "https://haneoka.org/api/v1/live2d/001_casual_spring_01/image.png?server=intl&time=0"const response = await fetch("https://haneoka.org/api/v1/live2d/001_casual_spring_01/image.png?server=intl&time=0");if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Live2D 截图
Section titled “Live2D 截图”/api/v1/live2d/{id}/image.png 使用网页的 Cubism 查看器。POST data 接受 motion、expression、loop、time、parameters、parts、look、background、transform;保存姿势的 parameters/parts 可直接传入,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
id必填 | 路径 | string | Live2D 截图 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | Live2DImageOptions | 使用网页的 Cubism 查看器。POST data 接受 motion、expression、loop、time、parameters、parts、look、background、transform;保存姿势的 parameters/parts 可直接传入,默认透明背景。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/live2d/001_casual_spring_01/image.png" \ -H "Content-Type: application/json" \ --data-binary @live2d-image.jsonconst response = await fetch("https://haneoka.org/api/v1/live2d/001_casual_spring_01/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Live2D 默认截图(指定资源服)
Section titled “Live2D 默认截图(指定资源服)”/api/v1/servers/{server}/live2d/{id}/image.png 使用网页的 Cubism 查看器。POST data 接受 motion、expression、loop、time、parameters、parts、look、background、transform;保存姿势的 parameters/parts 可直接传入,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
server必填 | 路径 | string | 资源服。 默认值: intl |
id必填 | 路径 | string | Live2D 截图 |
release可选 | 查询 | string | 固定模型及全部素材的 release,省略使用当前版本。 |
width可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
height可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
time可选 | 查询 | number | 动画位置,单位秒,按 60 Hz 推进后截图。 默认值: 0 |
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
blink可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: true |
breath可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: true |
loop可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: |
motion可选 | 查询 | string | 模型实体返回的名称。 |
expression可选 | 查询 | string | 模型实体返回的名称。 |
请求示例
curl -sS -o output.bin "https://haneoka.org/api/v1/servers/intl/live2d/001_casual_spring_01/image.png?time=0"const response = await fetch("https://haneoka.org/api/v1/servers/intl/live2d/001_casual_spring_01/image.png?time=0");if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Live2D 截图(指定资源服)
Section titled “Live2D 截图(指定资源服)”/api/v1/servers/{server}/live2d/{id}/image.png 使用网页的 Cubism 查看器。POST data 接受 motion、expression、loop、time、parameters、parts、look、background、transform;保存姿势的 parameters/parts 可直接传入,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
server必填 | 路径 | string | 资源服。 默认值: intl |
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
id必填 | 路径 | string | Live2D 截图 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | Live2DImageOptions | 使用网页的 Cubism 查看器。POST data 接受 motion、expression、loop、time、parameters、parts、look、background、transform;保存姿势的 parameters/parts 可直接传入,默认透明背景。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/servers/intl/live2d/001_casual_spring_01/image.png" \ -H "Content-Type: application/json" \ --data-binary @live2d-image.jsonconst response = await fetch("https://haneoka.org/api/v1/servers/intl/live2d/001_casual_spring_01/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Spine 默认截图
Section titled “Spine 默认截图”/api/v1/spine/{id}/image.png 使用网页的 Spine 舞台。POST data 接受 animation、skin、loop、playbackRate、time、background、transform,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
id必填 | 路径 | string | Spine 截图 |
server可选 | 查询 | string | 资源服。 默认值: intl |
release可选 | 查询 | string | 固定模型及全部素材的 release,省略使用当前版本。 |
width可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
height可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
time可选 | 查询 | number | 动画位置,单位秒,按 60 Hz 推进后截图。 默认值: 0 |
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
loop可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: true |
playbackRate可选 | 查询 | number | 截图前应用的播放速度。 默认值: 1 |
animation可选 | 查询 | string | 模型实体返回的名称。 |
skin可选 | 查询 | string | 模型实体返回的名称。 |
请求示例
curl -sS -o output.bin "https://haneoka.org/api/v1/spine/01_mygo_01_cafe_01_anon/image.png?server=intl&time=0"const response = await fetch("https://haneoka.org/api/v1/spine/01_mygo_01_cafe_01_anon/image.png?server=intl&time=0");if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Spine 截图
Section titled “Spine 截图”/api/v1/spine/{id}/image.png 使用网页的 Spine 舞台。POST data 接受 animation、skin、loop、playbackRate、time、background、transform,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
id必填 | 路径 | string | Spine 截图 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | SpineImageOptions | 使用网页的 Spine 舞台。POST data 接受 animation、skin、loop、playbackRate、time、background、transform,默认透明背景。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/spine/01_mygo_01_cafe_01_anon/image.png" \ -H "Content-Type: application/json" \ --data-binary @spine-image.jsonconst response = await fetch("https://haneoka.org/api/v1/spine/01_mygo_01_cafe_01_anon/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Spine 默认截图(指定资源服)
Section titled “Spine 默认截图(指定资源服)”/api/v1/servers/{server}/spine/{id}/image.png 使用网页的 Spine 舞台。POST data 接受 animation、skin、loop、playbackRate、time、background、transform,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
server必填 | 路径 | string | 资源服。 默认值: intl |
id必填 | 路径 | string | Spine 截图 |
release可选 | 查询 | string | 固定模型及全部素材的 release,省略使用当前版本。 |
width可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
height可选 | 查询 | integer | 视口像素。按网页方式超采样,最多 400 万像素,输出尺寸见响应头。 默认值: 1024 |
time可选 | 查询 | number | 动画位置,单位秒,按 60 Hz 推进后截图。 默认值: 0 |
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
loop可选 | 查询 | boolean | 查看器选项,true 或 false。 默认值: true |
playbackRate可选 | 查询 | number | 截图前应用的播放速度。 默认值: 1 |
animation可选 | 查询 | string | 模型实体返回的名称。 |
skin可选 | 查询 | string | 模型实体返回的名称。 |
请求示例
curl -sS -o output.bin "https://haneoka.org/api/v1/servers/intl/spine/01_mygo_01_cafe_01_anon/image.png?time=0"const response = await fetch("https://haneoka.org/api/v1/servers/intl/spine/01_mygo_01_cafe_01_anon/image.png?time=0");if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |
Spine 截图(指定资源服)
Section titled “Spine 截图(指定资源服)”/api/v1/servers/{server}/spine/{id}/image.png 使用网页的 Spine 舞台。POST data 接受 animation、skin、loop、playbackRate、time、background、transform,默认透明背景。
参数
| 名称 | 位置 | 类型 | 说明 |
|---|---|---|---|
server必填 | 路径 | string | 资源服。 默认值: intl |
locale可选 | 查询 | string | 图片文字语言,默认 en。 |
theme可选 | 查询 | string | 网站主题,默认 light。 |
seed可选 | 查询 | string | 网站配色。 |
id必填 | 路径 | string | Spine 截图 |
请求体 application/json
| 名称 | 类型 | 说明 |
|---|---|---|
data必填 | SpineImageOptions | 使用网页的 Spine 舞台。POST data 接受 animation、skin、loop、playbackRate、time、background、transform,默认透明背景。 |
locale可选 | string | 图片文字语言,默认 en。 |
theme可选 | string | 网站主题,默认 light。 |
seed可选 | string | 网站配色。 |
请求示例
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/servers/intl/spine/01_mygo_01_cafe_01_anon/image.png" \ -H "Content-Type: application/json" \ --data-binary @spine-image.jsonconst response = await fetch("https://haneoka.org/api/v1/servers/intl/spine/01_mygo_01_cafe_01_anon/image.png", { method: "POST", headers: { "Content-Type": "application/json", }, body: file,});if (!response.ok) throw new Error(`HTTP ${response.status}`);const blob = await response.blob();响应示例
HTTP/2 200 OK二进制内容(不显示)。
错误
| 状态码 | 代码 | 含义 |
|---|---|---|
400 | invalid_request | 路径或查询中的 ID 格式错误。 |
404 | not_found | 未知的地区或记录。 |
413 | body_too_large | JSON 请求体超过 8 MiB。 |
429 | renderer_busy | 60 秒后重试。 |
502 | image_render_failed | 图片或模型资源渲染失败。 |
503 | renderer_unavailable | 图片渲染器不可用,可使用设备模块或本地服务。 |