画像エクスポート
原画はメディア API、公式譜面は譜面画像 API、プロフィールカードはプレイヤー API。以下は残りの画像保存に対応。POST JSON は {data, locale?, theme?, seed?}。全フィールドは OpenAPI と端末スキーマ。例は画像ガイド。
編成結果画像
Section titled “編成結果画像”/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 | 画像処理を利用できません。端末モジュールかローカルサービスを使用。 |
ガチャシミュレーション画像
Section titled “ガチャシミュレーション画像”/api/v1/gacha/simulation/image.png ガチャ画面と同じ pulls/stats の描画。data は GachaImageInput。
パラメーター
| 名前 | 場所 | 型 | 説明 |
|---|---|---|---|
locale任意 | クエリ | string | 画像の言語。既定 en。 |
theme任意 | クエリ | string | サイトのテーマ。既定 light。 |
seed任意 | クエリ | string | サイトの配色。 |
リクエストボディ application/json
| 名前 | 型 | 説明 |
|---|---|---|
data必須 | GachaImageInput | ガチャ画面と同じ pulls/stats の描画。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 履歴画面と同じ 1 ページ 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 | 履歴画面と同じ 1 ページ 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 履歴画面と同じ 1 ページ 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 | 履歴画面と同じ 1 ページ 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 | 画像処理を利用できません。端末モジュールかローカルサービスを使用。 |
スタンプ合成
Section titled “スタンプ合成”/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 ChartDocument をゲームのスキンとサイトの配置で描画。data に chart、meta、server/release/height。公式楽曲は楽曲画像 API。
パラメーター
| 名前 | 場所 | 型 | 説明 |
|---|---|---|---|
locale任意 | クエリ | string | 画像の言語。既定 en。 |
theme任意 | クエリ | string | サイトのテーマ。既定 light。 |
seed任意 | クエリ | string | サイトの配色。 |
リクエストボディ application/json
| 名前 | 型 | 説明 |
|---|---|---|
data必須 | CustomChartImageOptions | ChartDocument をゲームのスキンとサイトの配置で描画。data に chart、meta、server/release/height。公式楽曲は楽曲画像 API。 |
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 | 画像処理を利用できません。端末モジュールかローカルサービスを使用。 |