画像生成APIドキュメント
KozeAIは、OpenAIスタイルの画像生成および編集インターフェースを提供します。画像インターフェースは統一された画像レスポンスフォーマットを返しますが、モデルがサポートする具体的なサイズ、品質、参照画像、および出力フォーマットは、チャネルアダプタによって決定されます。
認証
すべてのリクエストは、Authorization: Bearer を使用して認証されます。コンソールでAPIトークンを作成した後に使用されます。
export KOZEAI_API_KEY='sk-your-token'
export KOZEAI_BASE_URL='https://your-kozeai-domain'
API概要
| メソッド | パス | コンテンツタイプ | 目的 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| POST | /v1/images/generations |
application/json |
テキスト生成画像 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
model |
string | はい | 画像モデル名。実際に使用可能なモデルは、/v1/models の戻り値に基づきます。 |
prompt |
string | はい | 画像コンテンツの説明。空でない文字列を使用することをお勧めします。 |
n |
整数 | いいえ | 生成される要素数。デフォルト値は1、一般的な検証範囲は1-10です。 |
size |
文字列 | いいえ | 画像サイズまたはアスペクト比。具体的な値はモデルによって決定されます。 |
quality |
文字列 | いいえ | 品質レベル。一般的な値。 standard、hd、auto、2k、4kです。 |
response_format |
string | いいえ | 一般的な値はurlまたはb64_jsonです。 |
style |
any | No | OpenAI互換のスタイルパラメータ。 |
user / user_id |
any | No | 呼び出し元のユーザー識別子。 |
extra_fields |
object | No | 追加の構造化パラメータ。その有効性はチャネルアダプタに依存します。 |
background |
any | No | 背景設定。 |
moderation |
any | No | コンテンツモデレーション設定。 |
output_format |
any | No | 出力画像フォーマット。 |
output_compression |
整数 | いいえ | 出力圧縮パラメータ。一部のCodexイメージモデルでサポートされています。 |
partial_images |
整数 | いいえ | 画像/ストリーミング関連のパラメータ。一部のCodexイメージモデルでサポートされています。 |
watermark |
ブール値 | いいえ | ウォーターマークのスイッチ。有効性はチャネルによって異なります。 |
watermark_enabled |
any | No | 一部のアップストリームのウォーターマークパラメータと互換性があります。 |
image |
string/object/array | No | 画像URL、データURL、または画像オブジェクトを参照してください。 | 一部のチャンネルは自動的に編集プロセスに入ります。
DALL·E サイズとデフォルト
| モデル | size 許可サイズ値 |
デフォルト値 |
|---|---|---|
dall-e-2 / dall-e |
256x256、512x512、1024x1024 |
1024x1024 |
dall-e-3 |
1024x1024、1024x1792、1792x1024 |
1024x1024 |
gpt-image-1 / gpt-image-2 |
上流モデルによって決定されます | quality=auto |
size 半角文字xを使用してください。乗算記号×は使用しないでください。
2. 画像編集
標準の編集リクエストはマルチパートフォームを使用し、画像フィールドはimageという名前です。複数の入力画像は、imageまたはimage[]を使用して再利用できます。
curl '$KOZEAI_BASE_URL/v1/images/edits' \
-H 'Authorization: Bearer $KOZEAI_API_KEY' \
-F 'model=gpt-image-1' \
-F 'prompt=背景を夜景に変更し、被写体の詳細を保持します' \
-F 'image=@./input.png' \
-F 'n=1' \
-F 'quality=standard'
共通フォームフィールド:
| フィールド | タイプ | 説明 |
|---|---|---|
model |
string | 画像編集モデル。 |
prompt |
string | 編集要件。 |
image / image[] |
file | 画像を入力してください(少なくとも1つ)。 |
マスク |
ファイル | マスク画像;主にOpenAI/Codex互換の編集ワークフローで使用されます。 |
n |
整数 | 生成される要素数。デフォルト値は1、範囲は1-10です。 |
size |
文字列 | 出力サイズまたは比率。 |
quality |
文字列 | 出力品質。 |
response_format |
string | url または b64_json (チャネルによって異なります)。 |
watermark |
boolean | ウォーターマークのスイッチ (チャネルによって異なります)。 |
一部のチャネルでは、image をデータ URL または画像 URL に設定するなど、JSON 編集リクエストもサポートしています。ただし、OpenAI、Codex、および ChatGPT の OAuth 編集パスでは、マルチパート形式が優先されます。
3.チャネルの違い
| チャネル | その他の動作 |
|---|---|
| OpenAI / DALL·E | OpenAIの画像フィールドから転送されます。DALL·Eではsizeの検証が厳密に行われます。 |
| xAI | sizeはaspect_ratioとresolutionに変換されます。response_formatはデフォルトでb64_jsonになります。aspect_ratioやresolutionなどの追加のJSONパラメータもサポートされています。 |
| Flow | size 1:1、16:9、9:16、4:3、3:4のアスペクト比をサポートします。quality=2k/4k を指定するとスケーリング処理が実行されます。参照画像はimage でアップロードされます。 |
| Jimeng / Dreamina | size はアスペクト比のマッピングに使用されます。quality=hd を指定すると高解像度が選択され、参照画像がブレンド処理に使用されます。 |
| Codex | さらに、input_fidelity、mask、stream、output_format、output_compression、partial_imagesをサポートしています。 |
| ChatGPT OAuth | 実際には、model、prompt、nを使用して画像を編集します。その他の画像パラメータは無視される場合があります。 |
| Grok | response_format url または b64_json のみをサポートし、デフォルトは url です。編集リクエストには少なくとも 1 つの画像が必要です。 |
公開フィールドで定義されていないパラメータは、自動的に渡されることが保証されません。対応するチャネルアダプタによって明示的に読み取られた追加パラメータのみが有効になります。
4.レスポンスフォーマット
{
"created": 1751000000,
"data": [
{
"url": "https://example.com/generated.png",
"b64_json": "",
"revised_prompt": "窓辺に座るオレンジ色の猫、映画のような光と影"
}
]
}
`response_format=b64_json`の場合、画像コンテンツは`data[].b64_json`に格納されます。URL形式を使用する場合、画像アドレスは`data[].url`に格納されます。チャネルによっては、使用されていないフィールドに対して空の文字列が返される場合があります。
5. JavaScript呼び出し例
const baseURL = process.env.KOZEAI_BASE_URL;
const apiKey = process.env.KOZEAI_API_KEY;
const response = await fetch(`${baseURL}/v1/images/generations`, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-image-1',
prompt: '白い背景にミニマルな製品イラスト',
n: 1, size: 1024x1024,
response_format: url,
}),
});
if (!response.ok) {
throw new Error(await response.text());
}
const result = await response.json();
console.log(result.data[0].url || result.data[0].b64_json);
6. よくあるエラー
model is required:モデル名が指定されていません。prompt is required:プロンプトワードが空です。n must be between 1 and 10:生成数が公開制限を超えています。size must be one of the ...:DALL·E はサポートされていないサイズを使用しています。image is required:編集インターフェースで画像がアップロードされていないか、認識可能な画像参照が提供されていません。unsupported ... response_format:ターゲットチャネルが要求された出力形式をサポートしていません。