Source: https://ailoot.ai/models/ja/openai-gpt-5-1-u003a-batch/
Canonical: https://ailoot.ai/models/ja/openai-gpt-5-1-u003a-batch/
Language: ja

# OpenAI: GPT-5.1 (batch)

[Markdown](https://ailoot.ai/models/ja/openai-gpt-5-1-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/ja/openai-gpt-5-1-u003a-batch/facts.json)

## [OpenAI: GPT-5.1 (batch)](https://ailoot.ai/models/ja/openai-gpt-5-1-u003a-batch/)

GPT-5.1は、コーディングとエージェントの作業に適応的な推論を組み合わせます。テキストと画像を入力として受け取り、コード変更、文書、ツールに接続された結果を作成できます。深い分析を必要としない課題には、推論を行わない設定を使えます。

- [**Ailoot Ultra · バッチ** `POST /v1/batches` `openai/gpt-5.1:batch`](https://ailoot.ai/models/ja/openai-gpt-5-1-u003a-batch/#method-0)

モデルについて

この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。

GPT-5.1は、設定可能な推論を使うコーディングやエージェントの課題に向けた、OpenAIの汎用モデルです。テキストと画像を入力として受け取り、テキストを出力します。開発者向けのリリースは、課題の複雑さに応じて分析に使う処理量を変える、適応的な推論を説明しています。基盤となるGPT-5.1は、同じファミリーのChatやCodexとは区別されます。

コーディングでは、意図する動作、関連ファイル、変更案が維持すべき制約を提示します。たとえば、構成要素が入力をどう扱うかを調べ、注意すべき依存関係を特定し、明確な説明を添えて、対象を絞った変更を作成する依頼です。文書の課題では、元の資料、読み手、必須の事実を提示し、編集した記述や、指定したセクションで構成する分析を求めます。

提供元は、深い分析を必要としない課題向けに、推論を行わない設定と、low、medium、highの推論労力を文書化しています。既定値はnoneです。リリースは、課題の複雑さに応じた推論レベルの選択を推奨しています。これにより、アプリケーションは基盤モデルの識別を変えずに、単純な抽出や短い回答と、相互に依存する複数の条件を含む課題を分けて扱えます。

OpenAIのモデルカードは、400,000トークンのコンテキストウィンドウ、128,000トークンの最大出力、2024年9月30日の知識の基準時点を示しています。推論は、入力と最終回答とともに領域を使います。長い依頼は、有用な根拠と成功基準を中心に整理します。画像が課題の判断材料になる場合は、関連する図、画面の状態、詳細を指定し、その解釈に必要な文章のコンテキストを含めます。

モデルカードには、Responses、Chat Completions、Batchのインターフェース、ストリーミング、Structured Outputs、関数呼び出し、ファイルと画像の入力、ウェブ検索とファイル検索、プロンプトキャッシュが挙げられています。現在のキャッシュ文書は、このモデル向けの、最大24時間の任意の保持期間延長を含みます。提供元は、画像生成、コード実行、patch操作、MCP接続も挙げています。開発者向けのリリースは、構造化したファイル変更を提案するパッチツールと、コマンドを提案するshellツールを文書化しています。アプリケーションがこれらの操作を適用・実行し、実際の結果を返すことで、編集と調査のワークフローを続けられます。

リリースは、コーディング中の指示への対応と、一連のツール呼び出しの中での有用な進捗報告も重視しています。課題の完了内容、利用可能な操作、結果を検証する根拠を定義します。変更では、影響を受ける動作、重要な編集、実際に行われた検査を求めます。文書では、提示した事実に結び付く具体的な版を求めます。有用な最終成果物は、提案された操作と完了した操作を区別しながら、結果とその根拠を明示します。

**Ailoot Ultra · バッチ** `POST /v1/batches` `openai/gpt-5.1:batch`

[`openai/gpt-5.1:batch`](https://ailoot.ai/models/ja/#m=openai%2Fgpt-5.1%3Abatch&route=Ultra&caller=openai%2Fgpt-5.1%3Abatch&fmt=batches)

OpenAI /`openai/gpt-5.1:batch`

### はじめに

GPT-5.1は、コーディングとエージェントの作業に適応的な推論を組み合わせます。テキストと画像を入力として受け取り、コード変更、文書、ツールに接続された結果を作成できます。深い分析を必要としない課題には、推論を行わない設定を使えます。

対応する入力

テキスト

結果

テキスト

### Ailootで利用可能 · 入力とメソッド

**Ailoot Ultra · バッチ** `POST /v1/batches`

入力の種類

`text`

出力の種類

`text`

出力形式

インラインの results\[\].response.body JSON

| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
| --- | --- | --- | --- | --- |
| フィールド`endpoint` | 種類`string` | 要件必須 | 値と制限 /v1/chat/completions | デフォルト— |
| フィールド`model` | 種類`string` | 要件必須 | 値と制限 openai/gpt-5.1:batch | デフォルト— |
| フィールド`requests` | 種類`batch_item[]` | 要件必須 | 値と制限 最小項目数: 1 | デフォルト— |
| フィールド`requests[].custom_id` | 種類`string` | 要件必須 | 値と制限 | デフォルト— |
| フィールド`requests[].body.messages` | 種類`message[]` | 要件必須 | 値と制限 | デフォルト— |
| フィールド`completion_window` | 種類`string` | 要件任意 | 値と制限 24h | デフォルト— |
| フィールド`provider` | 種類`object\|null` | 要件任意 | 値と制限 | デフォルト— |
| フィールド`requests[].body.model` | 種類`string` | 要件任意 | 値と制限 openai/gpt-5.1:batch, openai/gpt-5.1 | デフォルト— |
| フィールド`provider.only` | 種類`string[]` | 要件任意 | 値と制限 openai | デフォルト— |
| フィールド`provider.allow_fallbacks` | 種類`boolean\|null` | 要件任意 | 値と制限 false, null | デフォルト— |

メソッドのパラメータとライフサイクル

| パラメータ | 仕様 |
| --- | --- |
| パラメータ`content_type` | 仕様application/json |
| パラメータ`required` | 仕様endpoint, model, requests |
| パラメータ`material_types` | 仕様text |
| パラメータ`representation` | 仕様インラインの requests\[\]。各項目には custom\_id と body を指定します |
| パラメータ`request_endpoint_profile` | 仕様/v1/chat/completions |
| パラメータ`file_material` | 仕様呼び出し元は実際の UTF-8 JSONL をローカルで読み込み、requests\[\] に格納できます。アップロードの purpose、input\_file\_id、ファイル参照は使用しません。顧客の素材が存在しない、または空の場合、POST の前に準備を停止します。 |
| パラメータ`serialization_order` | 仕様endpoint, model, provider（指定されている場合）, completion\_window（指定されている場合）, requests を最後に配置 |
| パラメータ`optional_controls` | 仕様provider.only, provider.allow\_fallbacks, completion\_window |
| パラメータ`schema_scope` | 仕様ドキュメントに記載されたインラインの Batch エンベロープに格納する、テキスト Chat Completions のリクエストボディ。 |

ライフサイクル: `asynchronous`

`GET /v1/batches/{operation_id}` · 元の作成レスポンスに実際に含まれる response.id。同じユーザー／キー／グループを使用します

### 料金

料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。

高速モード

未指定 高速モードが選択されている場合

Flex モード

未指定 flex モードが選択されている場合

最大推論量

未指定 推論量が最大で、調整に既定値（default）を使用する場合

明示的キャッシュの料金

無効 明示的キャッシュを要求した場合

#### Ailootの料金

#### 設定別の価格

各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。

| 設定 | 料金表 | コンテキストトークン数が次の値を超える場合 | コンテキストトークン数が次の値以下の場合 | 料金 |
| --- | --- | --- | --- | --- |
| 設定トークンの基本単価 | 料金表基本料金 | コンテキストトークン数が次の値を超える場合— | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン **$0.00125** / 1K トークン 出力 · 出力トークン **$0.01** / 1K トークン 入力 · キャッシュ読み取り **$0.000125** / 1K トークン 入力 · キャッシュ書き込み **—** / 1K トークン 入力 · キャッシュ書き込み、1時間 **—** / 1K トークン |
| 設定リクエスト長に応じた料金区分 1 | 料金表— | コンテキストトークン数が次の値を超える場合0 | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン **$0.00125** / 1K トークン 出力 · 出力トークン **$0.01** / 1K トークン 入力 · キャッシュ読み取り **$0.000125** / 1K トークン 入力 · キャッシュ書き込み **—** / 1K トークン 入力 · キャッシュ書き込み、1時間 **—** / 1K トークン |

Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。[金額の確保と精算の仕組み →](https://ailoot.ai/docs/ja/billing/reserve/)

### リクエスト例

#### Ailoot Ultra · バッチ

curl · 保存済みフィクスチャPython HTTP · 実際の顧客の JSONLPython · 完了した結果をすべて保存する

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"openai/gpt-5.1:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
```

```python
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['openai/gpt-5.1:batch', 'openai/gpt-5.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-5.1:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
```

```python
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
```

### 結果を受け取って保存

#### Ailoot Ultra · バッチ

インラインの results\[\].response.body JSON

- `GET /v1/batches/{operation_id}`

##### ジョブのステータスを確認

curl · 元の処理のステータス

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
```

##### 完了した結果をすべて保存

返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。

元のステータス JSON の全体、各結果と custom\_id、レスポンスまたはエラーボディの全体を保存してください。完了済みの results\[\] は、絞り込まずに JSONL として保存してください。

##### 元のレスポンスを確認する場合

元の操作 ID を保存してください。503 result\_pending\_check には X-Should-Retry:false が設定されています。結果が不明な元のバッチを決して再送しないでください。

レスポンスのフィールド

| フィールド | 種類 |
| --- | --- |
| フィールド`results[].custom_id` | 種類string |
| フィールド`results[].response.body.choices[].message.content` | 種類string\|null |
| フィールド`results[].error` | 種類object\|null |
| フィールド`usage` | 種類object\|null |
| フィールド`id` | 種類string |
| フィールド`model` | 種類string |
| フィールド`endpoint` | 種類string |
| フィールド`status` | 種類string |
| フィールド`request_counts` | 種類object |
| フィールド`results[].id` | 種類string |
| フィールド`results[].response.status_code` | 種類integer |
| フィールド`results[].response.request_id` | 種類string |

エラーと次の手順

| レスポンス | 条件 | 次の手順 |
| --- | --- | --- |
| レスポンス400 · `invalid_request_error` | 条件ドキュメントに記載されたインラインエンベロープが無効、キーが重複、項目の識別情報が不正、または設定されたモデル機能に矛盾があります。 | 次の手順新しく送信する前に、指摘されたフィールドを修正してください。 |
| レスポンス401 · `authentication_error` | 条件無効な API キーです。 | 次の手順利用を許可された Ailoot キーを使用してください。 |
| レスポンス403 · `permission_error` | 条件バッチグループを利用できません。 | 次の手順キー／グループの利用権限を確認してください。 |
| レスポンス422 · `invalid_request_error` | 条件バッチは残高課金を使用します。サブスクリプションでのバッチ作成は拒否されます。 | 次の手順利用を許可された残高課金グループを使用してください。 |
| レスポンス422 · `price_unavailable` | 条件バッチ入力の料金を見積もれません。 | 次の手順レスポンスを保存し、対象 API ファミリーのドキュメントに記載された入力を使用してください。 |
| レスポンス402 · `billing_error` | 条件バッチの予約額を確保できません。 | 次の手順新しいリクエストの前に、受付条件の問題を解決してください。 |
| レスポンス503 · `price_unavailable` | 条件Batch メソッドの価格／ネイティブ料金を利用できません。 | 次の手順レスポンスを保存してください。価格を別の値に置き換えないでください。 |
| レスポンス503 · `api_error` | 条件指定どおりのサプライヤールートを利用できません。 | 次の手順ルートを修復するためにレスポンスを保存してください。 |
| レスポンス503 · `result_pending_check` | 条件元の結果の確認が必要です。X-Should-Retry:false。 | 次の手順元の operation\_id/id を保存し、そのステータスを読み取ってください。元の POST を決して繰り返さないでください。 |
| レスポンス404 · `not_found` | 条件バッチのステータス操作が存在しないか、別の識別主体が所有しています。 | 次の手順元の正確な id と、同じユーザー／キー／グループを使用してください。 |

### エイリアス

#### モデルのエイリアス

**Ailoot Ultra** [`openai/gpt-5.1:batch`](https://ailoot.ai/models/ja/#m=openai%2Fgpt-5.1%3Abatch&route=Ultra&caller=openai%2Fgpt-5.1%3Abatch&fmt=batches)

#### メソッドパスのエイリアス

上記に表示されたメソッドパスを使用してください。

#### 関連する呼び出し用ID

[`openai/gpt-5.1:batch`](https://ailoot.ai/models/ja/#m=openai%2Fgpt-5.1%3Abatch&route=Ultra&caller=openai%2Fgpt-5.1%3Abatch&fmt=batches)

FAQ · OpenAI: GPT-5.1 (batch)

利用できる入力と結果は何ですか？

`POST /v1/batches` · `openai/gpt-5.1:batch`: `text` → `text`

リクエストはどの項目を使用しますか？

`POST /v1/batches` · `openai/gpt-5.1:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

どの制限が適用されますか？

`POST /v1/batches` · `openai/gpt-5.1:batch`: `requests.min_items`: `1`

AilootをClaude Code、OpenCode、Hermes、自分のアプリに接続しましょう。

## 企業とそのプロジェクト群

企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。

## トークンを割引価格で購入。

継続利用にサブスクリプション割引。プロモコードでトークン購入が最大50%割引。

サブスクリプション

定期的なリクエストに合う割引プランを選びましょう。

最大50%のプロモコード

購入時にコードを入力すると、実施中のキャンペーンに沿って価格を再計算します。

支出を履歴で確認

各リクエストのモデル、トークン、金額が保存されます。

[サブスクリプションを選ぶ](https://ailoot.ai/docs/ja/billing/subscriptions/) · [モデルの価格を見る](https://ailoot.ai/models/ja/)

## 販売する製品に、 APIを組み込みましょう。

SaaS、アプリ、ボットをAilootの公式サービス提供条件とライセンス契約に基づいて接続できます。再販にはリセラーライセンスを申請できます。

商用アプリ

サービスの有料機能に、文章、画像、動画、音声の生成を組み込めます。

リセラーライセンス

プロジェクトの説明とアクセスの仕組みをお送りください。利用・再販条件の書面を申請できます。

サイトで契約文書を確認

接続前にサービス提供条件、ライセンス契約、データ処理ポリシーを読めます。

[リセラーライセンスを申請](mailto:support@ailoot.ai) · [サービス提供条件とライセンス契約](https://ailoot.ai/legal/offer?lang=ja)

## Ailoot · 企業とそのプロジェクト群





Ailootは、蓄積した運営経験、幅広い顧客基盤、安定したサービス、継続的なKPI管理を基盤としています。





企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。





Ailootはこの運営経験を、お客様の製品、エージェント、アプリケーション、自動化でAI機能を利用するためのAPIアクセスに活かしています。
