エンドポイント
画像
POST /images/generations で画像モデルを使って画像を生成、編集する方法です。リクエストパラメーター、レスポンス、チャット経由の画像生成、画像モデルの一覧の取得、料金とエラーを説明します。POST /images も別名として使えます。
プレイグラウンドで試すカタログのすべての画像モデル(GPT image、Gemini image、FLUX、Seedream、Recraft など)で、画像の生成と編集ができます。エンドポイントは OpenAI SDK のパスを使うため、client.images.generate(...) がそのまま動作します。
POST https://api14.com/api/v1/images/generations
POST /api/v1/images も別名として受け付けます。どちらもボディを変更せずに転送します。
リクエスト
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 画像モデルの ID。例: openai/gpt-5.4-image-2。 |
prompt | string | はい | 描く内容。 |
n | integer | いいえ | 画像の枚数。画像ごとに課金されます。 |
size | string | いいえ | 例: 1024x1024、1536x1024。対応するサイズはモデルによって異なります。 |
aspect_ratio | string | いいえ | 例: 16:9、1:1。サイズではなく比率を受け取るモデル向け。 |
quality | string | いいえ | 例: low、medium、high(対応するモデルのみ)。 |
response_format | string | いいえ | b64_json または url(対応するモデルのみ)。 |
image | string または string[] | いいえ | 編集や画像から画像の生成に使う参照画像。URL または data: URI で指定します。 |
モデル固有のオプション(解像度、アスペクト比)は、GET /images/models と各モデルのページにモデルごとに記載されています。
例
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.images.generate({
"model": "openai/gpt-5.4-image-2",
"prompt": "A minimalist product photo of a ceramic mug on a wooden table",
"n": 1,
"aspect_ratio": "1:1"
});
import { writeFile } from "node:fs/promises";
await writeFile("image.png", Buffer.from(result.data[0].b64_json, "base64"));
レスポンス
{
"created": 1791100000,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
],
"usage": { "cost": 0.04 }
}
b64_json の代わりに url を返すモデルもあります。ホストされた URL はすぐにダウンロードしてください。有効期限が切れることがあります。
チャット経由の画像
テキストも出力する画像モデルは、modalities を指定して Chat Completions から呼び出せます。
{
"model": "google/gemini-2.5-flash-image",
"modalities": ["image", "text"],
"messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}
生成された画像は、choices[0].message.images[] にデータ URL として返されます。
画像モデルの一覧
# Public, no API key needed
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"
料金
画像モデルは、モデルによって画像 1 枚あたり、または 1M 画像トークンあたりの表示価格で課金されます。正確な料金は上流のレスポンスから取得され、USD 残高から差し引かれます。
エラー
| ステータス | コード | 発生条件 |
|---|---|---|
| 400 | model_required / invalid_json | model がない、またはボディの形式が正しくない。 |
| 402 | insufficient_balance | USD 残高が $0。 |
| 403 | model_not_allowed / plan_required | キーの許可リストまたはプランにモデルが含まれていない。 |
| 404 | model_not_found | モデル ID が不明、または無効化されている。 |
| 413 | payload_too_large | ボディ(インラインの参照画像など)がサイズ上限を超えている。 |
上流の検証エラー(未対応のサイズ、コンテンツポリシー)は、そのステータスのまま返されます。エラーを参照してください。