画像 API ガイド

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

モデルと生成設定

画像生成に対応する公共モデルを選び、YOUR_MODEL_ID を置き換えます。INONEAPI_API_KEY はサーバーの環境変数に保存します。

パラメーター指針
model、prompt必須。被写体、構図、スタイル、文字、制約を記載。
n任意の枚数。一部モデルのみ対応(現在は Qwen-Image シリーズ、1–6 枚)。非対応モデルは 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 型を検証し、role を保持したうえで、一時的にアクセスできるアドレスをモデルに引き渡します。任意の画像編集が自動的に可能になるわけではありません。役割や枚数はモデル依存です。ファイルは ready かつ読み取り可能である必要があります。保存期間は 1 日、アドレスの有効期間は 5 分なので、非同期タスクはこの範囲内で素材を取得してください。

ストリーミングと制約

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

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

エラーと運用

400 は寸法・品質・形式・役割・対応能力、401/403 はキーとモデル権限、429 は Retry-After と並行数を確認します。502 は上流が解析不能なレスポンスを返した場合です。HTTP エラー時は data[0] を読む前に処理してください。

タイムアウト時も生成・課金が完了している場合があります。適切な期限を設定し、無制限に再送しません。Base64 は本文を大幅に膨らませ、単一レスポンスには上限があり超過時は失敗します。枚数、解像度、並行数を制限し、X-Gateway-Trace-ID を記録します。

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