@nogataka/imgen 0.1.0
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.md +157 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1365 -0
- package/package.json +51 -0
package/README.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# imgen
|
|
2
|
+
|
|
3
|
+
Azure OpenAI を使った画像生成・編集・説明 CLI ツール。gpt-image-1.5 による画像生成/編集と、gpt-5.1 によるプロンプト拡張・ファイル名生成・画像説明を提供します。
|
|
4
|
+
|
|
5
|
+
## インストール
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @nogataka/imgen
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## セットアップ
|
|
12
|
+
|
|
13
|
+
### 環境変数(推奨)
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com"
|
|
17
|
+
export AZURE_OPENAI_API_KEY="your-api-key"
|
|
18
|
+
export AZURE_OPENAI_DEPLOYMENT_NAME="gpt-5.1"
|
|
19
|
+
export AZURE_OPENAI_DEPLOYMENT_NAME_IMAGE="gpt-image-1.5"
|
|
20
|
+
export AZURE_OPENAI_API_VERSION="2024-02-15-preview"
|
|
21
|
+
export AZURE_OPENAI_IMAGE_API_VERSION="2025-04-01-preview"
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 対話式設定
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
imgen configure
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Azure OpenAI の接続情報やデフォルト値を対話的に設定できます。設定は `~/.imgen/config.json` に保存されます。
|
|
31
|
+
|
|
32
|
+
環境変数が設定されている場合、環境変数が優先されます。
|
|
33
|
+
|
|
34
|
+
## 使い方
|
|
35
|
+
|
|
36
|
+
### 画像生成
|
|
37
|
+
|
|
38
|
+
テキストから画像を生成します。プロンプトは gpt-5.1 で自動拡張されます。
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
imgen image gen "夕日の海辺の風景"
|
|
42
|
+
imgen image gen "可愛い猫のマスコット" -s 1536x1024 -q high
|
|
43
|
+
imgen image gen "ミニマルなロゴ" -c context.md -o logo.png
|
|
44
|
+
imgen image gen "商品写真" -p builtin:landscape
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| オプション | 短縮 | 説明 | デフォルト |
|
|
48
|
+
|-----------|------|------|-----------|
|
|
49
|
+
| `--size <size>` | `-s` | `1024x1024`, `1536x1024`, `1024x1536` | `1024x1024` |
|
|
50
|
+
| `--quality <quality>` | `-q` | `low`, `medium`, `high` | `high` |
|
|
51
|
+
| `--format <format>` | `-f` | `png`, `jpg`, `webp` | `png` |
|
|
52
|
+
| `--preset <name>` | `-p` | プリセット名 | - |
|
|
53
|
+
| `--context <path>` | `-c` | コンテキストファイル (.md/.txt) | - |
|
|
54
|
+
| `--output <path>` | `-o` | 出力先ファイルまたはディレクトリ | カレントディレクトリ |
|
|
55
|
+
| `--json` | | JSON 形式で出力 | - |
|
|
56
|
+
| `--dry-run` | | API を呼ばずに設定を確認 | - |
|
|
57
|
+
| `--debug` | `-d` | デバッグログを有効化 | - |
|
|
58
|
+
|
|
59
|
+
### 画像編集
|
|
60
|
+
|
|
61
|
+
既存の画像を自然言語の指示で AI 編集します。
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
imgen image edit photo.jpg "背景を青空に変更"
|
|
65
|
+
imgen image edit portrait.png "アニメスタイルに変換" -s 1536x1024
|
|
66
|
+
imgen image edit image.png "色を鮮やかに" -o edited/
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
対応入力形式: `.jpg`, `.jpeg`, `.png`, `.gif`, `.webp`
|
|
70
|
+
|
|
71
|
+
| オプション | 短縮 | 説明 | デフォルト |
|
|
72
|
+
|-----------|------|------|-----------|
|
|
73
|
+
| `--size <size>` | `-s` | 出力サイズ | `1024x1024` |
|
|
74
|
+
| `--format <format>` | `-f` | `png`, `jpg`, `webp` | `png` |
|
|
75
|
+
| `--output <path>` | `-o` | 出力先 | カレントディレクトリ |
|
|
76
|
+
| `--json` | | JSON 形式で出力 | - |
|
|
77
|
+
| `--dry-run` | | 設定確認のみ | - |
|
|
78
|
+
|
|
79
|
+
### 画像説明
|
|
80
|
+
|
|
81
|
+
画像の内容を指定した言語で説明します。
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
imgen image explain screenshot.png
|
|
85
|
+
imgen image explain photo.jpg -l en
|
|
86
|
+
imgen image explain chart.png -c "Q4 sales report" -f json -o description.json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
| オプション | 短縮 | 説明 | デフォルト |
|
|
90
|
+
|-----------|------|------|-----------|
|
|
91
|
+
| `--lang <lang>` | `-l` | 出力言語(下記参照) | `ja` |
|
|
92
|
+
| `--format <format>` | `-f` | `markdown`, `json` | `markdown` |
|
|
93
|
+
| `--context <text>` | `-c` | コンテキスト(テキストまたはファイルパス) | - |
|
|
94
|
+
| `--output <path>` | `-o` | 出力ファイル(省略時は標準出力) | - |
|
|
95
|
+
|
|
96
|
+
対応言語: `ja`(日本語), `en`(英語), `zh`(中国語), `ko`(韓国語), `es`(スペイン語), `fr`(フランス語), `de`(ドイツ語), `it`(イタリア語), `ru`(ロシア語), `vi`(ベトナム語)
|
|
97
|
+
|
|
98
|
+
## プリセット
|
|
99
|
+
|
|
100
|
+
よく使う設定をプリセットとして保存・呼び出しできます。
|
|
101
|
+
|
|
102
|
+
### ビルトインプリセット
|
|
103
|
+
|
|
104
|
+
| 名前 | サイズ | 品質 | 用途 |
|
|
105
|
+
|------|--------|------|------|
|
|
106
|
+
| `builtin:square` | 1024x1024 | high | 正方形、アイコン |
|
|
107
|
+
| `builtin:landscape` | 1536x1024 | high | 横長、風景 |
|
|
108
|
+
| `builtin:portrait` | 1024x1536 | high | 縦長、ポートレート |
|
|
109
|
+
| `builtin:draft` | 1024x1024 | low | 下書き、プロトタイプ |
|
|
110
|
+
| `builtin:photo` | 1536x1024 | high | 商品写真 |
|
|
111
|
+
|
|
112
|
+
### カスタムプリセット
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
imgen preset save myhd -s 1536x1024 -q high -f png
|
|
116
|
+
imgen preset list
|
|
117
|
+
imgen preset delete myhd
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
プリセットは `~/.imgen/presets.json` に保存されます。
|
|
121
|
+
|
|
122
|
+
## ログ
|
|
123
|
+
|
|
124
|
+
操作ログは `~/.imgen/logs/` に JSON Lines 形式で保存されます。
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
imgen log # 直近 20 件
|
|
128
|
+
imgen log -n 50 -l debug # 直近 50 件(DEBUG 以上)
|
|
129
|
+
imgen log -l error # エラーのみ
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## 設定の優先順位
|
|
133
|
+
|
|
134
|
+
1. CLI オプション(最優先)
|
|
135
|
+
2. プリセット値(`-p` 指定時)
|
|
136
|
+
3. 設定ファイル(`~/.imgen/config.json`)
|
|
137
|
+
4. デフォルト値
|
|
138
|
+
|
|
139
|
+
## 開発
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
git clone https://github.com/nogataka/imgen.git
|
|
143
|
+
cd imgen
|
|
144
|
+
npm install
|
|
145
|
+
cp .env.example .env # Azure OpenAI の認証情報を記入
|
|
146
|
+
|
|
147
|
+
npm run dev -- image gen "テスト" # 開発実行
|
|
148
|
+
npm test # テスト
|
|
149
|
+
npm run check # 型チェック
|
|
150
|
+
npm run lint # ESLint
|
|
151
|
+
npm run check-all # 全チェック(型+lint+format+テスト)
|
|
152
|
+
npm run build # ビルド
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## ライセンス
|
|
156
|
+
|
|
157
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|