機能別

画像

モデルを選び、リクエストをコピーして、画像を受け取ります。以下の内容はすべて選んだモデルに合わせて変わります。

#1. モデルを選ぶ

gpt-image-2.5-ext$0.0065 / リクエスト非同期タスク制限とステータス

この用途で稼働中のモデルは 12 個です。切り替えると下のコードが変わります。

#2. リクエストをコピー

YOUR_API_KEY を自分のキーに置き換えて実行します。表示されているオプションは、このモデルが受け付けるものです。

POSThttps://www.aisplice.store/v1/images/tasksBearer API key非同期タスク

オプションこのモデルで公開されているオプションのみ表示しています。

# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"

# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/images/tasks \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
  -d '{
  "model": "GPT Image 2.5 Ext",
  "prompt": "A cinematic scene with careful composition",
  "size": "1:1",
  "resolution": "1K",
  "quality": "auto",
  "n": 1
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
  printf '%s\n' "$SUBMITTED" >&2
  exit 1
fi
echo "task_id=$TASK_ID"

# 2. Poll until terminal
while true; do
  STATUS_JSON=$(curl --fail-with-body -sS \
    "https://www.aisplice.store/v1/images/tasks/$TASK_ID" \
    -H "Authorization: Bearer $API_KEY")
  STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
  echo "status=$STATUS"
  case "$STATUS" in
    completed|succeeded|success) break ;;
    failed|failure|cancelled|canceled)
      printf '%s\n' "$STATUS_JSON" | jq .
      exit 1
      ;;
  esac
  sleep 3
done

# 3. Fetch the final result
curl --fail-with-body -sS \
  "https://www.aisplice.store/v1/images/tasks/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" | jq .

このモデルには公開メディア URL が必要です。 ローカルファイルは先にアップロードし、public_url をモデルのリクエストに指定してください。大きな Base64 のボディは避けてください。

アップロードガイドを読む

すべてのパラメーター

このモデルが受け付けるすべてのフィールドと、指定できる値。

model
string必須

このリクエストで使う正確なモデル識別子。

gpt-image-2.5-ext
prompt
string必須

目的の結果を記述する指示。

size
string任意

出力のアスペクト比またはサイズ。

auto1:13:22:34:33:45:44:516:99:162:11:23:11:321:99:21
resolution
string任意

出力の解像度。

1K2K4K
quality
string任意

For 2K/4K: low uses standard upscaling, auto/medium professional, and high enhanced. 1K returns the original image.

autolowmediumhigh
n
integer任意
1
images
string[]任意

Optional reference images for editing.

レスポンスの流れ

タスクのステータス、終了状態、結果レスポンスの例。

送信
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "image.task",
  "model": "GPT Image 2.5 Ext",
  "status": "queued"
}
コンテンツ
{
  "created": 1720000000,
  "data": [
    {
      "url": "https://media.example/result.png"
    }
  ]
}

待機中

queued · submitted · in_progress · processing

成功

completed · succeeded · success

失敗

failed · failure · cancelled · canceled

すべてのフィールド:API リファレンスの /v1/images/tasks →

#3. 結果を取得

送信するとすぐに task_id が返ります。status が completed になるまで数秒ごとにタスクを確認するか、webhook_url を渡せば完了時にこちらから呼び出します。

GET https://www.aisplice.store/v1/images/tasks/{task_id}

GET https://www.aisplice.store/v1/images/tasks/{task_id}/content

成功した場合のみ課金

失敗またはキャンセルされたタスクは自動で返金されます。各タスクの最終的な費用はリクエストログで確認できます。

ステータスの値とポーリング →確認する代わりにコールバックを受け取る →

#うまくいかないとき

  • フィールド名付きの 400:そのオプションはこのモデルでは受け付けられません。手順 2 に表示される値を使ってください。
  • モデルがコンテンツを拒否した場合:プロンプトを言い換えてください。拒否されたリクエストは課金されません。
  • 402:残高がこのリクエストに足りません。ウォレットでチャージしてから再試行してください。
  • 429:ペースを落とし、Retry-After の秒数が経ってから再試行してください。
  • 503 model_not_found:モデル名が間違っているか、モデルがオフラインです。手順 1 から選び直してください。

その他のエラーを調べる →

#参照画像

手順 2 に表示される参照画像フィールドに、公開されている画像 URL を指定します。ローカルファイルは先にアップロードし、返された URL を使ってください。

ローカルファイルのアップロード方法 →

プロダクトに組み込む最初にユーザーに見せるオプションと、後回しにするオプション。
最初にユーザーに見せるべき選択肢まずはプロンプトと料金に影響する設定を 1 つだけ用意し、基本フローが動いてから残りを追加します。+

創作の意図

prompt のようなフィールドは、変更による結果をユーザーが直接理解できるため、UI に置くべきです。

コストの倍率要因

duration、resolution、size、count のようなフィールドは、料金をすでに説明できる状態になってから導入してください。

モード切り替え

image、mask、継続用の ID のようなフィールドはワークフロー自体を変えるため、専用のモードでのみ表示してください。

システム内部の設定

webhook_secret のようなフィールドは日常的なクリエイターではなく統合する開発者向けなので、デフォルトの UI には含めないでください。

  • prompt
    表示するタイミング
    常に。画像タスクの主要な創作入力です。
    推奨デフォルト
    UI で必須にします。
    重要な理由
    結果を直接左右するため、隠すと機能が使えなくなります。
  • size
    表示するタイミング
    出力サイズで課金が変わる場合は、初回リリースから表示します。
    推奨デフォルト
    まずは 1:1 など推奨アスペクト比を 1 つ用意します。
    重要な理由
    コストと出力の構図の両方に影響するため、早い段階で簡単なサイズ選択が必要です。
  • quality
    表示するタイミング
    より高品質または安価なグレードをユーザーが明確に求めてから表示します。
    推奨デフォルト
    サーバー側でモデルのデフォルトのままにします。
    重要な理由
    料金とレイテンシーは変わりますが、通常は初日から用意すべき設定ではありません。
  • n
    表示するタイミング
    バッチ生成が中心的なワークフローである場合のみ表示します。
    推奨デフォルト
    デフォルトは 1。
    重要な理由
    コストがすぐに倍増し、初回の UX が煩雑になりがちです。
  • mask / image
    表示するタイミング
    編集系または参照画像系のプロダクトでのみ表示します。
    推奨デフォルト
    テキストから画像モードでは非表示にします。
    重要な理由
    これらのフィールドはプロダクトを生成から編集に変えるため、基本フローに紛れ込ませるべきではありません。
recommended-rollout.txt
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content

Phase 2
- one quality or resolution selector
- clear pricing hint

Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning

結果の信頼できる情報源は 1 つに

タスクが完了したら、/content が返すプラットフォーム URL を基準にアプリを統一してください。上流ベンダーの詳細を隠せるうえ、過去の再生も安定します。

まだ解決しませんか?

リクエスト ID かエラーメッセージを送っていただければ、こちらで調査します。