@tasopen/mcp-alphabanana 1.2.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +26 -144
- package/README.md +62 -184
- package/dist/index.js +65 -30
- package/dist/index.js.map +1 -1
- package/dist/utils/aspect-ratio.d.ts +4 -0
- package/dist/utils/aspect-ratio.d.ts.map +1 -1
- package/dist/utils/aspect-ratio.js +5 -0
- package/dist/utils/aspect-ratio.js.map +1 -1
- package/dist/utils/gemini-client.d.ts +16 -4
- package/dist/utils/gemini-client.d.ts.map +1 -1
- package/dist/utils/gemini-client.js +168 -42
- package/dist/utils/gemini-client.js.map +1 -1
- package/dist/utils/post-processor.d.ts +1 -1
- package/dist/utils/post-processor.d.ts.map +1 -1
- package/dist/utils/post-processor.js +19 -9
- package/dist/utils/post-processor.js.map +1 -1
- package/package.json +2 -2
package/README.ja.md
CHANGED
|
@@ -2,18 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
English | [日本語](README.ja.md)
|
|
4
4
|
|
|
5
|
-
Google Gemini AI
|
|
5
|
+
Google Gemini AI(Gemini 3.1 Flash/Nano Banana 2対応)で画像アセットを生成する Model Context Protocol (MCP) サーバー。
|
|
6
6
|
|
|
7
7
|
[FastMCP 3](https://www.npmjs.com/package/fastmcp) で構築され、シンプルなコードベースと柔軟な出力オプションを提供します。
|
|
8
8
|
|
|
9
9
|
## 機能
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
11
|
+
- **超高速画像生成**(Gemini 3.1 Flash、0.5K/1K/2K/4K)
|
|
12
|
+
- **高度なマルチ画像推論**(最大14枚の参照画像)
|
|
13
|
+
- **Thinking/Grounding対応**(Flash3.1のみ)
|
|
14
|
+
- **透過PNG/WebP出力**(カラーキー+デスピル)
|
|
13
15
|
- **複数の出力形式**: ファイル、base64、または両方
|
|
14
|
-
- **スタイル参照のための参照画像サポート**
|
|
15
16
|
- **柔軟なリサイズモード**: crop、stretch、letterbox、contain
|
|
16
|
-
- **複数のモデルティア**:
|
|
17
|
+
- **複数のモデルティア**: Flash3.1、Flash2.5、Pro3、レガシーエイリアス
|
|
17
18
|
|
|
18
19
|
## インストール
|
|
19
20
|
|
|
@@ -21,7 +22,7 @@ Google Gemini AI を使って画像アセットを生成する Model Context Pro
|
|
|
21
22
|
|
|
22
23
|
## 設定
|
|
23
24
|
|
|
24
|
-
`GEMINI_API_KEY` を MCP 設定(例: `mcp.json
|
|
25
|
+
`GEMINI_API_KEY` を MCP 設定(例: `mcp.json`)で設定します。
|
|
25
26
|
|
|
26
27
|
例:
|
|
27
28
|
|
|
@@ -35,169 +36,50 @@ Google Gemini AI を使って画像アセットを生成する Model Context Pro
|
|
|
35
36
|
}
|
|
36
37
|
```
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
"env": {
|
|
43
|
-
"GEMINI_API_KEY": "your_api_key_here"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
運用に合わせて選択してください(可能であれば環境参照を推奨)。
|
|
49
|
-
|
|
50
|
-
## VS Code 統合
|
|
51
|
-
|
|
52
|
-
VS Code 設定(`.vscode/settings.json` またはユーザー設定)に追加し、サーバー `env` を `mcp.json` または VS Code MCP 設定で設定します。OS 環境変数参照または直接キー記載の両方に対応:
|
|
39
|
+
```bash
|
|
40
|
+
# 開発モード(MCP CLI)
|
|
41
|
+
npm run dev
|
|
53
42
|
|
|
54
|
-
|
|
55
|
-
{
|
|
56
|
-
"mcp": {
|
|
57
|
-
"servers": {
|
|
58
|
-
"mcp-alphabanana": {
|
|
59
|
-
"command": "npx",
|
|
60
|
-
"args":["-y", "@tasopen/mcp-alphabanana"],
|
|
61
|
-
"env": {
|
|
62
|
-
"GEMINI_API_KEY": "${env:GEMINI_API_KEY}" // or "your_api_key_here"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
43
|
+
# MCP Inspector (Web UI)
|
|
65
44
|
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**オプション:** 書き込み失敗時のカスタムフォールバックディレクトリを指定する場合は `MCP_FALLBACK_OUTPUT` を `env` に追加してください。
|
|
71
|
-
|
|
72
|
-
## Antigravity (mcp_config.json)
|
|
73
45
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
```json
|
|
77
|
-
{
|
|
78
|
-
"mcpServers": {
|
|
79
|
-
"mcp-alphabanana": {
|
|
80
|
-
"command": "npx",
|
|
81
|
-
"args": ["-y", "@tasopen/mcp-alphabanana"],
|
|
82
|
-
"env": {
|
|
83
|
-
"GEMINI_API_KEY": "your_api_key_here"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
46
|
+
# 本番用ビルド
|
|
47
|
+
npm run build
|
|
88
48
|
```
|
|
89
49
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
## Claude Desktop
|
|
93
|
-
|
|
94
|
-
Claude Desktop で MCP サーバーを動かす場合は `claude_desktop_config.json` にエントリを追加:
|
|
50
|
+
## ライセンス
|
|
95
51
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"mcpServers": {
|
|
99
|
-
"mcp-alphabanana": {
|
|
100
|
-
"command": "npx",
|
|
101
|
-
"args": ["-y", "@tasopen/mcp-alphabanana"],
|
|
102
|
-
"env": {
|
|
103
|
-
"GEMINI_API_KEY": "your_api_key_here"
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
52
|
+
MIT
|
|
53
|
+
]
|
|
107
54
|
}
|
|
108
55
|
```
|
|
109
56
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
### 環境変数
|
|
113
|
-
|
|
114
|
-
| 変数 | 必須 | 説明 |
|
|
115
|
-
|----------|----------|-------------|
|
|
116
|
-
| `GEMINI_API_KEY` | Yes | Google AI Studio APIキー。`mcp.json` で OS 環境変数参照(`${env:GEMINI_API_KEY}`)または直接キー記載(エージェントが OS 環境変数にアクセス不可な場合) |
|
|
117
|
-
| `MCP_FALLBACK_OUTPUT` | No | 書き込み失敗時のフォールバックディレクトリ(デフォルト: `<install-dir>/fallback-output`) |
|
|
118
|
-
|
|
119
|
-
### 出力パスのベストプラクティス
|
|
57
|
+
---
|
|
120
58
|
|
|
121
|
-
|
|
59
|
+
## 透過・出力形式
|
|
122
60
|
|
|
123
|
-
|
|
124
|
-
|
|
61
|
+
- **PNG**: 完全アルファ、カラーキー+デスピル
|
|
62
|
+
- **WebP**: 完全アルファ、高圧縮(Flash3.1+)
|
|
63
|
+
- **JPEG**: 透過なし(不透明背景にフォールバック)
|
|
125
64
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
**フォールバック動作:**
|
|
129
|
-
- 指定した `outputPath` が書き込み可能 → 通常通り画像を保存
|
|
130
|
-
- 書き込み不可(パーミッション拒否など) → フォールバックディレクトリに保存しレスポンスに `warning` を含める
|
|
131
|
-
- フォールバックも失敗した場合 → エラーを返す
|
|
65
|
+
---
|
|
132
66
|
|
|
133
67
|
## 開発
|
|
134
68
|
|
|
135
69
|
```bash
|
|
136
70
|
# 開発モード(MCP CLI)
|
|
137
|
-
|
|
71
|
+
#### 透過 + フリンジ制御
|
|
138
72
|
|
|
139
73
|
# MCP Inspector (Web UI)
|
|
140
|
-
|
|
74
|
+
|
|
141
75
|
|
|
142
76
|
# 本番用ビルド
|
|
143
77
|
npm run build
|
|
144
78
|
```
|
|
145
79
|
|
|
146
|
-
##
|
|
147
|
-
|
|
148
|
-
Gemini AI で画像アセットを生成(オプションで透過・参照画像対応)。
|
|
149
|
-
|
|
150
|
-
### パラメータ
|
|
151
|
-
|
|
152
|
-
| パラメータ | 型 | デフォルト | 説明 |
|
|
153
|
-
|-----------|------|---------|-------------|
|
|
154
|
-
| `prompt` | string | *必須* | 生成する画像の説明 |
|
|
155
|
-
| `outputFileName` | string | *必須* | 出力ファイル名(拡張子がない場合は自動追加) |
|
|
156
|
-
| `outputType` | enum | `combine` | 出力形式: `file`、`base64`、または`combine` |
|
|
157
|
-
| `modelTier` | enum | *必須* | モデル: `flash` (Gemini 2.5 Flash, 最大3参照) または `pro` (Gemini 3 Pro, 最大14参照) |
|
|
158
|
-
| `sourceResolution` | enum | `1K` | Gemini生成解像度: `1K`、`2K`、または`4K` (2K/4Kはproのみ) |
|
|
159
|
-
| `outputWidth` | number | `1024` | 出力幅(ピクセル、8-4096) |
|
|
160
|
-
| `outputHeight` | number | `1024` | 出力高さ(ピクセル、8-4096) |
|
|
161
|
-
| `outputFormat` | enum | `png` | 出力形式: `png`または`jpg` |
|
|
162
|
-
| `outputPath` | string | *任意* | 絶対パスの出力ディレクトリ(ファイル保存時は必須) |
|
|
163
|
-
| `transparent` | boolean | `false` | 透過背景をリクエスト(PNGのみ) |
|
|
164
|
-
| `transparentColor` | string | `null` | 透過にする色(例: `#FF00FF`、未指定時は #FF00FF) |
|
|
165
|
-
| `colorTolerance` | number | `30` | 透過色マッチングの許容範囲(0-255) |
|
|
166
|
-
| `fringeMode` | enum | `auto` | フリンジ処理: `auto`、`crisp`、`hd`(autoは128px以下で`crisp`、それ以外は`hd`) |
|
|
167
|
-
| `resizeMode` | enum | `crop` | リサイズモード: `crop`、`stretch`、`letterbox`、または`contain` |
|
|
168
|
-
| `referenceImages` | array | `[]` | スタイルガイダンス用の参照画像(ファイルパス) |
|
|
169
|
-
| `debug` | boolean | `false` | デバッグモード: 中間画像を出力 |
|
|
170
|
-
|
|
171
|
-
### 使用例
|
|
172
|
-
|
|
173
|
-
#### 基本的な生成
|
|
174
|
-
|
|
175
|
-
```json
|
|
176
|
-
{
|
|
177
|
-
"prompt": "ピクセルアートの宝箱、金の装飾、木の質感",
|
|
178
|
-
"modelTier": "flash",
|
|
179
|
-
"outputFileName": "chest",
|
|
180
|
-
"outputWidth": 64,
|
|
181
|
-
"outputHeight": 64,
|
|
182
|
-
"transparent": true
|
|
183
|
-
}
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
#### 透過スプライト
|
|
187
|
-
|
|
188
|
-
```json
|
|
189
|
-
{
|
|
190
|
-
"prompt": "レトロゲーム風の宇宙戦闘機スプライト、青みがかった銀色、輪郭がはっきり、背景なし、文字・数字・ロゴを含めない",
|
|
191
|
-
"modelTier": "flash",
|
|
192
|
-
"outputFileName": "space_fighter",
|
|
193
|
-
"outputWidth": 64,
|
|
194
|
-
"outputHeight": 64,
|
|
195
|
-
"transparent": true
|
|
196
|
-
}
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
#### 透過 + フリンジ制御
|
|
80
|
+
## ライセンス
|
|
200
81
|
|
|
82
|
+
MIT
|
|
201
83
|
```json
|
|
202
84
|
{
|
|
203
85
|
"prompt": "アニメ調 自転車に乗った少女",
|
package/README.md
CHANGED
|
@@ -2,26 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
English | [日本語](README.ja.md)
|
|
4
4
|
|
|
5
|
-
A Model Context Protocol (MCP) server for generating image assets using Google Gemini AI.
|
|
5
|
+
A Model Context Protocol (MCP) server for generating image assets using Google Gemini AI (Gemini 3.1 Flash/Nano Banana 2 supported).
|
|
6
6
|
|
|
7
7
|
Built with [FastMCP 3](https://www.npmjs.com/package/fastmcp) for a simplified codebase and flexible output options.
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
11
|
+
- **Ultra-fast image generation** (Gemini 3.1 Flash, 0.5K/1K/2K/4K)
|
|
12
|
+
- **Advanced multi-image reasoning** (up to 14 reference images)
|
|
13
|
+
- **Thinking/Grounding support** (Flash3.1 only)
|
|
14
|
+
- **Transparent PNG/WebP output** (color-key post-processing, despill)
|
|
13
15
|
- **Multiple output formats**: file, base64, or both
|
|
14
|
-
- **Reference image support** for style guidance
|
|
15
16
|
- **Flexible resize modes**: crop, stretch, letterbox, contain
|
|
16
|
-
- **Multiple model tiers**:
|
|
17
|
+
- **Multiple model tiers**: Flash3.1, Flash2.5, Pro3, legacy aliases
|
|
17
18
|
|
|
18
19
|
## Installation
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
Add `@tasopen/mcp-alphabanana` to your MCP Servers configuration.
|
|
21
22
|
|
|
22
23
|
## Configuration
|
|
23
24
|
|
|
24
|
-
Configure the `GEMINI_API_KEY` in your MCP configuration (e.g. `mcp.json`).
|
|
25
|
+
Configure the `GEMINI_API_KEY` in your MCP configuration (e.g. `mcp.json`).
|
|
25
26
|
|
|
26
27
|
Examples:
|
|
27
28
|
|
|
@@ -35,7 +36,7 @@ Examples:
|
|
|
35
36
|
}
|
|
36
37
|
```
|
|
37
38
|
|
|
38
|
-
- Provide the key directly in `mcp.json
|
|
39
|
+
- Provide the key directly in `mcp.json`:
|
|
39
40
|
|
|
40
41
|
```json
|
|
41
42
|
{
|
|
@@ -45,11 +46,9 @@ Examples:
|
|
|
45
46
|
}
|
|
46
47
|
```
|
|
47
48
|
|
|
48
|
-
Use whichever method suits your deployment — prefer environment references when possible, but include the key directly when agent constraints require it.
|
|
49
|
-
|
|
50
49
|
## VS Code Integration
|
|
51
50
|
|
|
52
|
-
Add to your VS Code settings (`.vscode/settings.json` or user settings), configuring the server `env` in `mcp.json` or via the VS Code MCP settings.
|
|
51
|
+
Add to your VS Code settings (`.vscode/settings.json` or user settings), configuring the server `env` in `mcp.json` or via the VS Code MCP settings.
|
|
53
52
|
|
|
54
53
|
```json
|
|
55
54
|
{
|
|
@@ -69,114 +68,40 @@ Add to your VS Code settings (`.vscode/settings.json` or user settings), configu
|
|
|
69
68
|
|
|
70
69
|
**Optional:** Set a custom fallback directory for write failures by adding `MCP_FALLBACK_OUTPUT` to the `env` object.
|
|
71
70
|
|
|
72
|
-
##
|
|
73
|
-
|
|
74
|
-
Antigravity uses a global `mcp_config.json` to register MCP servers. Example `mcp_config.json`:
|
|
75
|
-
|
|
76
|
-
```json
|
|
77
|
-
{
|
|
78
|
-
"mcpServers": {
|
|
79
|
-
"mcp-alphabanana": {
|
|
80
|
-
"command": "npx",
|
|
81
|
-
"args": ["-y", "@tasopen/mcp-alphabanana"],
|
|
82
|
-
"env": {
|
|
83
|
-
"GEMINI_API_KEY": "your_api_key_here"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Note: In this repository we used an `mcp_config.json` with the `mcp-alphabanana` entry (Antigravity) and confirmed the server started and generated images successfully.
|
|
91
|
-
|
|
92
|
-
## Claude Desktop
|
|
93
|
-
|
|
94
|
-
If you run MCP servers via Claude Desktop, add an entry in `claude_desktop_config.json`:
|
|
95
|
-
|
|
96
|
-
```json
|
|
97
|
-
{
|
|
98
|
-
"mcpServers": {
|
|
99
|
-
"mcp-alphabanana": {
|
|
100
|
-
"command": "npx",
|
|
101
|
-
"args": ["-y", "@tasopen/mcp-alphabanana"],
|
|
102
|
-
"env": {
|
|
103
|
-
"GEMINI_API_KEY": "your_api_key_here"
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Tested: Adding the above entry in Claude Desktop and starting the server launched the MCP server and image generation worked.
|
|
111
|
-
|
|
112
|
-
### Environment Variables
|
|
113
|
-
|
|
114
|
-
| Variable | Required | Description |
|
|
115
|
-
|----------|----------|-------------|
|
|
116
|
-
| `GEMINI_API_KEY` | Yes | Google AI Studio API Key. Configure in `mcp.json` either by referencing an OS environment variable (`${env:GEMINI_API_KEY}`) or by including the key directly (some agents cannot access OS env vars). |
|
|
117
|
-
| `MCP_FALLBACK_OUTPUT` | No | Fallback directory for write failures (default: `<install-dir>/fallback-output`) |
|
|
118
|
-
|
|
119
|
-
### Output Path Best Practices
|
|
120
|
-
|
|
121
|
-
**Always use absolute paths for `outputPath`:**
|
|
122
|
-
|
|
123
|
-
✅ **Good:** "C:/Users/you/project/assets", "/home/user/images"
|
|
124
|
-
❌ **Bad:** `"./"`, `"output/"`, `"../images"`
|
|
125
|
-
|
|
126
|
-
Relative paths are resolved from the MCP server's working directory (unpredictable when running as a service), leading to unexpected file locations.
|
|
127
|
-
|
|
128
|
-
**Fallback behavior:**
|
|
129
|
-
- If the requested `outputPath` is writable → image saved there as usual
|
|
130
|
-
- If not writable (permission denied, etc.) → saves to fallback directory with `warning` in response
|
|
131
|
-
- Fallback directory: `MCP_FALLBACK_OUTPUT` env var, or `<install-dir>/fallback-output` by default
|
|
132
|
-
- If fallback also fails → returns error
|
|
133
|
-
|
|
134
|
-
## Development
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
# Development mode with MCP CLI
|
|
138
|
-
npm run dev
|
|
139
|
-
|
|
140
|
-
# MCP Inspector (Web UI)
|
|
141
|
-
npm run inspect
|
|
142
|
-
|
|
143
|
-
# Build for production
|
|
144
|
-
npm run build
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Tool: generate_image
|
|
71
|
+
## Model Selection & Parameters
|
|
148
72
|
|
|
149
|
-
|
|
73
|
+
| Input Model ID | Internal Model ID | Description |
|
|
74
|
+
| --- | --- | --- |
|
|
75
|
+
| `Flash3.1` | `gemini-3.1-flash-image-preview` | Ultra-fast, supports Thinking/Grounding. |
|
|
76
|
+
| `Flash2.5` | `gemini-2.5-flash-image` | Legacy Flash. High stability. Low cost. |
|
|
77
|
+
| `Pro3` | `gemini-3.0-pro-image-preview` | High-fidelity Pro model. |
|
|
78
|
+
| `flash` | `gemini-3.1-flash-image-preview` | Alias for backward compatibility. |
|
|
79
|
+
| `pro` | `gemini-3.0-pro-image-preview` | Alias for backward compatibility. |
|
|
150
80
|
|
|
151
|
-
### Parameters
|
|
81
|
+
### Parameters (v2.0)
|
|
152
82
|
|
|
153
83
|
| Parameter | Type | Default | Description |
|
|
154
84
|
|-----------|------|---------|-------------|
|
|
155
85
|
| `prompt` | string | *required* | Description of the image to generate |
|
|
156
|
-
| `
|
|
157
|
-
| `
|
|
158
|
-
| `
|
|
159
|
-
| `
|
|
160
|
-
| `
|
|
161
|
-
| `
|
|
162
|
-
| `
|
|
163
|
-
| `
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
| `resizeMode` | enum | `crop` | Resize mode: `crop`, `stretch`, `letterbox`, or `contain` |
|
|
169
|
-
| `referenceImages` | array | `[]` | Reference images for style guidance (file paths) |
|
|
170
|
-
| `debug` | boolean | `false` | Debug mode: output intermediate images |
|
|
171
|
-
|
|
172
|
-
### Usage Examples
|
|
86
|
+
| `model` | enum | `Flash3.1` | Model: `Flash3.1`, `Flash2.5`, `Pro3`, `flash`, `pro` |
|
|
87
|
+
| `output_resolution` | enum | `1K` | `0.5K`, `1K`, `2K`, `4K` (0.5K/2K/4K: Flash3.1 only) |
|
|
88
|
+
| `output_format` | enum | `png` | `png`, `jpg`, `webp` (WebP: alpha supported) |
|
|
89
|
+
| `transparent` | boolean | `false` | Transparent background (PNG/WebP only) |
|
|
90
|
+
| `grounding_type` | enum | `none` | `none`, `text`, `image`, `both` (Flash3.1 only) |
|
|
91
|
+
| `thinking_mode` | enum | `minimal` | `minimal`, `high` (Flash3.1 only) |
|
|
92
|
+
| `include_thoughts` | boolean | `false` | Return model's "thoughts" (Flash3.1 only) |
|
|
93
|
+
| `reference_images` | array | `[]` | Up to 14 (Flash3.1/Pro3), 3 (Flash2.5) |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Usage Examples
|
|
173
98
|
|
|
174
99
|
#### Basic Generation
|
|
175
100
|
|
|
176
101
|
```json
|
|
177
102
|
{
|
|
178
103
|
"prompt": "A pixel art treasure chest, golden trim, wooden texture",
|
|
179
|
-
"
|
|
104
|
+
"model": "Flash3.1",
|
|
180
105
|
"outputFileName": "chest",
|
|
181
106
|
"outputWidth": 64,
|
|
182
107
|
"outputHeight": 64,
|
|
@@ -184,113 +109,66 @@ Generate image assets using Gemini AI with optional transparency and reference i
|
|
|
184
109
|
}
|
|
185
110
|
```
|
|
186
111
|
|
|
187
|
-
|
|
188
|
-
#### Transparent Sprite
|
|
189
|
-
|
|
190
|
-
```json
|
|
191
|
-
{
|
|
192
|
-
"prompt": "Retro game-style space fighter sprite, blue-tinted silver, clean silhouette, no background, no text, no letters, no numbers, no logos",
|
|
193
|
-
"modelTier": "flash",
|
|
194
|
-
"outputFileName": "space_fighter",
|
|
195
|
-
"outputWidth": 64,
|
|
196
|
-
"outputHeight": 64,
|
|
197
|
-
"transparent": true
|
|
198
|
-
}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
#### Transparency + Fringe Control
|
|
203
|
-
|
|
204
|
-
```json
|
|
205
|
-
{
|
|
206
|
-
"prompt": "Anime-style girl riding a bicycle",
|
|
207
|
-
"modelTier": "flash",
|
|
208
|
-
"outputFileName": "bicycle_girl",
|
|
209
|
-
"outputWidth": 1024,
|
|
210
|
-
"outputHeight": 576,
|
|
211
|
-
"transparent": true,
|
|
212
|
-
"colorTolerance": 30,
|
|
213
|
-
"fringeMode": "crisp"
|
|
214
|
-
}
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
#### High-Resolution Background
|
|
112
|
+
#### Advanced (WebP, thinking, grounding)
|
|
219
113
|
|
|
220
114
|
```json
|
|
221
115
|
{
|
|
222
|
-
"prompt": "
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
"
|
|
226
|
-
"
|
|
227
|
-
"
|
|
228
|
-
"
|
|
229
|
-
"
|
|
116
|
+
"prompt": "A photorealistic girl with wings flying over a European countryside",
|
|
117
|
+
"model": "Flash3.1",
|
|
118
|
+
"outputFileName": "girl_wings",
|
|
119
|
+
"outputWidth": 632,
|
|
120
|
+
"outputHeight": 424,
|
|
121
|
+
"output_format": "webp",
|
|
122
|
+
"thinking_mode": "high",
|
|
123
|
+
"grounding_type": "both",
|
|
124
|
+
"include_thoughts": true
|
|
230
125
|
}
|
|
231
126
|
```
|
|
232
127
|
|
|
233
|
-
#### With Reference
|
|
128
|
+
#### With Reference Images
|
|
234
129
|
|
|
235
130
|
```json
|
|
236
131
|
{
|
|
237
|
-
"prompt": "A matching treasure chest, open state, same pixel art style",
|
|
238
|
-
"
|
|
132
|
+
"prompt": "A matching treasure chest, open state, same pixel art style as references",
|
|
133
|
+
"model": "Pro3",
|
|
239
134
|
"outputFileName": "chest_open",
|
|
240
135
|
"outputWidth": 64,
|
|
241
136
|
"outputHeight": 64,
|
|
242
137
|
"transparent": true,
|
|
243
|
-
"
|
|
138
|
+
"reference_images": [
|
|
244
139
|
{
|
|
245
140
|
"description": "Closed chest for style reference",
|
|
246
|
-
"
|
|
141
|
+
"data": "...base64..."
|
|
247
142
|
}
|
|
248
143
|
]
|
|
249
144
|
}
|
|
250
145
|
```
|
|
251
146
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
| Type | Saves File | Returns Base64 | MCP Image Content |
|
|
255
|
-
|------|-----------|----------------|-------------------|
|
|
256
|
-
| `file` | ✓ | ✗ | ✗ |
|
|
257
|
-
| `base64` | ✗ | ✓ | ✓ |
|
|
258
|
-
| `combine` | ✓ | ✓ | ✓ |
|
|
147
|
+
---
|
|
259
148
|
|
|
260
|
-
## Transparency
|
|
149
|
+
## Transparency & Output Formats
|
|
261
150
|
|
|
262
|
-
|
|
151
|
+
- **PNG**: Full alpha, color-key + despill
|
|
152
|
+
- **WebP**: Full alpha, better compression (Flash3.1+)
|
|
153
|
+
- **JPEG**: No transparency (falls back to solid background)
|
|
263
154
|
|
|
264
|
-
|
|
155
|
+
---
|
|
265
156
|
|
|
266
|
-
|
|
267
|
-
- `colorTolerance` around 30 performed best in tests; higher values can increase false positives.
|
|
157
|
+
## Development
|
|
268
158
|
|
|
269
|
-
|
|
159
|
+
```bash
|
|
160
|
+
# Development mode with MCP CLI
|
|
161
|
+
npm run dev
|
|
270
162
|
|
|
271
|
-
| Color | Hex | Best For |
|
|
272
|
-
|-------|-----|----------|
|
|
273
|
-
| Magenta | `#FF00FF` | Most sprites (default, works with both models) |
|
|
274
|
-
| Green | `#00FF00` | Purple/pink objects |
|
|
275
|
-
| Cyan | `#00FFFF` | Red/orange objects |
|
|
276
|
-
| Blue | `#0000FF` | Yellow/green objects |
|
|
277
163
|
|
|
278
|
-
|
|
164
|
+
# MCP Inspector (Web UI)
|
|
165
|
+
npm run inspect
|
|
279
166
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
"transparent": true,
|
|
283
|
-
"transparentColor": "#00FF00",
|
|
284
|
-
"colorTolerance": 30
|
|
285
|
-
}
|
|
167
|
+
# Build for production
|
|
168
|
+
npm run build
|
|
286
169
|
```
|
|
287
170
|
|
|
288
|
-
### Fringe Mode Guidance
|
|
289
|
-
|
|
290
|
-
- Use `crisp` when thin lines risk being removed (pixel art, bicycle spokes, wire meshes).
|
|
291
|
-
- Use `hd` for general high-resolution images where fringe is noticeable.
|
|
292
|
-
- Use `auto` for a size-based default (`crisp` for <= 128px, `hd` otherwise).
|
|
293
|
-
|
|
294
171
|
## License
|
|
295
172
|
|
|
296
173
|
MIT
|
|
174
|
+
|