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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/commands/add-model.md +155 -0
  3. data/.claude/commands/release.md +118 -0
  4. data/.claude/commands/update-model.md +177 -0
  5. data/CLAUDE.md +1 -0
  6. data/README.md +137 -2
  7. data/docs/api/INDEX.md +12 -0
  8. data/docs/api/general/INDEX.md +59 -0
  9. data/docs/api/general/flux-2-flex-image-to-image.md +257 -0
  10. data/docs/api/general/flux-2-flex-text-to-image.md +237 -0
  11. data/docs/api/general/flux-2-pro-image-to-image.md +257 -0
  12. data/docs/api/general/grok-imagine-image-to-image.md +232 -0
  13. data/docs/api/general/grok-imagine-image-to-video.md +257 -0
  14. data/docs/api/general/grok-imagine-text-to-image.md +237 -0
  15. data/docs/api/general/grok-imagine-text-to-video.md +245 -0
  16. data/docs/api/general/grok-imagine-upscale.md +217 -0
  17. data/docs/api/general/nano-banana-pro.md +275 -0
  18. data/docs/api/general/seedream-4-5-edit.md +252 -0
  19. data/docs/api/general/seedream-4-5-text-to-image.md +245 -0
  20. data/docs/api/overview.md +92 -0
  21. data/docs/api/suno/INDEX.md +44 -0
  22. data/docs/api/suno/generate.md +154 -0
  23. data/docs/api/suno/models.md +95 -0
  24. data/docs/api/suno/task-status.md +150 -0
  25. data/docs/development/INDEX.md +1 -0
  26. data/docs/development/adding-new-model.md +195 -0
  27. data/docs/development/technical-design.md +2 -8
  28. data/lib/kie/models/flux_2_flex_image_to_image.rb +16 -0
  29. data/lib/kie/models/flux_2_flex_text_to_image.rb +15 -0
  30. data/lib/kie/models/flux_2_pro_image_to_image.rb +16 -0
  31. data/lib/kie/models/grok_imagine_image_to_image.rb +15 -0
  32. data/lib/kie/models/grok_imagine_image_to_video.rb +19 -0
  33. data/lib/kie/models/grok_imagine_text_to_image.rb +14 -0
  34. data/lib/kie/models/grok_imagine_text_to_video.rb +15 -0
  35. data/lib/kie/models/grok_imagine_upscale.rb +12 -0
  36. data/lib/kie/models/seedream_4_5_edit.rb +16 -0
  37. data/lib/kie/models/seedream_4_5_text_to_image.rb +15 -0
  38. data/lib/kie/version.rb +1 -1
  39. data/lib/kie.rb +10 -0
  40. metadata +33 -1
@@ -0,0 +1,245 @@
1
+ # Seedream 4.5 Text-to-Image API
2
+
3
+ Seedream 4.5 Text-to-Image 画像生成 API。
4
+
5
+ ## 概要
6
+
7
+ Seedream 4.5 Text-to-Image はテキストプロンプトから高品質な画像を生成するモデル。入力画像を必要としない純粋な text-to-image 生成が可能。
8
+
9
+ ## タスク作成
10
+
11
+ ### エンドポイント
12
+
13
+ ```
14
+ POST /api/v1/jobs/createTask
15
+ ```
16
+
17
+ ### リクエストパラメータ
18
+
19
+ #### トップレベル
20
+
21
+ | パラメータ | 型 | 必須 | 説明 |
22
+ |-----------|-----|------|------|
23
+ | `model` | string | Yes | `"seedream/4.5-text-to-image"` 固定 |
24
+ | `input` | object | Yes | 生成パラメータ |
25
+ | `callBackUrl` | string | No | タスク完了時の Webhook URL |
26
+
27
+ #### input オブジェクト
28
+
29
+ | パラメータ | 型 | 必須 | デフォルト | 説明 |
30
+ |-----------|-----|------|-----------|------|
31
+ | `prompt` | string | Yes | - | 画像の説明(最大 3,000 文字) |
32
+ | `aspect_ratio` | string | No | `"1:1"` | 出力アスペクト比 |
33
+ | `quality` | string | No | `"basic"` | 出力品質 |
34
+
35
+ ### aspect_ratio の値
36
+
37
+ | 値 | 説明 |
38
+ |----|------|
39
+ | `1:1` | 正方形 |
40
+ | `4:3` | 横長(4:3) |
41
+ | `3:4` | 縦長(3:4) |
42
+ | `16:9` | 横長(16:9、ワイドスクリーン) |
43
+ | `9:16` | 縦長(9:16、スマートフォン向け) |
44
+ | `2:3` | 縦長(2:3) |
45
+ | `3:2` | 横長(3:2) |
46
+ | `21:9` | 超横長(21:9、シネマスコープ) |
47
+
48
+ ### quality の値
49
+
50
+ | 値 | 説明 |
51
+ |----|------|
52
+ | `basic` | 2K 解像度(標準品質) |
53
+ | `high` | 4K 解像度(高品質) |
54
+
55
+ ### リクエスト例
56
+
57
+ #### 基本的な画像生成
58
+
59
+ ```json
60
+ {
61
+ "model": "seedream/4.5-text-to-image",
62
+ "input": {
63
+ "prompt": "A serene Japanese garden with cherry blossoms in spring"
64
+ }
65
+ }
66
+ ```
67
+
68
+ #### 詳細なパラメータ指定
69
+
70
+ ```json
71
+ {
72
+ "model": "seedream/4.5-text-to-image",
73
+ "input": {
74
+ "prompt": "A futuristic cityscape at sunset with flying cars and neon lights",
75
+ "aspect_ratio": "16:9",
76
+ "quality": "high"
77
+ },
78
+ "callBackUrl": "https://example.com/webhook"
79
+ }
80
+ ```
81
+
82
+ ### レスポンス
83
+
84
+ #### 成功時
85
+
86
+ ```json
87
+ {
88
+ "code": 200,
89
+ "msg": "success",
90
+ "data": {
91
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
92
+ }
93
+ }
94
+ ```
95
+
96
+ #### エラー時
97
+
98
+ ```json
99
+ {
100
+ "code": 400,
101
+ "msg": "Invalid parameters"
102
+ }
103
+ ```
104
+
105
+ ## タスクステータス取得
106
+
107
+ ### エンドポイント
108
+
109
+ ```
110
+ GET /api/v1/jobs/queryTask?taskId={taskId}
111
+ ```
112
+
113
+ ### クエリパラメータ
114
+
115
+ | パラメータ | 型 | 説明 |
116
+ |-----------|-----|------|
117
+ | `taskId` | string | タスク ID |
118
+
119
+ ### レスポンス
120
+
121
+ #### 成功時
122
+
123
+ ```json
124
+ {
125
+ "code": 200,
126
+ "msg": "success",
127
+ "data": {
128
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
129
+ "model": "seedream/4.5-text-to-image",
130
+ "state": "success",
131
+ "param": "{\"prompt\":\"...\"}",
132
+ "resultJson": "{\"resultUrls\":[\"https://...\"]}",
133
+ "costTime": 12000,
134
+ "createTime": 1704067200000,
135
+ "completeTime": 1704067212000
136
+ }
137
+ }
138
+ ```
139
+
140
+ #### 処理中
141
+
142
+ ```json
143
+ {
144
+ "code": 200,
145
+ "msg": "success",
146
+ "data": {
147
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
148
+ "model": "seedream/4.5-text-to-image",
149
+ "state": "waiting"
150
+ }
151
+ }
152
+ ```
153
+
154
+ #### 失敗時
155
+
156
+ ```json
157
+ {
158
+ "code": 200,
159
+ "msg": "success",
160
+ "data": {
161
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
162
+ "model": "seedream/4.5-text-to-image",
163
+ "state": "fail",
164
+ "failCode": "CONTENT_POLICY_VIOLATION",
165
+ "failMsg": "The prompt violates content policy"
166
+ }
167
+ }
168
+ ```
169
+
170
+ ### タスクステータス
171
+
172
+ | ステータス | 説明 | 終了状態 |
173
+ |-----------|------|----------|
174
+ | `waiting` | 処理待ち | No |
175
+ | `success` | 完了 | Yes (成功) |
176
+ | `fail` | 失敗 | Yes (失敗) |
177
+
178
+ ### レスポンスフィールド
179
+
180
+ | フィールド | 型 | 説明 |
181
+ |-----------|-----|------|
182
+ | `taskId` | string | タスク ID |
183
+ | `model` | string | モデル名 |
184
+ | `state` | string | タスクステータス |
185
+ | `param` | string | リクエストパラメータ(JSON 文字列) |
186
+ | `resultJson` | string | 結果(JSON 文字列、成功時のみ) |
187
+ | `failCode` | string | エラーコード(失敗時) |
188
+ | `failMsg` | string | エラーメッセージ(失敗時) |
189
+ | `costTime` | integer | 処理時間(ミリ秒) |
190
+ | `createTime` | integer | 作成日時(Unix ミリ秒) |
191
+ | `completeTime` | integer | 完了日時(Unix ミリ秒) |
192
+
193
+ ## Ruby クライアントでの使用
194
+
195
+ ```ruby
196
+ client = Kie::Client.new(api_key: "your-api-key")
197
+
198
+ # 基本的な画像生成
199
+ task = client.general.generate(
200
+ model: "seedream/4.5-text-to-image",
201
+ input: {
202
+ prompt: "A majestic mountain landscape at dawn"
203
+ }
204
+ )
205
+
206
+ # パラメータ指定
207
+ task = client.general.generate(
208
+ model: "seedream/4.5-text-to-image",
209
+ input: {
210
+ prompt: "An abstract digital art piece with vibrant colors"
211
+ },
212
+ aspect_ratio: "16:9",
213
+ quality: "high"
214
+ )
215
+
216
+ # 結果を取得
217
+ task.wait
218
+
219
+ if task.success?
220
+ image_url = task.urls.first
221
+ puts "Generated: #{image_url}"
222
+ else
223
+ puts "Failed: #{task.error_message}"
224
+ end
225
+ ```
226
+
227
+ ## seedream/4.5-edit との違い
228
+
229
+ | 項目 | seedream/4.5-text-to-image | seedream/4.5-edit |
230
+ |------|---------------------------|-------------------|
231
+ | 入力画像 | 不要 | 必須 |
232
+ | 用途 | テキストから新規画像生成 | 既存画像の編集・変換 |
233
+ | prompt | 画像の説明 | 編集指示 |
234
+
235
+ ## コード参照
236
+
237
+ モデル定義は以下のファイルで管理されている:
238
+
239
+ - `lib/kie/models/seedream_4_5_text_to_image.rb`
240
+
241
+ ## 関連ドキュメント
242
+
243
+ - [API 共通仕様](../overview.md)
244
+ - [Seedream 4.5 Edit API](seedream-4-5-edit.md)
245
+ - [Nano Banana Pro API](nano-banana-pro.md)
@@ -0,0 +1,92 @@
1
+ # API 共通仕様
2
+
3
+ Kie.ai API の共通仕様について説明する。
4
+
5
+ ## 認証
6
+
7
+ すべての API リクエストには Bearer トークンによる認証が必要。
8
+
9
+ ```
10
+ Authorization: Bearer <API_KEY>
11
+ ```
12
+
13
+ ## 共通レスポンス形式
14
+
15
+ ### 成功レスポンス
16
+
17
+ ```json
18
+ {
19
+ "code": 200,
20
+ "msg": "success",
21
+ "data": {
22
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
23
+ }
24
+ }
25
+ ```
26
+
27
+ ### エラーレスポンス
28
+
29
+ ```json
30
+ {
31
+ "code": 400,
32
+ "msg": "Invalid parameters"
33
+ }
34
+ ```
35
+
36
+ ## ステータスコード
37
+
38
+ | コード | 説明 | Ruby クラス |
39
+ |--------|------|-------------|
40
+ | 200 | 成功 | - |
41
+ | 400 | パラメータエラー | `Kie::InvalidParametersError` |
42
+ | 402 | クレジット不足 | `Kie::InsufficientCreditsError` |
43
+ | 422 | バリデーションエラー | `Kie::InvalidParametersError` |
44
+ | 429 | レート制限 | `Kie::RateLimitError` |
45
+
46
+ ## コールバック URL
47
+
48
+ 非同期処理の完了通知を受け取るための Webhook URL。
49
+
50
+ ### 仕様
51
+
52
+ - パラメータ名: `callBackUrl` (Suno) / `callBackUrl` (General)
53
+ - 形式: 有効な HTTP/HTTPS URL
54
+ - タスク完了時に POST リクエストが送信される
55
+
56
+ ### コールバックペイロード例
57
+
58
+ ```json
59
+ {
60
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
61
+ "status": "SUCCESS",
62
+ "data": { ... }
63
+ }
64
+ ```
65
+
66
+ ## タスクステータス
67
+
68
+ ### Suno タスクステータス
69
+
70
+ | ステータス | 説明 |
71
+ |-----------|------|
72
+ | `PENDING` | 処理待ち |
73
+ | `TEXT_SUCCESS` | テキスト処理完了 |
74
+ | `FIRST_SUCCESS` | 最初の生成完了 |
75
+ | `SUCCESS` | 完了 |
76
+ | `CREATE_TASK_FAILED` | タスク作成失敗 |
77
+ | `GENERATE_AUDIO_FAILED` | 音声生成失敗 |
78
+ | `CALLBACK_EXCEPTION` | コールバック例外 |
79
+ | `SENSITIVE_WORD_ERROR` | 禁止ワード検出 |
80
+
81
+ ### General タスクステータス
82
+
83
+ | ステータス | 説明 |
84
+ |-----------|------|
85
+ | `waiting` | 処理待ち |
86
+ | `success` | 完了 |
87
+ | `fail` | 失敗 |
88
+
89
+ ## 関連ドキュメント
90
+
91
+ - [Suno API](./suno/INDEX.md)
92
+ - [General API](./general/INDEX.md)
@@ -0,0 +1,44 @@
1
+ # Suno API
2
+
3
+ Suno 音楽生成 API のドキュメント。
4
+
5
+ ## ドキュメント一覧
6
+
7
+ - `generate.md`: 音楽生成 API(Generate Music)
8
+ - `task-status.md`: タスクステータス取得 API
9
+ - `models.md`: モデルバージョン別仕様
10
+
11
+ ## 概要
12
+
13
+ Suno API は AI による音楽生成を提供する。テキストプロンプトから楽曲を生成し、非同期でタスク結果を取得する。
14
+
15
+ ### エンドポイント
16
+
17
+ | 操作 | エンドポイント | メソッド |
18
+ |------|---------------|---------|
19
+ | 音楽生成 | `/api/v1/generate` | POST |
20
+ | ステータス取得 | `/api/v1/generate/{taskId}` | GET |
21
+
22
+ ### Ruby クライアントでの使用例
23
+
24
+ ```ruby
25
+ client = Kie::Client.new(api_key: "your-api-key")
26
+
27
+ # 音楽を生成
28
+ task = client.generate(
29
+ model: "V4_5",
30
+ input: {
31
+ prompt: "A happy pop song about summer",
32
+ custom_mode: false,
33
+ instrumental: false
34
+ }
35
+ )
36
+
37
+ # 結果を取得
38
+ result = task.wait
39
+ ```
40
+
41
+ ## 関連ドキュメント
42
+
43
+ - [API 共通仕様](../overview.md)
44
+ - [General API](../general/INDEX.md)
@@ -0,0 +1,154 @@
1
+ # Suno Generate Music API
2
+
3
+ 音楽を生成する API。
4
+
5
+ ## エンドポイント
6
+
7
+ ```
8
+ POST /api/v1/generate
9
+ ```
10
+
11
+ ## リクエストパラメータ
12
+
13
+ ### 必須パラメータ
14
+
15
+ | パラメータ | 型 | 説明 |
16
+ |-----------|-----|------|
17
+ | `model` | string | モデルバージョン。[モデル一覧](./models.md)を参照 |
18
+ | `customMode` | boolean | カスタムモードの有効化。詳細な制御が可能になる |
19
+ | `instrumental` | boolean | `true` の場合、ボーカルなしの楽曲を生成 |
20
+ | `prompt` | string | 楽曲の説明またはリリック。文字数制限は[モデル別仕様](./models.md)を参照 |
21
+
22
+ ### 条件付き必須パラメータ
23
+
24
+ `customMode: true` の場合に必要。
25
+
26
+ | パラメータ | 型 | 説明 |
27
+ |-----------|-----|------|
28
+ | `style` | string | 音楽のジャンルや雰囲気。文字数制限は[モデル別仕様](./models.md)を参照 |
29
+ | `title` | string | 楽曲タイトル(最大 80 文字) |
30
+
31
+ ### オプションパラメータ
32
+
33
+ | パラメータ | 型 | 値 | 説明 |
34
+ |-----------|-----|-----|------|
35
+ | `callBackUrl` | string | URL | タスク完了時の Webhook URL |
36
+ | `negativeTags` | string | - | 除外するスタイルや特性 |
37
+ | `vocalGender` | string | `m`, `f` | ボーカルの性別(`customMode: true` 時のみ有効) |
38
+ | `styleWeight` | number | 0–1 | スタイル適用の強度(小数点以下 2 桁) |
39
+ | `weirdnessConstraint` | number | 0–1 | 創造的逸脱の制御(小数点以下 2 桁) |
40
+ | `audioWeight` | number | 0–1 | オーディオ特性のバランス(小数点以下 2 桁) |
41
+ | `personaId` | string | - | カスタムペルソナ ID(`customMode: true` 時のみ有効) |
42
+
43
+ ## リクエスト例
44
+
45
+ ### シンプルモード
46
+
47
+ ```json
48
+ {
49
+ "model": "V4_5",
50
+ "customMode": false,
51
+ "instrumental": false,
52
+ "prompt": "A happy pop song about summer vacation",
53
+ "callBackUrl": "https://example.com/webhook"
54
+ }
55
+ ```
56
+
57
+ ### カスタムモード
58
+
59
+ ```json
60
+ {
61
+ "model": "V5",
62
+ "customMode": true,
63
+ "instrumental": false,
64
+ "prompt": "[Verse 1]\nSunshine on the beach...\n[Chorus]\nSummer days are here...",
65
+ "style": "upbeat pop, acoustic guitar, summer vibes",
66
+ "title": "Summer Days",
67
+ "negativeTags": "sad, melancholic",
68
+ "vocalGender": "f",
69
+ "callBackUrl": "https://example.com/webhook"
70
+ }
71
+ ```
72
+
73
+ ### インストゥルメンタル
74
+
75
+ ```json
76
+ {
77
+ "model": "V4_5",
78
+ "customMode": true,
79
+ "instrumental": true,
80
+ "prompt": "Background music for a video game",
81
+ "style": "orchestral, epic, cinematic",
82
+ "title": "Epic Adventure",
83
+ "callBackUrl": "https://example.com/webhook"
84
+ }
85
+ ```
86
+
87
+ ## レスポンス
88
+
89
+ ### 成功時
90
+
91
+ ```json
92
+ {
93
+ "code": 200,
94
+ "msg": "success",
95
+ "data": {
96
+ "taskId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### エラー時
102
+
103
+ ```json
104
+ {
105
+ "code": 400,
106
+ "msg": "Invalid parameters"
107
+ }
108
+ ```
109
+
110
+ ## Ruby クライアントでの使用
111
+
112
+ ```ruby
113
+ client = Kie::Client.new(api_key: "your-api-key")
114
+
115
+ # シンプルモード
116
+ task = client.generate(
117
+ model: "V4_5",
118
+ input: {
119
+ prompt: "A happy pop song",
120
+ custom_mode: false,
121
+ instrumental: false
122
+ }
123
+ )
124
+
125
+ # カスタムモード
126
+ task = client.generate(
127
+ model: "V5",
128
+ input: {
129
+ prompt: "[Verse]\nLyrics here...",
130
+ custom_mode: true,
131
+ instrumental: false,
132
+ style: "pop, acoustic",
133
+ title: "My Song",
134
+ negative_tags: "sad",
135
+ vocal_gender: "f"
136
+ }
137
+ )
138
+ ```
139
+
140
+ ## バリデーション
141
+
142
+ クライアントライブラリは以下のバリデーションを実行する:
143
+
144
+ - `prompt` の文字数がモデル・モードの制限内か
145
+ - `style` の文字数がモデルの制限内か(`customMode: true` 時)
146
+ - `title` が 80 文字以内か(`customMode: true` 時)
147
+
148
+ バリデーションエラー時は `Kie::ValidationError` が発生する。
149
+
150
+ ## 関連ドキュメント
151
+
152
+ - [モデルバージョン別仕様](./models.md)
153
+ - [タスクステータス取得](./task-status.md)
154
+ - [API 共通仕様](../overview.md)
@@ -0,0 +1,95 @@
1
+ # Suno モデルバージョン別仕様
2
+
3
+ Suno API で使用可能なモデルバージョンとその仕様。
4
+
5
+ ## 利用可能なモデル
6
+
7
+ | モデル | 説明 |
8
+ |--------|------|
9
+ | `V4` | 基本モデル |
10
+ | `V4_5` | V4 の改良版 |
11
+ | `V4_5PLUS` | V4.5 の高品質版 |
12
+ | `V4_5ALL` | V4.5 の全機能版 |
13
+ | `V5` | 最新モデル |
14
+
15
+ ## 文字数制限
16
+
17
+ ### prompt
18
+
19
+ | モデル | シンプルモード | カスタムモード |
20
+ |--------|----------------|----------------|
21
+ | V4 | 500 文字 | 3,000 文字 |
22
+ | V4_5 | 500 文字 | 5,000 文字 |
23
+ | V4_5PLUS | 500 文字 | 5,000 文字 |
24
+ | V4_5ALL | 500 文字 | 5,000 文字 |
25
+ | V5 | 500 文字 | 5,000 文字 |
26
+
27
+ ### style(カスタムモード時)
28
+
29
+ | モデル | 最大文字数 |
30
+ |--------|-----------|
31
+ | V4 | 200 文字 |
32
+ | V4_5 | 1,000 文字 |
33
+ | V4_5PLUS | 1,000 文字 |
34
+ | V4_5ALL | 1,000 文字 |
35
+ | V5 | 1,000 文字 |
36
+
37
+ ### title
38
+
39
+ 全モデル共通: **最大 80 文字**
40
+
41
+ ## モード別の動作
42
+
43
+ ### シンプルモード (`customMode: false`)
44
+
45
+ - `prompt` のみで楽曲を生成
46
+ - AI が自動的にスタイルとタイトルを決定
47
+ - prompt の最大文字数: 500 文字
48
+
49
+ ### カスタムモード (`customMode: true`)
50
+
51
+ - `style` と `title` が指定可能(必須)
52
+ - `prompt` にリリック構造を含められる(`[Verse]`, `[Chorus]` など)
53
+ - 詳細な音楽生成パラメータを制御可能
54
+ - `vocalGender`, `personaId` が有効になる
55
+
56
+ ## コード参照
57
+
58
+ モデル定義は以下のファイルで管理されている:
59
+
60
+ - `lib/kie/models/suno_v4.rb`
61
+ - `lib/kie/models/suno_v4_5.rb`
62
+ - `lib/kie/models/suno_v4_5_plus.rb`
63
+ - `lib/kie/models/suno_v4_5_all.rb`
64
+ - `lib/kie/models/suno_v5.rb`
65
+
66
+ ## Ruby クライアントでの使用
67
+
68
+ ```ruby
69
+ # V4 モデル(基本)
70
+ task = client.generate(
71
+ model: "V4",
72
+ input: {
73
+ prompt: "A jazz song",
74
+ custom_mode: false,
75
+ instrumental: false
76
+ }
77
+ )
78
+
79
+ # V5 モデル(最新)でカスタムモード
80
+ task = client.generate(
81
+ model: "V5",
82
+ input: {
83
+ prompt: "[Verse 1]\n長いリリック...\n[Chorus]\n...",
84
+ custom_mode: true,
85
+ instrumental: false,
86
+ style: "詳細なスタイル指定(最大1000文字)",
87
+ title: "楽曲タイトル"
88
+ }
89
+ )
90
+ ```
91
+
92
+ ## 関連ドキュメント
93
+
94
+ - [音楽生成 API](./generate.md)
95
+ - [タスクステータス取得](./task-status.md)