Source: https://ailoot.ai/models/ja/google-gemini-3-5-flash-u003a-batch/
Canonical: https://ailoot.ai/models/ja/google-gemini-3-5-flash-u003a-batch/
Language: ja

# Google: Gemini 3.5 Flash (batch)

[Markdown](https://ailoot.ai/models/ja/google-gemini-3-5-flash-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/ja/google-gemini-3-5-flash-u003a-batch/facts.json)

## [Google: Gemini 3.5 Flash (batch)](https://ailoot.ai/models/ja/google-gemini-3-5-flash-u003a-batch/)

Gemini 3.5 Flashは、マルチモーダル理解と推論を組み合わせ、コーディングや複数段階のエージェント課題を扱います。テキスト、画像、動画、音声、PDFを入力してテキストを生成し、公開仕様では構造化出力、ツール、1,048,576トークンの入力上限を備えます。

- [**Ailoot Ultra · バッチ** `POST /v1/batches` `google/gemini-3.5-flash:batch`](https://ailoot.ai/models/ja/google-gemini-3-5-flash-u003a-batch/#method-0)

モデルについて

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

Gemini 3.5 Flashは、継続的なコーディングとエージェント作業に向けたGoogleのマルチモーダルFlashモデルです。公開されている入力はテキスト、画像、動画、音声、PDFで、出力はテキストです。課題として、反復的なコーディング、別の解決策の探索、より長い指示とツール利用の流れを重視しています。3.5版は、公開された思考制御、マルチモーダル入力、ツールのワークフローを備えています。

コーディング課題には、文章による要件、関連ソースファイル、目標の結果のスクリーンショットを組み合わせられます。観測した動作、期待する動作、維持すべき制約を渡してください。依頼例は「スクリーンショットとコンポーネントのテキストを比較し、フォームの手順の不一致を特定し、焦点を絞った1つの修正を提案してください。どのソースの詳細が変更の根拠となるか説明してください」です。文書の課題では、関連ページを提供し、明示した要件と比較して、各知見の出典参照を示すよう求めます。

この版ではminimal、low、medium、highの思考レベルが公開されています。デフォルトはmediumで、Gemini 3 Flash Previewのhighから変更されました。minimalは単純な回答や分かりやすいツール選択に向いていますが、推論が完全に無効になることは保証しません。lowは少ない段階で済む課題を対象とし、highは難しい数学、コーディング、エージェントの問題に深い推論を提供します。Googleは、推論量の制御にthinking\_levelを使い、temperature、top-p、top-kを変更して推論を強制しようとする代わりに、デフォルトのサンプリング設定を保つことを勧めています。

特徴的な動作は、複数ターンの課題で推論の文脈を保持することです。GoogleのInteractionsワークフローはこの文脈を自動的に引き継ぎ、GenerateContentワークフローでは思考シグネチャを含む会話履歴全体を変更せずに渡す必要があります。これにより、前の推論を次の段階に生かす継続的なデバッグやリファクタリングを支えます。追加の依頼を毎回無関係なプロンプトに変えるのではなく、実際の会話構造を保持し、作業中も求める最終成果物を明確にしてください。

公開されているツール群には、Google Search、Google Mapsによるグラウンディング、File Search、Code Execution、URL Context、標準のFunction Callingがあり、複合的なツール利用とComputer Useはプレビュー機能とされています。Structured Outputsで定義済みのデータレコードを出力できます。関数には明確な目的とパラメータ定義を与えます。モデルが関数を選び、接続先アプリケーションがその操作を実行して結果を返します。Googleは、関数結果が直前の呼び出しと識別情報、名前、数で一致することを求めており、マルチモーダルの結果は関数応答内に含めます。

当該APIモデル仕様表には、最大入力1,048,576トークン、最大出力65,536トークンと記載されています。会話履歴と渡したメディアも入力枠を使います。この仕様ではキャッシュとバッチ処理が公開され、Googleの表にはFlexとPriority処理の選択肢もあります。これらの上限と能力は開発元の版を説明するものであり、回答が出力ウィンドウ全体を埋めることや、すべてのツールが課題に必要となることを意味しません。

このモデルは画像や音声ではなくテキストを生成し、Live APIを使いません。開発者ガイドでは画像セグメンテーションも対象外です。視覚的な質問には、渡した資料の説明、抽出、解釈を求め、発話の録音にはテキスト結果を求めます。回答が新しい情報に依存する場合は、公開された検索グラウンディングの手順で、学習済み知識の範囲外の出典を追加できます。外部情報が必要かどうかと、最終回答に残すべき証拠を指定してください。

有用な長期課題では、最初の段階の前に最終結果と完了条件を定義します。サポート分析では、観測した問題、裏付けの文章、返信案の表を求められます。コーディングでは、焦点を絞った変更と関連する検証結果を求められます。重要な資料の文脈を添え、許可するツール操作を指定し、完了した作業と、まだ情報が必要な問いを分けた明確な最終回答を要求してください。こうして、持続的なワークフローを、具体的なテキスト、コード、構造化成果物へつなげられます。

**Ailoot Ultra · バッチ** `POST /v1/batches` `google/gemini-3.5-flash:batch`

[`google/gemini-3.5-flash:batch`](https://ailoot.ai/models/ja/#m=google%2Fgemini-3.5-flash%3Abatch&route=Ultra&caller=google%2Fgemini-3.5-flash%3Abatch&fmt=batches)

Google /`google/gemini-3.5-flash:batch`

### はじめに

Gemini 3.5 Flashは、マルチモーダル理解と推論を組み合わせ、コーディングや複数段階のエージェント課題を扱います。テキスト、画像、動画、音声、PDFを入力してテキストを生成し、公開仕様では構造化出力、ツール、1,048,576トークンの入力上限を備えます。

対応する入力

テキスト

結果

テキスト

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

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

入力の種類

`text`

出力の種類

`text`

出力形式

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

| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
| --- | --- | --- | --- | --- |
| フィールド`endpoint` | 種類`string` | 要件必須 | 値と制限 /v1/chat/completions | デフォルト— |
| フィールド`model` | 種類`string` | 要件必須 | 値と制限 google/gemini-3.5-flash:batch | デフォルト— |
| フィールド`requests` | 種類`batch_item[]` | 要件必須 | 値と制限 最小項目数: 1 | デフォルト— |
| フィールド`requests[].custom_id` | 種類`string` | 要件必須 | 値と制限 | デフォルト— |
| フィールド`requests[].body.messages` | 種類`message[]` | 要件必須 | 値と制限 | デフォルト— |
| フィールド`completion_window` | 種類`string` | 要件任意 | 値と制限 24h | デフォルト— |
| フィールド`provider` | 種類`object\|null` | 要件任意 | 値と制限 | デフォルト— |
| フィールド`requests[].body.model` | 種類`string` | 要件任意 | 値と制限 google/gemini-3.5-flash:batch, google/gemini-3.5-flash | デフォルト— |
| フィールド`provider.only` | 種類`string[]` | 要件任意 | 値と制限 google-vertex/global | デフォルト— |
| フィールド`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.0015** / 1K トークン 出力 · 出力トークン **$0.009** / 1K トークン 入力 · キャッシュ読み取り **$0.00015** / 1K トークン 入力 · キャッシュ書き込み **—** / 1K トークン 入力 · キャッシュ書き込み、1時間 **—** / 1K トークン |
| 設定リクエスト長に応じた料金区分 1 | 料金表— | コンテキストトークン数が次の値を超える場合0 | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン **$0.0015** / 1K トークン 出力 · 出力トークン **$0.009** / 1K トークン 入力 · キャッシュ読み取り **$0.00015** / 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":"google/gemini-3.5-flash: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 ['google/gemini-3.5-flash:batch', 'google/gemini-3.5-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.5-flash: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** [`google/gemini-3.5-flash:batch`](https://ailoot.ai/models/ja/#m=google%2Fgemini-3.5-flash%3Abatch&route=Ultra&caller=google%2Fgemini-3.5-flash%3Abatch&fmt=batches)

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

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

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

[`google/gemini-3.5-flash:batch`](https://ailoot.ai/models/ja/#m=google%2Fgemini-3.5-flash%3Abatch&route=Ultra&caller=google%2Fgemini-3.5-flash%3Abatch&fmt=batches)

FAQ · Google: Gemini 3.5 Flash (batch)

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

`POST /v1/batches` · `google/gemini-3.5-flash:batch`: `text` → `text`

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

`POST /v1/batches` · `google/gemini-3.5-flash:batch`: `endpoint`, `model`, `requests`, `completion_window`, `provider`

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

`POST /v1/batches` · `google/gemini-3.5-flash: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アクセスに活かしています。
