kie-ruby 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/.claude/commands/add-model.md +155 -0
- data/.claude/commands/release.md +118 -0
- data/.claude/commands/update-model.md +177 -0
- data/CLAUDE.md +1 -0
- data/README.md +137 -2
- data/docs/api/INDEX.md +12 -0
- data/docs/api/general/INDEX.md +59 -0
- data/docs/api/general/flux-2-flex-image-to-image.md +257 -0
- data/docs/api/general/flux-2-flex-text-to-image.md +237 -0
- data/docs/api/general/flux-2-pro-image-to-image.md +257 -0
- data/docs/api/general/grok-imagine-image-to-image.md +232 -0
- data/docs/api/general/grok-imagine-image-to-video.md +257 -0
- data/docs/api/general/grok-imagine-text-to-image.md +237 -0
- data/docs/api/general/grok-imagine-text-to-video.md +245 -0
- data/docs/api/general/grok-imagine-upscale.md +217 -0
- data/docs/api/general/nano-banana-pro.md +275 -0
- data/docs/api/general/seedream-4-5-edit.md +252 -0
- data/docs/api/general/seedream-4-5-text-to-image.md +245 -0
- data/docs/api/overview.md +92 -0
- data/docs/api/suno/INDEX.md +44 -0
- data/docs/api/suno/generate.md +154 -0
- data/docs/api/suno/models.md +95 -0
- data/docs/api/suno/task-status.md +150 -0
- data/docs/development/INDEX.md +1 -0
- data/docs/development/adding-new-model.md +195 -0
- data/docs/development/technical-design.md +2 -8
- data/lib/kie/models/flux_2_flex_image_to_image.rb +16 -0
- data/lib/kie/models/flux_2_flex_text_to_image.rb +15 -0
- data/lib/kie/models/flux_2_pro_image_to_image.rb +16 -0
- data/lib/kie/models/grok_imagine_image_to_image.rb +15 -0
- data/lib/kie/models/grok_imagine_image_to_video.rb +19 -0
- data/lib/kie/models/grok_imagine_text_to_image.rb +14 -0
- data/lib/kie/models/grok_imagine_text_to_video.rb +15 -0
- data/lib/kie/models/grok_imagine_upscale.rb +12 -0
- data/lib/kie/models/seedream_4_5_edit.rb +16 -0
- data/lib/kie/models/seedream_4_5_text_to_image.rb +15 -0
- data/lib/kie/version.rb +1 -1
- data/lib/kie.rb +10 -0
- metadata +33 -1
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# Grok Imagine Image-to-Video API
|
|
2
|
+
|
|
3
|
+
Grok Imagine Image-to-Video 動画生成 API。
|
|
4
|
+
|
|
5
|
+
## 概要
|
|
6
|
+
|
|
7
|
+
Grok Imagine Image-to-Video は静止画像から動画を生成するモデル。入力画像とオプションのモーションプロンプトを組み合わせて、画像をアニメーション化する。
|
|
8
|
+
|
|
9
|
+
### 入力方法
|
|
10
|
+
|
|
11
|
+
このモデルは2つの入力方法をサポートしており、**相互排他的**である:
|
|
12
|
+
|
|
13
|
+
1. **外部画像 URL**(`image_urls`): 任意の外部画像 URL を指定
|
|
14
|
+
2. **Grok タスク参照**(`task_id` + `index`): 過去の Grok 生成タスクの画像を参照
|
|
15
|
+
|
|
16
|
+
## タスク作成
|
|
17
|
+
|
|
18
|
+
### エンドポイント
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
POST /api/v1/jobs/createTask
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### リクエストパラメータ
|
|
25
|
+
|
|
26
|
+
#### トップレベル
|
|
27
|
+
|
|
28
|
+
| パラメータ | 型 | 必須 | 説明 |
|
|
29
|
+
|-----------|-----|------|------|
|
|
30
|
+
| `model` | string | Yes | `"grok-imagine/image-to-video"` 固定 |
|
|
31
|
+
| `input` | object | Yes | 入力パラメータ |
|
|
32
|
+
| `callBackUrl` | string | No | タスク完了時の Webhook URL |
|
|
33
|
+
|
|
34
|
+
#### input オブジェクト
|
|
35
|
+
|
|
36
|
+
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|
|
37
|
+
|-----------|-----|------|-----------|------|
|
|
38
|
+
| `prompt` | string | No | - | モーション指示(最大 5,000 文字) |
|
|
39
|
+
| `image_urls` | array | No* | - | 入力画像 URL(最大 1 枚) |
|
|
40
|
+
| `task_id` | string | No* | - | 参照する Grok タスク ID(最大 100 文字) |
|
|
41
|
+
| `index` | number | No | - | 参照タスクの画像インデックス(0-5) |
|
|
42
|
+
| `mode` | string | No | `"normal"` | 生成モード |
|
|
43
|
+
|
|
44
|
+
*注意: `image_urls` と `task_id` は相互排他的。どちらか一方を指定する。
|
|
45
|
+
|
|
46
|
+
#### mode の値
|
|
47
|
+
|
|
48
|
+
| 値 | 説明 |
|
|
49
|
+
|----|------|
|
|
50
|
+
| `fun` | 楽しい・カジュアルなアニメーション |
|
|
51
|
+
| `normal` | 標準的なアニメーション |
|
|
52
|
+
| `spicy` | より大胆なアニメーション(外部画像使用時は `normal` に自動切替) |
|
|
53
|
+
|
|
54
|
+
### 入力画像の仕様
|
|
55
|
+
|
|
56
|
+
| 項目 | 制限 |
|
|
57
|
+
|------|------|
|
|
58
|
+
| 画像枚数 | 最大 1 枚 |
|
|
59
|
+
| 最大ファイルサイズ | 10 MB |
|
|
60
|
+
| 対応形式 | JPEG, PNG, WebP |
|
|
61
|
+
|
|
62
|
+
### リクエスト例
|
|
63
|
+
|
|
64
|
+
#### 外部画像 URL を使用
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"model": "grok-imagine/image-to-video",
|
|
69
|
+
"input": {
|
|
70
|
+
"prompt": "Make the person wave their hand gently",
|
|
71
|
+
"image_urls": [
|
|
72
|
+
"https://example.com/person.jpg"
|
|
73
|
+
],
|
|
74
|
+
"mode": "normal"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
#### Grok タスク参照を使用
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"model": "grok-imagine/image-to-video",
|
|
84
|
+
"input": {
|
|
85
|
+
"prompt": "Add a gentle breeze effect to the scene",
|
|
86
|
+
"task_id": "previous-grok-task-id",
|
|
87
|
+
"index": 0,
|
|
88
|
+
"mode": "fun"
|
|
89
|
+
},
|
|
90
|
+
"callBackUrl": "https://example.com/webhook"
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### レスポンス
|
|
95
|
+
|
|
96
|
+
#### 成功時
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"code": 200,
|
|
101
|
+
"msg": "success",
|
|
102
|
+
"data": {
|
|
103
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### エラー時
|
|
109
|
+
|
|
110
|
+
```json
|
|
111
|
+
{
|
|
112
|
+
"code": 400,
|
|
113
|
+
"msg": "Invalid parameters"
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## タスクステータス取得
|
|
118
|
+
|
|
119
|
+
### エンドポイント
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
GET /api/v1/jobs/queryTask?taskId={taskId}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### クエリパラメータ
|
|
126
|
+
|
|
127
|
+
| パラメータ | 型 | 説明 |
|
|
128
|
+
|-----------|-----|------|
|
|
129
|
+
| `taskId` | string | タスク ID |
|
|
130
|
+
|
|
131
|
+
### レスポンス
|
|
132
|
+
|
|
133
|
+
#### 成功時
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"code": 200,
|
|
138
|
+
"msg": "success",
|
|
139
|
+
"data": {
|
|
140
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
141
|
+
"model": "grok-imagine/image-to-video",
|
|
142
|
+
"state": "success",
|
|
143
|
+
"param": "{\"prompt\":\"...\",\"image_urls\":[...]}",
|
|
144
|
+
"resultJson": "{\"resultUrls\":[\"https://...\"]}",
|
|
145
|
+
"costTime": 30000,
|
|
146
|
+
"createTime": 1704067200000,
|
|
147
|
+
"completeTime": 1704067230000
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### 処理中
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"code": 200,
|
|
157
|
+
"msg": "success",
|
|
158
|
+
"data": {
|
|
159
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
160
|
+
"model": "grok-imagine/image-to-video",
|
|
161
|
+
"state": "waiting"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### 失敗時
|
|
167
|
+
|
|
168
|
+
```json
|
|
169
|
+
{
|
|
170
|
+
"code": 200,
|
|
171
|
+
"msg": "success",
|
|
172
|
+
"data": {
|
|
173
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
174
|
+
"model": "grok-imagine/image-to-video",
|
|
175
|
+
"state": "fail",
|
|
176
|
+
"failCode": "CONTENT_POLICY_VIOLATION",
|
|
177
|
+
"failMsg": "The prompt violates content policy"
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### タスクステータス
|
|
183
|
+
|
|
184
|
+
| ステータス | 説明 | 終了状態 |
|
|
185
|
+
|-----------|------|----------|
|
|
186
|
+
| `waiting` | 処理待ち | No |
|
|
187
|
+
| `success` | 完了 | Yes (成功) |
|
|
188
|
+
| `fail` | 失敗 | Yes (失敗) |
|
|
189
|
+
|
|
190
|
+
### レスポンスフィールド
|
|
191
|
+
|
|
192
|
+
| フィールド | 型 | 説明 |
|
|
193
|
+
|-----------|-----|------|
|
|
194
|
+
| `taskId` | string | タスク ID |
|
|
195
|
+
| `model` | string | モデル名 |
|
|
196
|
+
| `state` | string | タスクステータス |
|
|
197
|
+
| `param` | string | リクエストパラメータ(JSON 文字列) |
|
|
198
|
+
| `resultJson` | string | 結果(JSON 文字列、成功時のみ) |
|
|
199
|
+
| `failCode` | string | エラーコード(失敗時) |
|
|
200
|
+
| `failMsg` | string | エラーメッセージ(失敗時) |
|
|
201
|
+
| `costTime` | integer | 処理時間(ミリ秒) |
|
|
202
|
+
| `createTime` | integer | 作成日時(Unix ミリ秒) |
|
|
203
|
+
| `completeTime` | integer | 完了日時(Unix ミリ秒) |
|
|
204
|
+
|
|
205
|
+
## Ruby クライアントでの使用
|
|
206
|
+
|
|
207
|
+
```ruby
|
|
208
|
+
client = Kie::Client.new(api_key: "your-api-key")
|
|
209
|
+
|
|
210
|
+
# 外部画像 URL を使用した動画生成
|
|
211
|
+
task = client.general.generate(
|
|
212
|
+
model: "grok-imagine/image-to-video",
|
|
213
|
+
input: {
|
|
214
|
+
prompt: "Make the character dance gracefully",
|
|
215
|
+
image_urls: ["https://example.com/character.jpg"]
|
|
216
|
+
},
|
|
217
|
+
mode: "fun"
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
# Grok タスク参照を使用した動画生成
|
|
221
|
+
task = client.general.generate(
|
|
222
|
+
model: "grok-imagine/image-to-video",
|
|
223
|
+
input: {
|
|
224
|
+
prompt: "Add a cinematic camera movement",
|
|
225
|
+
task_id: "previous-task-id",
|
|
226
|
+
index: 2
|
|
227
|
+
},
|
|
228
|
+
mode: "normal"
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
# 結果を取得
|
|
232
|
+
task.wait
|
|
233
|
+
|
|
234
|
+
if task.success?
|
|
235
|
+
video_url = task.urls.first
|
|
236
|
+
puts "Generated: #{video_url}"
|
|
237
|
+
else
|
|
238
|
+
puts "Failed: #{task.error_message}"
|
|
239
|
+
end
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
## 注意事項
|
|
243
|
+
|
|
244
|
+
1. **相互排他的入力**: `image_urls` と `task_id` は同時に指定できない
|
|
245
|
+
2. **spicy モードの制限**: 外部画像使用時、`spicy` モードは自動的に `normal` に切り替わる
|
|
246
|
+
3. **動画出力**: 結果 URL は動画ファイル(MP4 等)を指す
|
|
247
|
+
|
|
248
|
+
## コード参照
|
|
249
|
+
|
|
250
|
+
モデル定義は以下のファイルで管理されている:
|
|
251
|
+
|
|
252
|
+
- `lib/kie/models/grok_imagine_image_to_video.rb`
|
|
253
|
+
|
|
254
|
+
## 関連ドキュメント
|
|
255
|
+
|
|
256
|
+
- [API 共通仕様](../overview.md)
|
|
257
|
+
- [Flux 2 Pro Image-to-Image API](flux-2-pro-image-to-image.md)
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Grok Imagine Text-to-Image API
|
|
2
|
+
|
|
3
|
+
Grok Imagine Text-to-Image 画像生成 API。
|
|
4
|
+
|
|
5
|
+
## 概要
|
|
6
|
+
|
|
7
|
+
Grok Imagine Text-to-Image はテキストプロンプトから画像を生成するモデル。1 リクエストにつき 6 枚の画像を生成する特徴を持つ。
|
|
8
|
+
|
|
9
|
+
## タスク作成
|
|
10
|
+
|
|
11
|
+
### エンドポイント
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
POST /api/v1/jobs/createTask
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### リクエストパラメータ
|
|
18
|
+
|
|
19
|
+
#### トップレベル
|
|
20
|
+
|
|
21
|
+
| パラメータ | 型 | 必須 | 説明 |
|
|
22
|
+
|-----------|-----|------|------|
|
|
23
|
+
| `model` | string | Yes | `"grok-imagine/text-to-image"` 固定 |
|
|
24
|
+
| `input` | object | Yes | 入力パラメータ |
|
|
25
|
+
| `callBackUrl` | string | No | タスク完了時の Webhook URL |
|
|
26
|
+
|
|
27
|
+
#### input オブジェクト
|
|
28
|
+
|
|
29
|
+
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|
|
30
|
+
|-----------|-----|------|-----------|------|
|
|
31
|
+
| `prompt` | string | Yes | - | 画像の説明(最大 5,000 文字) |
|
|
32
|
+
|
|
33
|
+
#### パラメータ
|
|
34
|
+
|
|
35
|
+
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|
|
36
|
+
|-----------|-----|------|-----------|------|
|
|
37
|
+
| `aspect_ratio` | string | No | `"3:2"` | アスペクト比 |
|
|
38
|
+
|
|
39
|
+
#### aspect_ratio の値
|
|
40
|
+
|
|
41
|
+
| 値 | 説明 |
|
|
42
|
+
|----|------|
|
|
43
|
+
| `2:3` | 縦長 |
|
|
44
|
+
| `3:2` | 横長(デフォルト) |
|
|
45
|
+
| `1:1` | 正方形 |
|
|
46
|
+
| `9:16` | 縦長(スマートフォン向け) |
|
|
47
|
+
| `16:9` | 横長(ワイドスクリーン) |
|
|
48
|
+
|
|
49
|
+
### リクエスト例
|
|
50
|
+
|
|
51
|
+
#### 基本的な使用
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"model": "grok-imagine/text-to-image",
|
|
56
|
+
"input": {
|
|
57
|
+
"prompt": "A futuristic city at sunset with flying cars"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
#### すべてのパラメータを指定
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"model": "grok-imagine/text-to-image",
|
|
67
|
+
"input": {
|
|
68
|
+
"prompt": "A serene Japanese garden with cherry blossoms in full bloom"
|
|
69
|
+
},
|
|
70
|
+
"aspect_ratio": "16:9",
|
|
71
|
+
"callBackUrl": "https://example.com/webhook"
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### レスポンス
|
|
76
|
+
|
|
77
|
+
#### 成功時
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"code": 200,
|
|
82
|
+
"msg": "success",
|
|
83
|
+
"data": {
|
|
84
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### エラー時
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"code": 400,
|
|
94
|
+
"msg": "Invalid parameters"
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## タスクステータス取得
|
|
99
|
+
|
|
100
|
+
### エンドポイント
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
GET /api/v1/jobs/queryTask?taskId={taskId}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### クエリパラメータ
|
|
107
|
+
|
|
108
|
+
| パラメータ | 型 | 説明 |
|
|
109
|
+
|-----------|-----|------|
|
|
110
|
+
| `taskId` | string | タスク ID |
|
|
111
|
+
|
|
112
|
+
### レスポンス
|
|
113
|
+
|
|
114
|
+
#### 成功時
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"code": 200,
|
|
119
|
+
"msg": "success",
|
|
120
|
+
"data": {
|
|
121
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
122
|
+
"model": "grok-imagine/text-to-image",
|
|
123
|
+
"state": "success",
|
|
124
|
+
"param": "{\"prompt\":\"...\"}",
|
|
125
|
+
"resultJson": "{\"resultUrls\":[\"https://...\",\"https://...\",\"https://...\",\"https://...\",\"https://...\",\"https://...\"]}",
|
|
126
|
+
"costTime": 15000,
|
|
127
|
+
"createTime": 1704067200000,
|
|
128
|
+
"completeTime": 1704067215000
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### 処理中
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"code": 200,
|
|
138
|
+
"msg": "success",
|
|
139
|
+
"data": {
|
|
140
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
141
|
+
"model": "grok-imagine/text-to-image",
|
|
142
|
+
"state": "waiting"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
#### 失敗時
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"code": 200,
|
|
152
|
+
"msg": "success",
|
|
153
|
+
"data": {
|
|
154
|
+
"taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
155
|
+
"model": "grok-imagine/text-to-image",
|
|
156
|
+
"state": "fail",
|
|
157
|
+
"failCode": "CONTENT_POLICY_VIOLATION",
|
|
158
|
+
"failMsg": "The prompt violates content policy"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### タスクステータス
|
|
164
|
+
|
|
165
|
+
| ステータス | 説明 | 終了状態 |
|
|
166
|
+
|-----------|------|----------|
|
|
167
|
+
| `waiting` | 処理待ち | No |
|
|
168
|
+
| `success` | 完了 | Yes (成功) |
|
|
169
|
+
| `fail` | 失敗 | Yes (失敗) |
|
|
170
|
+
|
|
171
|
+
### レスポンスフィールド
|
|
172
|
+
|
|
173
|
+
| フィールド | 型 | 説明 |
|
|
174
|
+
|-----------|-----|------|
|
|
175
|
+
| `taskId` | string | タスク ID |
|
|
176
|
+
| `model` | string | モデル名 |
|
|
177
|
+
| `state` | string | タスクステータス |
|
|
178
|
+
| `param` | string | リクエストパラメータ(JSON 文字列) |
|
|
179
|
+
| `resultJson` | string | 結果(JSON 文字列、成功時のみ) |
|
|
180
|
+
| `failCode` | string | エラーコード(失敗時) |
|
|
181
|
+
| `failMsg` | string | エラーメッセージ(失敗時) |
|
|
182
|
+
| `costTime` | integer | 処理時間(ミリ秒) |
|
|
183
|
+
| `createTime` | integer | 作成日時(Unix ミリ秒) |
|
|
184
|
+
| `completeTime` | integer | 完了日時(Unix ミリ秒) |
|
|
185
|
+
|
|
186
|
+
## Ruby クライアントでの使用
|
|
187
|
+
|
|
188
|
+
```ruby
|
|
189
|
+
client = Kie::Client.new(api_key: "your-api-key")
|
|
190
|
+
|
|
191
|
+
# 基本的な画像生成
|
|
192
|
+
task = client.general.generate(
|
|
193
|
+
model: "grok-imagine/text-to-image",
|
|
194
|
+
input: {
|
|
195
|
+
prompt: "A majestic mountain landscape at dawn"
|
|
196
|
+
}
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
# パラメータを指定した画像生成
|
|
200
|
+
task = client.general.generate(
|
|
201
|
+
model: "grok-imagine/text-to-image",
|
|
202
|
+
input: {
|
|
203
|
+
prompt: "A cyberpunk cityscape with neon lights and rain"
|
|
204
|
+
},
|
|
205
|
+
aspect_ratio: "16:9"
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
# 結果を取得
|
|
209
|
+
task.wait
|
|
210
|
+
|
|
211
|
+
if task.success?
|
|
212
|
+
# 6 枚の画像 URL を取得
|
|
213
|
+
task.urls.each_with_index do |url, index|
|
|
214
|
+
puts "Image #{index + 1}: #{url}"
|
|
215
|
+
end
|
|
216
|
+
else
|
|
217
|
+
puts "Failed: #{task.error_message}"
|
|
218
|
+
end
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## 注意事項
|
|
222
|
+
|
|
223
|
+
1. **6 枚同時生成**: 1 リクエストにつき 6 枚の画像を生成。resultUrls 配列には 6 つの URL が含まれる
|
|
224
|
+
2. **mode パラメータなし**: text-to-video とは異なり、mode(fun/normal/spicy)パラメータは存在しない
|
|
225
|
+
3. **デフォルトアスペクト比**: `3:2`(text-to-video のデフォルト `2:3` とは異なる)
|
|
226
|
+
|
|
227
|
+
## コード参照
|
|
228
|
+
|
|
229
|
+
モデル定義は以下のファイルで管理されている:
|
|
230
|
+
|
|
231
|
+
- `lib/kie/models/grok_imagine_text_to_image.rb`
|
|
232
|
+
|
|
233
|
+
## 関連ドキュメント
|
|
234
|
+
|
|
235
|
+
- [API 共通仕様](../overview.md)
|
|
236
|
+
- [Grok Imagine Text-to-Video API](grok-imagine-text-to-video.md)
|
|
237
|
+
- [Grok Imagine Image-to-Image API](grok-imagine-image-to-image.md)
|