API ReferenceImage APIs
GPT Image 2 非同期画像 API
ReachAPI は、GPT Image 2 向けのタスク型画像 API を提供しています。タスク状態の確認、完了時コールバック、最終画像 URL の data[].url での取得が必要な場合は、この非同期 API を使用してください。
非同期 API では公開モデルコード gpt-image-2-async を使用します。このコードは POST /v1/images/create 専用です。OpenAI Image API 互換インターフェースの /v1/images/generations と /v1/images/edits では、引き続き gpt-image-2 を使用します。
1. 概要
- タスク送信:
POST https://direct.reachapi.ai/v1/images/create - タスク照会:
GET https://direct.reachapi.ai/v1/tasks/{task_id} - モデルコード:
gpt-image-2-async - 実行方式: 非同期タスク
- 結果フィールド:
data[].url
リクエストヘッダー:
Authorization: Bearer YOUR_REACH_API_KEY
Content-Type: application/json2. タスク送信
リクエスト body:
{
"model": "gpt-image-2-async",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A children's book drawing of a veterinarian using a stethoscope to listen to a small animal.",
"resolution": "1k",
"aspect_ratio": "2:3",
"quality": "medium",
"background": "auto",
"moderation": "auto",
"output_format": "png"
}
}2.1 トップレベルパラメーター
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | gpt-image-2-async を指定します |
callback_url | string | いいえ | タスク完了時の HTTPS コールバック URL。最大長は 2048。ローカル、プライベートネットワーク、localhost 宛先は拒否されます |
input | object | はい | 画像生成パラメーター |
2.2 input パラメーター
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | はい | 画像生成または画像編集のプロンプト |
image_urls | array<string> | いいえ | 参照画像 URL。省略または空配列はテキストから画像への生成、1 件以上は画像編集を表します。最大 14 枚 |
size | string | いいえ | 正確な出力サイズ。例: 1024x1536。指定すると resolution + aspect_ratio より優先されます |
resolution | string | いいえ | 標準解像度。対応値: 1k, 2k, 4k。省略時は 1k |
aspect_ratio | string | いいえ | 標準アスペクト比。対応値: 1:1, 3:2, 2:3。省略時は 1:1 |
quality | string | いいえ | 品質。対応値: low, medium, high。省略時は medium |
background | string | いいえ | 背景モード。対応値: auto, opaque, transparent。gpt-image-2 は transparent に対応していません |
moderation | string | いいえ | モデレーションモード。対応値: auto, low |
output_format | string | いいえ | 希望する出力形式。対応値: png, jpeg, webp |
補足:
input.sizeはresolution + aspect_ratioより優先されますinput.sizeは、最長辺が3840px以下、両辺が16pxの倍数、長辺と短辺の比率が3:1以下、総ピクセル数が655,360以上8,294,400以下である必要がありますbackground=transparentとoutput_format=jpegは同時に使用できません- ローカル画像を使う場合は、先にアクセス可能な HTTPS URL としてアップロードし、
input.image_urlsに渡してください
2.3 標準サイズの対応
resolution + aspect_ratio | 出力サイズ |
|---|---|
1k + 1:1 | 1024x1024 |
1k + 3:2 | 1536x1024 |
1k + 2:3 | 1024x1536 |
2k + 1:1 | 2048x2048 |
2k + 3:2 | 2048x1152 |
4k + 3:2 | 3840x2160 |
4k + 2:3 | 2160x3840 |
表にない組み合わせが必要な場合は、input.size で正確な出力サイズを指定してください。
3. 料金
非同期タスク API は、正規化された resolution + quality に基づいてリクエスト単位で課金されます。
quality は大文字小文字を区別せず、low、medium、high に正規化されます。省略時は medium です。
quality | 1k | 2k | 4k |
|---|---|---|---|
low | $0.010 | $0.020 | $0.030 |
medium | $0.060 | $0.120 | $0.180 |
high | $0.220 | $0.440 | $0.660 |
課金に使われる解像度は次のように決まります。
input.sizeがある場合、幅と高さのピクセル数から1k、2k、4kに分類されますinput.sizeがない場合はinput.resolutionを使用します。省略時は1kです
4. リクエスト例
4.1 テキストから画像
curl -X POST "https://direct.reachapi.ai/v1/images/create" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-async",
"input": {
"prompt": "An editorial fashion photo of a silver handbag on a reflective pedestal, soft studio lighting",
"resolution": "4k",
"aspect_ratio": "2:3",
"quality": "high",
"output_format": "png"
}
}'4.2 カスタムサイズ
curl -X POST "https://direct.reachapi.ai/v1/images/create" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-async",
"input": {
"prompt": "A fashion poster with a tall custom composition",
"size": "2336x3504",
"quality": "high",
"output_format": "png"
}
}'4.3 画像編集
curl -X POST "https://direct.reachapi.ai/v1/images/create" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-async",
"input": {
"prompt": "Turn this sneaker photo into a premium e-commerce hero shot with a clean studio background",
"image_urls": [
"https://cdn.example.com/reference-1.png"
],
"resolution": "1k",
"aspect_ratio": "1:1",
"quality": "medium",
"output_format": "jpeg"
}
}'5. 送信レスポンス
{
"code": 200,
"msg": "",
"status": "queued",
"task_id": "task_xxx",
"data": []
}| フィールド | 型 | 説明 |
|---|---|---|
code | integer | ビジネスステータスコード |
msg | string | 状態またはエラーメッセージ |
status | string | 初期タスク状態。通常は queued |
task_id | string | 結果照会に使うタスク ID |
data | array | 送信時点では空配列 |
6. タスク照会
リクエスト:
curl -X GET "https://direct.reachapi.ai/v1/tasks/task_xxx" \
-H "Authorization: Bearer YOUR_REACH_API_KEY"ステータス:
| ステータス | 説明 |
|---|---|
queued | 受理済み、実行待ち |
generating | 生成中 |
success | 生成成功 |
failed | 生成失敗 |
成功レスポンス:
{
"code": 200,
"msg": "",
"status": "success",
"task_id": "task_xxx",
"data": [
{
"url": "https://cdn.example.com/generated/gpt-image-2.png",
"size": "1024x1536",
"revised_prompt": "A children's book illustration of a veterinarian using a stethoscope."
}
],
"cost": {
"spend": 0.12
}
}失敗レスポンス:
{
"code": 500,
"msg": "Model service request failed",
"status": "failed",
"task_id": "task_xxx",
"data": []
}7. コールバック
タスク送信時に callback_url を指定した場合、ReachAPI はタスクが success または failed になったあと、その URL に POST リクエストを送信します。コールバック body はタスク照会レスポンスと同じ JSON 構造です。
コールバック制約:
- HTTPS のみ
- 最大長:
2048 localhost、.local、プライベートネットワーク、ローカル IP 宛先は拒否されます- 1 回の送信タイムアウト:
10s - 送信失敗時は最大 2 回再試行され、合計最大 3 回送信されます
8. 制約
promptは必須で、空文字列は使用できませんimage_urlsはサーバーからアクセス可能な HTTPS URL のみ対応しますimage_urlsは最大 14 枚まで対応しますimage_base64sは対応していませんn > 1は対応していません- この非同期 API では
maskは対応していません output_compressionは対応していませんuserは対応していませんsizeはピクセル寸法で指定し、最長辺が3840px以下、両辺が16pxの倍数、長辺と短辺の比率が3:1以下、総ピクセル数が655,360以上8,294,400以下である必要がありますresolutionは1k、2k、4kに対応します- 標準サイズ対応では、
aspect_ratioは1:1、3:2、2:3に対応します sizeを指定しない場合、resolution + aspect_ratioは標準サイズの対応表に一致する必要がありますqualityはlow、medium、highに対応しますbackground、moderation、output_formatは文書化された列挙値を使用してくださいbackground=transparentはoutput_format=jpegに対応していません