画像 API ガイド

POST /v1/images/generations でプロンプトから画像を生成します。参照素材に対応するモデルとマッピングでは、アップロードした file_id も利用できます。通常は直接結果を返し、動画のようなタスクポーリングは使いません。

モデルと生成設定

画像 API マッピングを持つ公共モデルを選び、YOUR_MODEL_ID を置き換えます。INONEAPI_API_KEY はサーバーの環境変数に保存します。

パラメーター指針
model、prompt必須。被写体、構図、スタイル、文字、制約を記載。
n任意の枚数。まず 1 で確認。一部モデルは 1 枚のみ。
sizeモデルが対応する寸法。ゲートウェイのリサイズ指示ではありません。
qualityモデル固有の値。他モデルの列挙値を混用しません。
output_format、background対応する場合のみ指定。透過には PNG/WebP などが必要。
response_format選択可能なプロバイダーのみ url、b64_json に対応。共通の必須項目ではありません。

最小リクエストから始め、確認済みのパラメーターを追加します。

プロンプトから生成

cURL またはサーバー上の Node.js 20+ を使用します。フロントエンドにキーを埋め込まないでください。

curl  https://api.inoneapi.com/v1/images/generations \
  -H "Authorization: Bearer $INONEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"YOUR_MODEL_ID","prompt":"A clean product photo of a white ceramic cup on a gray background","n":1}'

結果の取得と保存

成功レスポンスには通常 created と data[] があり、各要素に b64_json または url、任意で revised_prompt を含みます。usage がなくても無料とは限りません。

Base64 は data URL 接頭辞を含まない画像バイト列です。例は実形式を確認する前に PNG/JPEG と誤認しないよう .bin に保存します。output_format や実際の内容を確認して対応する拡張子を使ってください。名前の変更は変換ではありません。

URL は通常一時的なので早めに自分のストレージへ保存します。ダウンロード時に InOneAPI キーを付けず、宛先、サイズ、タイムアウトを検証します。ブラウザーでは直接リンクを残し、CORS 対応を前提にしません。常に n 枚返るとは限らないため各要素を確認します。

{
  "created": 1789430400,
  "data": [
    {
      "url": "https://example.com/generated-image.png"
    }
  ]
}

参照画像

先に画像をアップロードし、生成にも同じキーを使用します。以下は参照画像に明示的に対応するマッピング向けです。

{
  "model": "YOUR_MODEL_ID",
  "prompt": "Keep the reference composition and use a white background.",
  "input_references": [
    {
      "type": "image",
      "role": "reference",
      "source": {
        "type": "file",
        "file_id": "file_ioa_0123456789abcdef0123456789abcdef"
      }
    }
  ]
}

input_references は InOneAPI 拡張です。所有権と image 型を検証し、source を COS 署名 URL に変換して role を保持した後にマッピングします。任意の画像編集が自動的に可能になるわけではありません。役割や枚数はモデル依存です。ファイルは ready かつ実体が必要です。保存は 1 日ライフサイクル、署名 URL は 5 分なので、非同期読み取りは両方が有効な間に必要です。

ストリーミングと制約

ネイティブ対応時のみ stream: true を使い、プロバイダーの SSE を解析します。partial_images は対応モデルに限ります。途中画像イベントは追加の最終画像ではなく、SSE 全体を JSON 配列として扱えません。

request DSL が必要なリクエストはストリーミング変換できません。共通の画像タスク照会、variations、自動非同期ポーリングはありません。ファイル参照で編集 API が追加されるわけでもありません。画像を理解して文章を得る場合は画像入力対応のテキスト API を使います。

エラーと運用

400 は寸法・品質・形式・役割・対応能力、401/403 はキーとモデル権限、429 は Retry-After と並行数を確認します。502 は上流や正規化の失敗の場合があります。HTTP エラー時は data[0] を読む前に処理してください。

タイムアウト時も生成・課金が完了している場合があります。適切な期限を設定し、無制限に再送しません。Base64 は本文サイズとメモリを増やし、DSL の既定バッファー上限は 32 MiB です。枚数、解像度、並行数を制限し、X-Gateway-Trace-ID を記録します。

POST /v1/images/generations · POST /v1/files · ファイルガイド

画像 · ドキュメント · InOneAPI