Skip to content

Image exports

Raw artwork is available from the catalog image URLs in the media API. Official chart PNG/SVG uses the chart image API, and player cards use the player resource API. These endpoints generate the remaining website images. POST JSON is {data, locale?, theme?, seed?}. Complete nested fields are embedded in OpenAPI, and available in the device schema. The image guide includes payloads, local execution and state capture.

POST /api/v1/team-builder/image.png

Captures the website's actual result card, including song cover/title/difficulty, scores, centred leader, bound Snapshots. data is TeamImageOptions: request and hit from the same calculation; optional settings, catalog, server, release and width (360–1280).

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.

Request body application/json

NameTypeDescription
datarequired TeamImageOptions Captures the website's actual result card, including song cover/title/difficulty, scores, centred leader, bound Snapshots. data is TeamImageOptions: request and hit from the same calculation; optional settings, catalog, server, release and width (360–1280).
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/gacha/simulation/image.png

Uses the recruitment simulator's pulls or stats image renderer. data is GachaImageInput.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.

Request body application/json

NameTypeDescription
datarequired GachaImageInput Uses the recruitment simulator's pulls or stats image renderer. data is GachaImageInput.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/gacha-history/image.png

Uses the history report renderer with 36 cards per page. image.png selects a page; images.zip includes every page. data is GachaHistoryReport.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
pageoptional query integer 1-based report page. Used by image.png; ZIP returns all pages. Default: 1

Request body application/json

NameTypeDescription
datarequired GachaHistoryReport Uses the history report renderer with 36 cards per page. image.png selects a page; images.zip includes every page. data is GachaHistoryReport.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/gacha-history/images.zip

Uses the history report renderer with 36 cards per page. image.png selects a page; images.zip includes every page. data is GachaHistoryReport.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
pageoptional query integer 1-based report page. Used by image.png; ZIP returns all pages. Default: 1

Request body application/json

NameTypeDescription
datarequired GachaHistoryReport Uses the history report renderer with 36 cards per page. image.png selects a page; images.zip includes every page. data is GachaHistoryReport.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/stamps/image.png

Uses the stamp maker's image/text layers, fonts and square export. data includes image, sourceSize and layers; size is 1–512. Custom fonts use fonts[{family,source}]. Use an image layer to place the artwork.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.

Request body application/json

NameTypeDescription
datarequired StampImageOptions Uses the stamp maker's image/text layers, fonts and square export. data includes image, sourceSize and layers; size is 1–512. Custom fonts use fonts[{family,source}]. Use an image layer to place the artwork.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/stamps/image.png" \
-H "Content-Type: application/json" \
--data-binary @stamp-image.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/charts/image.png

Uses the native game skin and website overview layout for a ChartDocument. data includes chart and meta, plus server/release/height. Official song exports use the song chart image endpoint.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.

Request body application/json

NameTypeDescription
datarequired CustomChartImageOptions Uses the native game skin and website overview layout for a ChartDocument. data includes chart and meta, plus server/release/height. Official song exports use the song chart image endpoint.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
curl -sS -o output.bin -X POST "https://haneoka.org/api/v1/charts/image.png" \
-H "Content-Type: application/json" \
--data-binary @chart-image.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
GETHEAD /api/v1/live2d/{id}/image.png

Uses the website's Cubism viewer. POST data accepts motion, expression, loop, time, parameters, parts, look, background and transform. A saved pose's parameters/parts can be passed directly. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
idrequired path string Live2D capture
serveroptional query string Resource server. Default: intl
releaseoptional query string Pin the model and all its assets to this release; omitted uses current.
widthoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
heightoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
timeoptional query number Animation position in seconds, advanced at 60 Hz before capture. Default: 0
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
blinkoptional query boolean Viewer option; true or false. Default: true
breathoptional query boolean Viewer option; true or false. Default: true
loopoptional query boolean Viewer option; true or false. Default:
motionoptional query string Name from the model entity.
expressionoptional query string Name from the model entity.

Example request

Terminal window
curl -sS -o output.bin "https://haneoka.org/api/v1/live2d/001_casual_spring_01/image.png?server=intl&time=0"

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/live2d/{id}/image.png

Uses the website's Cubism viewer. POST data accepts motion, expression, loop, time, parameters, parts, look, background and transform. A saved pose's parameters/parts can be passed directly. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
idrequired path string Live2D capture

Request body application/json

NameTypeDescription
datarequired Live2DImageOptions Uses the website's Cubism viewer. POST data accepts motion, expression, loop, time, parameters, parts, look, background and transform. A saved pose's parameters/parts can be passed directly. Default background is transparent.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
GETHEAD /api/v1/servers/{server}/live2d/{id}/image.png

Uses the website's Cubism viewer. POST data accepts motion, expression, loop, time, parameters, parts, look, background and transform. A saved pose's parameters/parts can be passed directly. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
serverrequired path string Resource server. Default: intl
idrequired path string Live2D capture
releaseoptional query string Pin the model and all its assets to this release; omitted uses current.
widthoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
heightoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
timeoptional query number Animation position in seconds, advanced at 60 Hz before capture. Default: 0
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
blinkoptional query boolean Viewer option; true or false. Default: true
breathoptional query boolean Viewer option; true or false. Default: true
loopoptional query boolean Viewer option; true or false. Default:
motionoptional query string Name from the model entity.
expressionoptional query string Name from the model entity.

Example request

Terminal window
curl -sS -o output.bin "https://haneoka.org/api/v1/servers/intl/live2d/001_casual_spring_01/image.png?time=0"

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/servers/{server}/live2d/{id}/image.png

Uses the website's Cubism viewer. POST data accepts motion, expression, loop, time, parameters, parts, look, background and transform. A saved pose's parameters/parts can be passed directly. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
serverrequired path string Resource server. Default: intl
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
idrequired path string Live2D capture

Request body application/json

NameTypeDescription
datarequired Live2DImageOptions Uses the website's Cubism viewer. POST data accepts motion, expression, loop, time, parameters, parts, look, background and transform. A saved pose's parameters/parts can be passed directly. Default background is transparent.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
GETHEAD /api/v1/spine/{id}/image.png

Uses the website's Spine stage. POST data accepts animation, skin, loop, playbackRate, time, background and transform. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
idrequired path string Spine capture
serveroptional query string Resource server. Default: intl
releaseoptional query string Pin the model and all its assets to this release; omitted uses current.
widthoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
heightoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
timeoptional query number Animation position in seconds, advanced at 60 Hz before capture. Default: 0
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
loopoptional query boolean Viewer option; true or false. Default: true
playbackRateoptional query number Playback rate applied before capture. Default: 1
animationoptional query string Name from the model entity.
skinoptional query string Name from the model entity.

Example request

Terminal window
curl -sS -o output.bin "https://haneoka.org/api/v1/spine/01_mygo_01_cafe_01_anon/image.png?server=intl&time=0"

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/spine/{id}/image.png

Uses the website's Spine stage. POST data accepts animation, skin, loop, playbackRate, time, background and transform. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
idrequired path string Spine capture

Request body application/json

NameTypeDescription
datarequired SpineImageOptions Uses the website's Spine stage. POST data accepts animation, skin, loop, playbackRate, time, background and transform. Default background is transparent.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
GETHEAD /api/v1/servers/{server}/spine/{id}/image.png

Uses the website's Spine stage. POST data accepts animation, skin, loop, playbackRate, time, background and transform. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
serverrequired path string Resource server. Default: intl
idrequired path string Spine capture
releaseoptional query string Pin the model and all its assets to this release; omitted uses current.
widthoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
heightoptional query integer Viewport pixels. Capture uses the website's supersampling, up to 4 million pixels; read output dimensions from response headers. Default: 1024
timeoptional query number Animation position in seconds, advanced at 60 Hz before capture. Default: 0
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
loopoptional query boolean Viewer option; true or false. Default: true
playbackRateoptional query number Playback rate applied before capture. Default: 1
animationoptional query string Name from the model entity.
skinoptional query string Name from the model entity.

Example request

Terminal window
curl -sS -o output.bin "https://haneoka.org/api/v1/servers/intl/spine/01_mygo_01_cafe_01_anon/image.png?time=0"

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.
POST /api/v1/servers/{server}/spine/{id}/image.png

Uses the website's Spine stage. POST data accepts animation, skin, loop, playbackRate, time, background and transform. Default background is transparent.

Authentication
None. Public, anonymous read.
Caching
no-store

Parameters

NameInTypeDescription
serverrequired path string Resource server. Default: intl
localeoptional query string Image text locale; default en.
themeoptional query string Website theme; default light.
seedoptional query string Website color scheme.
idrequired path string Spine capture

Request body application/json

NameTypeDescription
datarequired SpineImageOptions Uses the website's Spine stage. POST data accepts animation, skin, loop, playbackRate, time, background and transform. Default background is transparent.
localeoptional string Image text locale; default en.
themeoptional string Website theme; default light.
seedoptional string Website color scheme.

Example request

Terminal window
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.json

Example response

HTTP/2 200 OK

Binary body (not shown).

Errors

StatusCodeMeaning
400invalid_requestAn ID in the path or query is malformed.
404not_foundUnknown region or record.
413body_too_largeJSON body exceeds 8 MiB.
429renderer_busyRetry after 60 seconds.
502image_render_failedImage or model resources could not be rendered.
503renderer_unavailableImage renderer is unavailable; use the device module or local service.