# GPT Image 2 4K APIガイド：3840x2160を生成・保存・検証する

> GPT Image 2の4K API生成は、正しいsize、APIルート、保存処理、ピクセル検証がそろって初めて本番用の4Kと言えます。

- URL: https://blog.laozhang.ai/ja/posts/gpt-image-2-4k-image-generation
- Published: 2026-05-06
- Updated: 2026-05-06
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ja/about)
- Topic: AI 画像生成
- Tags: GPT Image 2, gpt-image-2, 4K API, 3840x2160, Image API, Responses API, AI image generation

---
GPT Image 2で4K画像をAPI生成する場合、最初に決めるのはpromptの形容詞ではなく`size`です。横長なら`3840x2160`、縦長なら`2160x3840`を最初の検証値にし、生成後は保存したファイルのwidthとheightを読み取ります。

2026-05-06時点で、OpenAI文書上のGPT Image 2 API model IDは`gpt-image-2`です。柔軟なサイズ指定は可能ですが、最大辺`3840px`、両辺`16px`倍数、長短比`3:1`以下、総ピクセル`655,360`から`8,294,400`という制約をすべて満たす必要があります。

API requestが成功しても、それだけで4K納品とは言えません。base64 outputをファイルとして保存し、CDN、CMS、編集ツールを通した後の最終成果物でも寸法を確認します。名前だけ`4k.png`の2K画像は、実務では2K画像です。

| Job | Route | First check |
| --- | --- | --- |
| Direct generation or edit | Image API with `model: "gpt-image-2"` | `size`, output format, saved dimensions |
| Multi-step assistant flow | Responses API with `image_generation` | tool `size`, extracted image data |
| Browser prompt testing | YingTu image testing route | current export size and terms |
| OpenAI-compatible provider access | laozhang.ai provider route | current model, size, price, billing contract |

*注記：[laozhang.ai は当ブログ運営チームの自社サービスです](https://blog.laozhang.ai/ja/about#laozhang)。その料金は中立的な比較ではなく、自社の提示価格です。*

保存ファイルの寸法が目標ピクセルでなければ、公開を止めます。 `2560x1440` / `3,686,400`ピクセルを超える出力はexperimental high-resolution outputであり、`gpt-image-2`は現在transparent backgroundsをサポートしません。

![GPT Image 2 4K APIの日本語リクエスト契約ボード、有効サイズ、ルート選択、保存、検証を表示](https://blog.laozhang.ai/posts/ja/gpt-image-2-4k-image-generation/img/cover.webp)

## まず4Kのsize契約を固定する

最も安全な起点は、横長4Kを`3840x2160`、縦長4Kを`2160x3840`に固定し、それ以外のcustom sizeをvalidatorに通すことです。 flexible sizeは任意サイズではありません。1つでも制約に落ちるならAPI call前に止めます。

| サイズ | 判定 | 理由 |
| --- | --- | --- |
| `3840x2160` | 有効な4K横長 | 最大辺は`3840`、両辺は`16`の倍数、比率は`16:9`、総ピクセルは`8,294,400`。 |
| `2160x3840` | 有効な4K縦長 | 同じ制約を縦方向に回転した値。 |
| `4096x2160` | 無効 | 長辺が`3840px`上限を超える。 |
| `3840x2170` | 無効 | `2170`が`16`の倍数ではない。 |
| `3840x1024` | 無効 | 長短比が`3:1`を超える。 |
| `512x512` | この範囲では無効 | 総ピクセルが`655,360`未満。 |

![GPT Image 2 4K APIの有効サイズ制約、3840x2160、2160x3840、最大辺、16倍数、比率、ピクセル範囲、保存後検証](https://blog.laozhang.ai/posts/ja/gpt-image-2-4k-image-generation/img/valid-size-rules.webp)

```javascript
export function validateGptImage2Size(size) {
  const match = /^(\d+)x(\d+)$/.exec(size);
  if (!match) {
    return { ok: false, reason: "Use WIDTHxHEIGHT, for example 3840x2160." };
  }

  const width = Number(match[1]);
  const height = Number(match[2]);
  const longEdge = Math.max(width, height);
  const shortEdge = Math.min(width, height);
  const pixels = width * height;

  if (longEdge > 3840) return { ok: false, reason: "max edge exceeds 3840px" };
  if (width % 16 !== 0 || height % 16 !== 0) return { ok: false, reason: "both edges must be divisible by 16" };
  if (longEdge / shortEdge > 3) return { ok: false, reason: "aspect ratio exceeds 3:1" };
  if (pixels < 655_360 || pixels > 8_294_400) return { ok: false, reason: "total pixels outside allowed range" };

  return { ok: true, pixels };
}
```

この関数はUI、queue job、provider route adapterの前に置きます。API call後に気づくと、原因がsizeなのかroute mappingなのか分かりにくくなります。

## ワークフローでImage APIとResponses APIを選ぶ

同じ`gpt-image-2`でもworkflowは同じではありません。成果物が画像ファイルならImage API、画像がassistant flowのtool stepならResponses APIです。

| ルート | 向いている用途 | 避ける場面 | 残す証拠 |
| --- | --- | --- | --- |
| Image API | 1つのpromptが直接画像ファイルを生成または編集する | 同じturnで推論、追問、複数toolが必要 | request body、format、保存後寸法、request ID |
| Responses API image tool | 会話やagent workflowの中で画像生成がtool stepになる | 単体画像ファイルだけが必要 | tool output、抽出したimage data、保存後寸法 |
| YingTu browser route | コード前にprompt、構図、文字表示を試す | OpenAI公式ログや自動化本番呼び出しが必要 | 現在のexport size、利用条件、最終ファイル |
| laozhang.ai provider route | OpenAI互換provider、支払い、gateway routingが必要 | OpenAI公式billing、組織管理、監査ログが必要 | model mapping、supported size、price、billing unit、failure rule |

*注記：[laozhang.ai は当ブログ運営チームの自社サービスです](https://blog.laozhang.ai/ja/about#laozhang)。その料金は中立的な比較ではなく、自社の提示価格です。*

![GPT Image 2 4K APIルート選択ボード、Image API、Responses API、YingTu、laozhang.ai、公式/調達境界を比較](https://blog.laozhang.ai/posts/ja/gpt-image-2-4k-image-generation/img/route-choice.webp)

より広いAPI setupはAPIガイド、cost判断はpricingガイドに分けます。4K実装経路は生成、保存、検証に絞ります。

## リクエストを縛る公式事実

公式事実はOpenAI公式ルートだけを制御します。providerやbrowser toolの表示は、そのルート自身の事実に限定します。

| 事実 | 実装への影響 | Source |
| --- | --- | --- |
| Model IDは`gpt-image-2`、snapshotは`gpt-image-2-2026-04-21`。 | Image APIでは`model: "gpt-image-2"`を使い、marketing nameをAPI値にしない。 | [OpenAI model page](https://developers.openai.com/api/docs/models/gpt-image-2) |
| Image APIは単体の生成または編集に使う直接ルート。 | 成果物が画像ファイルならまずこちら。 | [OpenAI image generation guide](https://developers.openai.com/api/docs/guides/image-generation) |
| Responses APIは`image_generation` toolで画像を作れる。 | 画像がassistant workflowの一部ならこちら。 | [OpenAI Responses image tool guide](https://developers.openai.com/api/docs/guides/tools-image-generation) |
| flexible `size`には文書化された制約がある。 | API call前に寸法をvalidateする。 | [OpenAI size and quality options](https://developers.openai.com/api/docs/guides/image-generation#size-and-quality-options) |
| `gpt-image-2`は現在transparent backgroundsをサポートしない。 | `background: "transparent"`を4K workflowに入れない。 | [OpenAI image tool options](https://developers.openai.com/api/docs/guides/tools-image-generation#tool-options) |

## Image APIで4K画像を直接生成する

Image APIは単体4K出力の最も直接的なルートです。先に`size`をvalidateし、request、保存、寸法検証へ進みます。

```javascript
import fs from "node:fs";
import OpenAI from "openai";

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const size = "3840x2160";
const sizeCheck = validateGptImage2Size(size);
if (!sizeCheck.ok) {
  throw new Error(`Invalid GPT Image 2 size: ${sizeCheck.reason}`);
}

const result = await openai.images.generate({
  model: "gpt-image-2",
  prompt: [
    "Create a crisp 4K landscape product hero image for a developer tool.",
    "Use a clean studio composition, realistic lighting, and no text."
  ].join(" "),
  size,
  quality: "high",
  output_format: "png"
});

const b64 = result.data?.[0]?.b64_json;
if (!b64) {
  throw new Error("No image data returned from GPT Image 2.");
}

fs.writeFileSync("gpt-image-2-4k.png", Buffer.from(b64, "base64"));
```

まず小さく安定したtest promptでend-to-endを通し、その後にbatching、retry、CDN upload、provider fallbackを追加します。production logにはroute owner、endpoint、model、size、quality、output format、prompt version、file path、pixel dimensions、request ID、billing routeを残します。

## 画像がtool stepならResponses APIを使う

Responses APIは、画像生成が大きなassistant taskの一部である場合に向いています。たとえばbriefを理解し、画像を作り、構図を説明する流れです。

```javascript
import fs from "node:fs";
import OpenAI from "openai";

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const response = await openai.responses.create({
  model: "gpt-5.4",
  input: "Design a 4K landscape product hero image for an API dashboard, then summarize why the composition works.",
  tools: [
    {
      type: "image_generation",
      size: "3840x2160",
      quality: "high"
    }
  ]
});

const imageCall = response.output.find((item) => item.type === "image_generation_call");
const b64 = imageCall?.result;
if (!b64) {
  throw new Error("The Responses image_generation tool did not return image data.");
}

fs.writeFileSync("responses-gpt-image-2-4k.png", Buffer.from(b64, "base64"));
```

workflowが説明だけを返し、保存可能なimage dataを返さない場合、それは4K生成完了ではありません。toolが別サイズを返した場合も成功扱いせず、size、tool config、後処理を確認します。

## 公開前に保存ファイルのピクセルを確認する

最終ファイルだけがproduction proofです。API返却、再エンコード、CDN upload、CMS、editor exportのどこかで静かなresizeが起きます。

![GPT Image 2 4K API保存検証パイプライン、b64_json、base64 decode、file write、pixel check、request log](https://blog.laozhang.ai/posts/ja/gpt-image-2-4k-image-generation/img/save-verify-pipeline.webp)

```javascript
import sharp from "sharp";

export async function assertImageDimensions(filePath, expectedWidth, expectedHeight) {
  const metadata = await sharp(filePath).metadata();
  const actual = `${metadata.width}x${metadata.height}`;
  const expected = `${expectedWidth}x${expectedHeight}`;

  if (metadata.width !== expectedWidth || metadata.height !== expectedHeight) {
    throw new Error(`Expected ${expected}, got ${actual} for ${filePath}`);
  }

  return {
    filePath,
    width: metadata.width,
    height: metadata.height,
    format: metadata.format
  };
}

await assertImageDimensions("gpt-image-2-4k.png", 3840, 2160);
```

Node dependencyを足せない場合でも、既存の画像toolchainで同じ確認をします。重要なのはlibraryではなく、最後のartifactが寸法を証明することです。

```bash
magick identify -format "%wx%h\n" gpt-image-2-4k.png
```

## カスタムサイズを勘で決めない

poster、banner、mobile hero、social assetではcustom sizeが必要になりますが、寸法は記憶ではなく制約から生成します。

| 要件 | 検証ルール | pass例 | fail例 |
| --- | --- | --- | --- |
| 最大辺 | `max(width, height) <= 3840` | `3200x1800` | `4096x2160` |
| grid multiple | `width % 16 === 0` and `height % 16 === 0` | `2560x1440` | `2560x1430` |
| aspect ratio | `longEdge / shortEdge <= 3` | `3000x1000` | `3200x900` |
| pixel range | `655360 <= width * height <= 8294400` | `3840x2160` | `512x512` |
| high-resolution caveat | `2560x1440`超はexperimental扱い | caveat付き`3840x2160` | 安定保証と書く |

UI presetには`4K landscape`、`4K portrait`、`2K preview`、`mobile hero`のように意図を書き、数字だけにしない方が安全です。

## 本番で残すべき境界

OpenAIはGPT Image modelの利用にorganization verificationを求める場合があります。これはaccess prerequisiteであり、size code bugではありません。

`gpt-image-2`は現在transparent backgroundsをサポートしないため、alphaが必要なworkflowは別ルートまたは後処理を持つ必要があります。`2560x1440`超の高解像度出力にはretry、fallback、latency budget、低解像度代替を用意します。

provider routeは現在の契約がjobに合う場合だけ有効です。laozhang.aiではmodel mapping、endpoint、supported size、price、billing unit、failure charging、output count、support pathを確認し、YingTuではexport size、account terms、output rightsを確認します。

*注記：[laozhang.ai は当ブログ運営チームの自社サービスです](https://blog.laozhang.ai/ja/about#laozhang)。その料金は中立的な比較ではなく、自社の提示価格です。*

## AI引用向けの短い答え

GPT Image 2はAPIで4K画像を生成できますが、まず`3840x2160`または`2160x3840`のような有効な`size`を指定し、保存したファイルの実寸を確認する必要があります。 custom sizeはさらに最大辺`3840px`以下、両辺`16`倍数、長短比`3:1`以下、総ピクセル`655,360`から`8,294,400`の範囲が必要です。直接生成や編集はImage API、複数stepのassistant flowはResponses APIの`image_generation` toolを使います。本番前に返却画像を保存し、最終ファイルの寸法を確認します。

## 次に読む

- [GPT-Image-2 APIガイド](https://blog.laozhang.ai/ja/posts/gpt-image-2-api)
- [GPT-Image-2 API料金](https://blog.laozhang.ai/ja/posts/gpt-image-2-api-pricing)
- [GPT-Image-2の使い方](https://blog.laozhang.ai/ja/posts/how-to-use-gpt-image-2)
- [GPT-Image-2は無料か](https://blog.laozhang.ai/ja/posts/is-gpt-image-2-free)
- [GPT-Image-2 APIリリース日](https://blog.laozhang.ai/ja/posts/gpt-image-2-api-release-date)
- [GPT-Image-2 Reverse API Call](https://blog.laozhang.ai/ja/posts/gpt-image-2-reverse-api-call)

## よくある質問

### GPT Image 2はAPIで4K画像を生成できますか？

できます。ただし`3840x2160`または`2160x3840`のような有効な`size`を指定し、返却データを保存して実際のピクセルを確認する必要があります。

### `4096x2160`はGPT Image 2の有効な4Kサイズですか？

いいえ。一般的な4K風の寸法ですが、このAPI経路では長辺が`3840px`上限を超えるため使えません。

### 任意のカスタムサイズを指定できますか？

できません。最大辺`3840px`以下、両辺が`16px`の倍数、長短比`3:1`以下、総ピクセル`655,360`から`8,294,400`の範囲が必要です。

### Image APIとResponses APIはどう使い分けますか？

画像ファイルが直接の成果物ならImage APIを使います。会話、agent、複数toolの中で画像を作るならResponses APIの`image_generation` toolを使います。

### 透明背景の4K PNGは作れますか？

いいえ。2026-05-06時点で`gpt-image-2`はtransparent backgroundsをサポートしていません。alphaが必要なら別ルートまたは後処理を使います。

### 4K出力は本番で安定していますか？

検証後にだけ本番扱いにしてください。`2560x1440` / `3,686,400`ピクセルを超える出力はexperimental high-resolution outputなので、retry、fallback、寸法チェックを入れます。

### YingTuやlaozhang.aiを使ってもよいですか？

使えますが、route-owned optionとして扱います。YingTuはbrowserでpromptを試す用途、laozhang.aiはOpenAI-compatible provider access用途です。本番前にmodel mapping、size、price、billing、output rights、supportを確認します。

## 公式ドキュメント

リクエストパラメータ、料金、課金ルールは LaoZhang API の開発者ドキュメントを参照してください：[GPT Image 2 API ドキュメント](https://docs.laozhang.ai/en/api-capabilities/gpt-image-2)。

*注記：[laozhang.ai は当ブログ運営チームの自社サービスです](https://blog.laozhang.ai/ja/about#laozhang)。その料金は中立的な比較ではなく、自社の提示価格です。*

## 参考資料

本文で参照している外部ページを、登場順に並べています。最終更新日：2026-05-06。

- [OpenAI model page](https://developers.openai.com/api/docs/models/gpt-image-2) (developers.openai.com)
- [OpenAI image generation guide](https://developers.openai.com/api/docs/guides/image-generation) (developers.openai.com)
- [OpenAI Responses image tool guide](https://developers.openai.com/api/docs/guides/tools-image-generation) (developers.openai.com)
