最適なAI画像編集APIは、デモが最も優れているものではなく、その製品が実際に行う編集作業に対して、エンドポイント、入力形式、および課金単位が一致しているものです。マスク編集、参照画像を用いたimage-to-image、およびモデル固有の編集操作は、単一のコントラクトを共有していません。私たちは2026年10月3日にTokenLabの編集ドキュメントおよびライブモデルページを調査し、以下の内容はすべてそれらのページに基づいています。画像エンドポイントはデフォルトのモデルを自動選択しないため、常にmodelを明示的に送信してください。
重要なポイント
- マスクベースの編集は
POST /v1/images/editsへ送信します。Nano Bananaの参照編集は、operation: "image-to-image"を指定してPOST /v1/images/generationsへ送信します。 - 課金単位は異なります。
gpt-image-2およびGemini画像モデルはトークン単位で課金されますが、flux-kontext-proは1リクエストあたり0.04ドルで課金されます。 - 提供された情報には、インペインティングの品質、テキストレンダリング、スタイルの保持、または商品写真の忠実度に関するベンチマークは含まれていません。これらは独自の画像でテストしてください。
- 長時間または複数画像の編集には、モデルがサポートしている場合
async: trueを使用してください。タスクIDを保存し、Usage(利用状況)から最終的な請求額を確認してください。 - ライブAPIは変更される可能性があるため、利用を開始する前に各モデルのページで価格と単位を確認してください。
ユースケース別の推奨モデル
これらの選択肢は、文書化されたコントラクトと記載価格に基づいています。編集品質のベンチマークが存在しないため、これらは品質ランキングではありません。それぞれを独自のテストセットに組み込む最初のモデルとして扱ってください。
| 必要な機能 | 推奨モデル | 理由 | ソース |
|---|---|---|---|
| マスクベースのインペインティング | gpt-image-2 |
マスクのコントラクト(PNG、同一寸法、透明領域が編集対象)が明記されている唯一のモデルであるため。 | Edit Imageリファレンス, 2026-10-03 |
| 1回の編集で多数のソース画像を使用 | gpt-image-2 |
16枚のソース画像という制限が文書化されているため。Grok Imagineの編集モデルは3枚まで。 | Edit Imageリファレンス, 2026-10-03 |
| 最も安価な固定価格の参照編集 | grok-imagine-image |
1リクエストあたり0.02ドルで、表の中で最も低い固定価格であるため。 | ライブモデルAPI, 2026-10-03 |
| 商品の形状を維持し、シーンを変更 | nano-banana-pro |
文書化された参照例がまさにこれを行っており、1画像あたり0.067ドルであるため。 | Create Imageリファレンス, 2026-10-03 |
| 編集後の画像内のテキスト | 選択肢なし | どの編集モデルにもテキストレンダリングデータが存在しないため。 | n/a |
最適なAI画像編集API候補:モデル、単位、価格
以下の表は、編集可能としてリストされている、または編集ドキュメントで編集モデルとして名前が挙げられている、調査対象のすべてのモデルをリストしたものです。すべての価格はTokenLabの公開価格(USD)です。ライブAPIの価格情報は2026-10-02T16:53:30.068Zに更新され、各ページは2026-10-03に確認しました。
| モデルID | ライブAPIでリストされた機能 | 課金単位 | TokenLab価格 (USD) | ソース | 確認日 |
|---|---|---|---|---|---|
| gpt-image-2 | text-to-image (編集は/v1/images/editsで文書化) |
per_token | テキスト入力100万トークンあたり3.50ドル、画像入力100万トークンあたり5.60ドル、画像出力100万トークンあたり21ドル。キャッシュ済みテキスト入力100万トークンあたり0.875ドル | ライブモデルAPI | 2026-10-03 |
| flux-kontext-pro | image-edit, image-to-image, text-to-image | per_request | 0.04ドル | ライブモデルAPI | 2026-10-03 |
| flux-pro-1.0-fill | image-to-image | per_image | 0.035ドル | ライブモデルAPI | 2026-10-03 |
| flux-2-pro | image-to-image, text-to-image | per_image | 0.03ドル | ライブモデルAPI | 2026-10-03 |
| nano-banana-pro | image-edit, image-to-image, text-to-image | per_image | 0.067ドル (価格帯の概要は最大0.12ドル) | ライブモデルAPI | 2026-10-03 |
| gemini-3-pro-image | image-to-image, text-to-image, vision | per_token | 入力100万トークンあたり1ドル、テキスト出力100万トークンあたり6ドル、画像出力100万トークンあたり60ドル | ライブモデルAPI | 2026-10-03 |
| gemini-3.1-flash-image | image-to-image, text-to-image, vision | per_token | 入力100万トークンあたり0.25ドル、テキスト出力100万トークンあたり1.50ドル、画像出力100万トークンあたり30ドル | ライブモデルAPI | 2026-10-03 |
| grok-imagine-image | image-to-image, text-to-image | per_request | 0.02ドル | ライブモデルAPI | 2026-10-03 |
各ページを照らし合わせた結果、3つの不一致が見つかりました。ライブAPIではgpt-image-2がtext-to-imageのみと記載されていますが、Edit Imageリファレンスでは/v1/images/editsでのサポートが記載されています。flux-pro-1.0-fillとflux-2-proのライブページではimage-to-imageと記載されていますが、カタログのスナップショットでは両方ともimage-editとラベル付けされています。また、nano-banana-proはimage-editと記載されていますが、ドキュメントでは/v1/images/generationsを経由するように指示されています。ルーティングについてはドキュメントを、価格についてはライブAPIを信頼できる情報源として扱います。
固定価格モデルの場合、大まかな見積もりは単純な掛け算です。これらは見積もりであり、確定価格ではなく、1リクエスト完了につき1回の課金を想定しています:
grok-imagine-imageでの100回の編集:100 × 0.02ドル = 2.00ドル。flux-2-proでの100回の編集:100 × 0.03ドル = 3.00ドル。flux-pro-1.0-fillでの100回の編集:100 × 0.035ドル = 3.50ドル。flux-kontext-proでの100回の編集:100 × 0.04ドル = 4.00ドル。
トークン課金モデルについては、1編集あたりの見積もりは提供されていません。gpt-image-2はテキスト入力、画像入力、報告されたキャッシュ済み入力、および画像出力トークンに対して課金されるため、固定の1画像あたりのモデルではありません。典型的な編集に必要なトークン数のデータもありません。Billingガイドに記載されているように、実際にいくつか編集を実行し、Usageでコストを確認してください。nano-banana-proの価格帯は解像度階層を示唆していますが、データには階層と価格の対応関係は含まれていません。
編集エンドポイントが受け入れるもの、および文書化されていないもの
Edit Imageリファレンス(2026-10-03確認)は、OpenAI互換のマルチパートフローおよびJSONリクエストをサポートしています。gpt-image-2については以下のように記載されています:
- 入力画像: マルチパートの
image、JSONのimage_url/image_urls、または公式のimages[]オブジェクトを送信します。各images[]オブジェクトには、image_urlまたはfile_idのいずれか1つのみを含めます。file_id値は、あらかじめ/v1/filesを通じて作成してください。 - 複数の参照: 最大16枚のソース画像(各PNG、JPEG、WebP、最大50 MiB)。マルチパートリクエストでは
imageフィールドを繰り返します。JSONでは、image_url、image_urls、またはimagesのいずれか1つのみを提供します。 - マスク: ソース画像と同じ寸法の50 MiB未満のPNG。完全に透明な領域が編集適用箇所を示します。JSONでは、
maskはimage_urlまたはfile_idのいずれか1つのみを持つオブジェクトにできます。 - 出力:
sizeはautoまたはWIDTHxHEIGHTを受け入れます。寸法は16の倍数である必要があり、最長辺は最大3840px、長辺と短辺の比率は最大3:1、総画素数は655,360から8,294,400の間である必要があります。resolutionは送信しないでください。backgroundはautoまたはopaqueを受け入れますが、transparentは受け入れません。 - 拒否されるフィールド:
input_fidelityはgpt-image-2ではサポートされておらず、送信すると400 unsupported_parameterが返されます。 - リモートURL: 公開されている
http/httpsである必要があり、埋め込み認証情報やフラグメントを含めてはなりません。localhost、プライベート、または予約済み範囲に解決されてはなりません。制限は1画像あたり50 MiB、1リクエストあたり合計200 MiB(マスクを含む)、30秒のフェッチタイムアウト、および最大3回のリダイレクトです。フェッチされたペイロードは実際のPNG、JPEG、またはWebPである必要があります。
Grok Imagine編集モデル(grok-imagine-image、grok-imagine-image-quality)は同じ入力フィールドを使用しますが、ソース画像は3枚までに制限されます。これを超えるリクエストは400 too_many_imagesで失敗します。
Nano Bananaは異なります。ドキュメントによると、nano-banana-2およびnano-banana-proは、operation: "image-to-image"およびimage_urlsを指定して/v1/images/generationsで参照画像リクエストを受け付けます。これらは/v1/images/editsには属しません。トップレベルのimages[]およびfile_idは編集フローの形式であり、generationsエンドポイントでは拒否されます。以下は、resolutionを受け入れるnano-banana-proの文書化された例です:
{
"model": "nano-banana-pro",
"prompt": "Keep the product shape, change the background to a bright studio setup",
"operation": "image-to-image",
"image_urls": ["https://example.com/input/product.png"],
"aspect_ratio": "1:1",
"resolution": "2k"
}
Googleの画像ファミリーについては、Create Imageリファレンスではaspect_ratioを優先し、モデルがサポートしている場合にのみresolution(1k、2k、4k)を送信するように記載されています。nano-banana-2のモデル詳細はリンクされていますが、データセットにはその価格は含まれていません。
データに文書化されていないもの:
gpt-image-2以外のモデル(flux-pro-1.0-fillやstability-inpaintを含む)が/v1/images/editsでmaskを受け入れるかどうか。- 複数のソース画像を送信したときに、単一のマスクがどのように適用されるか。
- FLUXおよびNano Bananaモデルのソース画像制限。
- 複数画像リクエストにおける画像の順序が結果に影響するかどうか。
これらを使用して構築する前に、各モデルの詳細ページを読んでください。
1つの完全な編集リクエスト
このリクエストは、gpt-image-2に対して文書化されたフィールド(ソース画像、マスク、プロンプト、size、async)のみを使用しています。Edit Imageリファレンスのマルチパート例に従っています。
curl -X POST "https://api.tokenlab.sh/v1/images/edits" \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-F "model=gpt-image-2" \
-F "image=@source.png" \
-F "mask=@mask.png" \
-F "prompt=A sunlit indoor lounge area with a pool" \
-F "n=1" \
-F "size=1024x1024" \
-F "async=true"
async=trueを指定すると、レスポンスにはstatus: "pending"、task_id、poll_urlが含まれ、dataは空のままになります。同期呼び出しを行う場合はasync行を削除してください。同期呼び出しはデフォルトでdata[].urlを返し、response_formatを設定した場合はdata[].b64_jsonを返します。タスクのポーリングは以下のように行います:
curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $TOKENLAB_API_KEY"
gpt-image-2のモデル詳細はモデルページにあります。同期呼び出しの場合、高解像度のリクエストは1分以上かかる可能性があるため、HTTPクライアントのタイムアウトを少なくとも120秒以上に設定してください。
タスク別の最適なAI画像編集APIの選択
データにはルーティング、入力、価格が記載されています。編集品質のベンチマークは含まれていないため、以下の「どれが優れているか」という質問にはすべて独自のテストセットが必要です。
インペインティング: gpt-image-2は、ドキュメントでマスクのコントラクトが明記されている唯一のモデルです。カタログには、専用の領域および構造ツールもリストされています:stability-inpaint、stability-control-structure、およびstability-control-sketch。塗りつぶしやコンテキスト内編集には、1画像あたり0.035ドルのflux-pro-1.0-fillと、1リクエストあたり0.04ドルのflux-kontext-proがあります。どれがよりきれいな継ぎ目を作るかはデータに記載されていません。
スタイル保持編集: 文書化された参照例は、商品の形状を維持し、周囲を変更します。これは/v1/images/generationsにおけるnano-banana-proのパターンです。flux-kontext-proはimage-edit機能をリストしています。どちらの主張も、アイデンティティやスタイルの保持についてここではベンチマークされていません。
画像内のテキスト: データには、どの編集モデルのテキストレンダリングに関する情報も含まれていません。ideogram-edit-v3とideogram-reframe-v3がカタログに存在しますが、テキスト品質データは見つかりませんでした。独自のコピー、フォント、言語でテストしてください。
商品写真: 何千ものパックショットの背景を入れ替えるカタログチームを想像してください。ユーティリティツールが自然な最初の検討対象となります:image-background-remover、image-upscaler、およびstability-upscale-fast。それらの価格と入力ルールはデータに含まれていないため、各モデルページを読んでください。生成的な背景入れ替えの場合、固定の1リクエストあたりの価格設定により、バッチコストの予測が容易になります。トークン価格設定の場合は、画像のサイズと出力に依存します。
入力要件はプロバイダーごとではなく、モデルごとです。一部のモデルはソース画像とプロンプトを1つずつ受け取り、一部はマスクを受け取り、一部は構造的入力を受け取ります。詳細ページで各モデルのサポートされている操作とリクエストフィールドを確認してください。モデルディレクトリで現在のオプションを閲覧できます。
非同期処理と編集のコスト確認
画像生成ガイドと非同期ジョブガイド(両方とも2026-10-03確認)にフローが記載されています。async: trueはgpt-image-2および公式のFLUX/BFL編集モデルに対して文書化されています。作成リクエストはstatus: "pending"、task_id、poll_urlを返します。poll_urlが存在する場合はそれをポーリングするか、固定URLに対してGET /v1/tasks/{id}を実行します。ステータスはpending、processing、completed、failedです。ドキュメントでは、長いメディアジョブの場合は5〜10秒ごとに確認し、終了ステータスで停止することを推奨しています。
以下の4つの詳細がバグの主な原因となります:
- ステータス読み取りは、タスクが失敗した場合でもHTTP 200を返します。
statusで分岐し、失敗の場合はerror_details.codeとtypeを確認してください。 - 完了した非同期編集は、
response_formatに関係なくURLを返します。b64_jsonが必要な場合は同期リクエストを使用してください。 - クライアントタイムアウトが発生した後は、作成呼び出しを再試行する前にタスクが存在するかどうかを確認してください。失敗した生成を再試行すると新しいタスクが作成され、新しい料金が発生する可能性があります。
- 結果のURLはメディアコピーとして30日間保持される場合があります。各アイテムのステータスと
expires_atについてはmedia_retention.itemsを確認してください。
コストについては、Billingガイドによると、コンソールには有料生成を確定する前に最大見積もりが表示され、Usageには最終的な請求額が表示されます。非同期タスクは、受け入れられた時点で推定コストを予約する場合があります。完了したタスクは1回課金され、失敗またはタイムアウトしたタスクは保留中の金額を解放または返金します。配信オプションも重要です。TokenLab VerifiedはTokenLabの公開価格を使用し、Officialは公式価格レイヤーを使用し、AutoはまずVerifiedを試し、次にOfficialを試します。Modelsページの価格列のダッシュは、Verifiedオファーが利用できないことを意味し、モデルが無料であることを意味するものではありません。APIキーの利用制限に達すると402 Payment Requiredが返されます。
request_id、task_id、poll_url、billing_transaction_id(存在する場合)、モデル、エンドポイント、および独自のジョブIDを一緒に保存してください。実際には、その記録がほとんどの請求不一致の質問を解決します。データでは、Seedanceビデオタスクのキューイングについてのみタスクキャンセルが文書化されています。画像編集のキャンセルは文書化されていないため、それなしでフローを設計してください。
FAQ
すべての画像編集モデルにマスクを送信できますか?
データでは、/v1/images/editsにおけるgpt-image-2のマスクのみが文書化されています。マスクはソースと同じ寸法で50 MiB未満のPNGである必要があり、透明な領域が編集されます。flux-pro-1.0-fillを含む他のモデルについては、マスクサポートを想定する前にモデル詳細ページを確認してください。
Nano Bananaの編集にはどのエンドポイントを使用しますか?
operation: "image-to-image"およびimage_urlsを指定してPOST /v1/images/generationsを使用してください。Nano Bananaの参照リクエストを/v1/images/editsに送信することはサポートされていません。また、トップレベルのimages[]やfile_idをgenerationsエンドポイントに送信しないでください。
なぜgpt-image-2の編集で400 unsupported_parameterが返されるのですか?
最も文書化されている原因は、gpt-image-2でサポートされていないフィールドであるinput_fidelityです。また、resolutionやbackground: "transparent"の値も削除してください。一般的なエラーテーブルでは、モデルが文書化していないフィールドを削除することを推奨しています。
非同期編集タスクが失敗したときに課金されますか?
Billingガイドによると、失敗したタスクは課金されず、予約された金額は解放または返金されます。完了したタスクは1回課金され、最終的な金額がbilling_transaction_idとともにUsageに表示されます。タスク終了後もUsageに何も表示されない場合は、リクエストIDとタスクIDを添えてsupport@tokenlab.shまでお問い合わせください。
上記のリクエストを実行するには、コンソール → APIキーでAPIキーを作成し(キーの制限についてはBillingガイドで説明されています)、それをTOKENLAB_API_KEYとしてエクスポートし、サンプル編集とUsageの最終コストを比較してください。
出典
価格確認日 2026-10-03
- TokenLab Docs: Image generation2026-10-03 時点で確認
- TokenLab Docs: Edit Image2026-10-03 時点で確認
- TokenLab Docs: Create Image2026-10-03 時点で確認
- TokenLab Docs: Async jobs and polling2026-10-03 時点で確認
- TokenLab Docs: Billing and pricing2026-10-03 時点で確認
- TokenLab live model API: flux-2-pro2026-10-03 時点で確認
- TokenLab live model API: flux-kontext-pro2026-10-03 時点で確認
- TokenLab live model API: flux-pro-1.0-fill2026-10-03 時点で確認



