Google: Gemini 3.1 Pro Preview (batch)
Gemini 3.1 Pro Preview ialah model penaakulan multimodal Google untuk tugas perisian, algoritma dan pengetahuan yang kompleks. Model ini menerima teks, imej, audio, video dan PDF serta memulangkan teks atau kod, dengan alat dan output berstruktur. Tahap penaakulan Low, medium dan high memandu usaha; high ialah lalai yang didokumentasikan.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Gemini 3.1 Pro Preview ialah model teks berorientasikan penaakulan Google untuk tugas kompleks yang memerlukan kejuruteraan perisian, pembangunan algoritma atau sintesis bukti multimodal. Ia dibina berasaskan Gemini 3 Pro, menekankan penggunaan alat tepat, penaakulan lebih cekap dan pelaksanaan berbilang langkah yang boleh dipercayai. Teks, imej, audio, video dan PDF boleh menyumbang kepada jawapan bertulis, artifak kod atau hasil berstruktur.
Untuk tugasan pengekodan yang mencabar, berikan matlamat, bahan repositori berkaitan, tingkah laku diperhatikan dan kekangan yang perlu dikekalkan. Seluruh repositori kod boleh membekalkan konteks tugasan. Untuk semakan kontrak kod, minta model membandingkan cara dua modul mengendalikan kontrak data dikongsi, mengenal pasti ketidakpadanan dan mencadangkan pembetulan berfokus dengan rujukan kod sokongan. Output yang berguna membezakan analisis, pindaan cadangan dan bukti daripada sebarang pengesahan yang dilakukan oleh aplikasi yang disambungkan.
Bahan pelancaran menunjukkan penerangan visual berasaskan kod dan projek interaktif, termasuk output SVG beranimasi daripada taklimat teks. Ini ialah artifak kod, bukannya penjanaan imej raster. Taklimat jelas boleh menetapkan perkara yang perlu diterangkan, cara visual perlu berfungsi dan data yang perlu diwakilinya. Semak kod terhasil dan pemaparannya berdasarkan keperluan itu. Untuk tugas sintesis data, bekalkan sumber sebenar dan minta satu paparan yang mengekalkan hubungan serta batasan atau syarat yang terkandung dalam sumber-sumber tersebut.
Aras pemikiran yang didokumenkan ialah low, medium dan high, dengan high sebagai lalai 3.1 Pro Preview. Pemikiran tidak boleh dinyahaktifkan sepenuhnya dalam profil Pro ini. Pilih usaha lebih rendah untuk jawapan terbatas dan lebih banyak penaakulan untuk kerja berbilang langkah yang sukar, sambil meninggalkan peruntukan output mencukupi bagi artifak akhir. Had output kecil boleh mengganggu penaakulan sebelum jawapan akhir yang boleh digunakan muncul. Panduan pemikiran memisahkan ringkasan penaakulan daripada proses dalaman penuh dan menerangkan kepentingan konteks tandatangan pemikiran perbualan.
Jadual Preview khusus menyenaraikan pemanggilan fungsi, pelaksanaan kod, pembumian carian, pembumian Maps, konteks URL dan output berstruktur. Ia mengehadkan File Search kepada AI Studio. Berikan tujuan fungsi dan takrif parameter serta teruskan berdasarkan hasil sebenar yang dikembalikan. Profil Custom Tools Preview berasingan dioptimumkan untuk mengutamakan alat tersuai dan bash; ia ialah titik hujung pengeluar bernama yang berbeza, jadi pengkhususan itu tidak sepatutnya dianggap secara senyap sebagai sifat setiap permintaan 3.1 Pro. Pilih skema hasil berstruktur apabila tugas memerlukan rekod ditetapkan, bukannya prosa bebas.
Untuk analisis multimodal, kenal pasti halaman, visual, selang rakaman atau peristiwa video yang berkaitan. Untuk analisis dokumen, bandingkan rajah dengan spesifikasi bertulisnya dan kembalikan setiap perbezaan bersama petikan sokongan. Sumber pertuturan boleh menyumbang transkrip atau tafsiran dalam teks. Kekalkan rujukan sumber bagi kesimpulan yang perlu disemak, dan pisahkan perkara yang kelihatan atau dinyatakan daripada perkara yang disimpulkan. Output profil ini kekal sebagai teks, termasuk kod; penjanaan imej atau pertuturan asal bukan sebahagian jadual keupayaan khususnya.
Kad asal 3.1 Pro menetapkan konteks sehingga 1M dan output teks 64K, dan jadual API Preview khusus memberikan 1,048,576 token input serta 65,536 token output. Masukkan arahan, sejarah perbualan dan media dalam belanjawan input. Cache dan pemprosesan kelompok didokumenkan, dengan pilihan Flex serta Priority turut disenaraikan bagi profil pengeluar. Untuk beberapa item bebas, tetapkan output wajib dan simpan setiap pengecam sumber, daripada menggabungkan bukti tidak berkaitan menjadi satu jawapan yang tidak boleh dijejaki.
Edisi Preview bernama kekal berbeza daripada profil Custom Tools Pro dan keluaran Flash atau Pro kemudian. Kekuatannya berkaitan penaakulan kompleks, pengekodan dan sintesis bukti; artifak akhir masih perlu disemak berdasarkan sumber serta hasil alat sebenar. Kekalkan kekaburan belum selesai apabila maklumat dibekalkan tidak menyokong kesimpulan pasti. Hasil yang berguna ialah jawapan, kod atau rekod yang disokong dan diminta tugas, dengan bukti mencukupi untuk menilai batasan praktikalnya.
Ailoot Ultra · Kelompok POST /v1/batches google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batch
google/gemini-3.1-pro-preview:batchPengenalan
Gemini 3.1 Pro Preview ialah model penaakulan multimodal Google untuk tugas perisian, algoritma dan pengetahuan yang kompleks. Model ini menerima teks, imej, audio, video dan PDF serta memulangkan teks atau kod, dengan alat dan output berstruktur. Tahap penaakulan Low, medium dan high memandu usaha; high ialah lalai yang didokumentasikan.
- Input yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Kelompok POST /v1/batches
- Input
text- Output
text- Format output
- JSON results[].response.body sebaris
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanendpoint | Jenisstring | KeperluanDiperlukan | Nilai & had /v1/chat/completions | Lalai— |
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had google/gemini-3.1-pro-preview:batch | Lalai— |
Medanrequests | Jenisbatch_item[] | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
Medanrequests[].custom_id | Jenisstring | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanrequests[].body.messages | Jenismessage[] | KeperluanDiperlukan | Nilai & had | Lalai— |
Medancompletion_window | Jenisstring | KeperluanPilihan | Nilai & had 24h | Lalai— |
Medanprovider | Jenisobject|null | KeperluanPilihan | Nilai & had | Lalai— |
Medanrequests[].body.model | Jenisstring | KeperluanPilihan | Nilai & had google/gemini-3.1-pro-preview:batch, google/gemini-3.1-pro-preview | Lalai— |
Medanprovider.only | Jenisstring[] | KeperluanPilihan | Nilai & had google-vertex/global | Lalai— |
Medanprovider.allow_fallbacks | Jenisboolean|null | KeperluanPilihan | Nilai & had false, null | Lalai— |
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] sebaris; setiap item mempunyai custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil boleh membaca JSONL UTF-8 sebenar secara setempat ke dalam requests[]. Tiada tujuan muat naik, input_file_id atau rujukan fail digunakan. Bahan pelanggan yang tiada atau kosong menghentikan persediaan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika dibekalkan), completion_window (jika dibekalkan), requests di akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | KontrakBadan permintaan Chat Completions teks dalam pembungkus Batch sebaris yang didokumenkan. |
Kitar hayat: asynchronous
GET /v1/batches/{operation_id} · response.id sebenar daripada respons penciptaan asal; pengguna/kunci/kumpulan yang sama
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
- Harga cache eksplisit
- Tidak diaktifkan Apabila cache eksplisit diminta
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.002 / 1K token Output · Token output $0.012 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasuk200,000 | Caj Input · Token input $0.002 / 1K token Output · Token output $0.012 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 2 | Jadual kadar— | Token konteks, melebihi200,000 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.004 / 1K token Output · Token output $0.018 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Kelompok
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.1-pro-preview: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
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.1-pro-preview:batch', 'google/gemini-3.1-pro-preview']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.1-pro-preview: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"))
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.
Terima dan simpan hasil
Ailoot Ultra · Kelompok
JSON results[].response.body sebaris
GET /v1/batches/{operation_id}
Semak status tugas
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
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Simpan keseluruhan JSON status asal, setiap hasil/custom_id serta badan respons atau ralat yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penapisan.
Jika respons asal perlu disemak
Simpan ID operasi asal. 503 result_pending_check mempunyai X-Should-Retry:false; jangan sekali-kali hantar semula kelompok asal yang hasilnya tidak diketahui.
Medan respons
| Medan | Jenis |
|---|---|
Medanresults[].custom_id | Jenisstring |
Medanresults[].response.body.choices[].message.content | Jenisstring|null |
Medanresults[].error | Jenisobject|null |
Medanusage | Jenisobject|null |
Medanid | Jenisstring |
Medanmodel | Jenisstring |
Medanendpoint | Jenisstring |
Medanstatus | Jenisstring |
Medanrequest_counts | Jenisobject |
Medanresults[].id | Jenisstring |
Medanresults[].response.status_code | Jenisinteger |
Medanresults[].response.request_id | Jenisstring |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratPembungkus sebaris yang didokumenkan tidak sah, kunci berulang, identiti item atau keupayaan model yang dikonfigurasikan bercanggah. | Langkah seterusnyaBetulkan medan yang dinyatakan sebelum sebarang penghantaran baharu. |
Respons401 · authentication_error | SyaratKunci API tidak sah. | Langkah seterusnyaGunakan kunci Ailoot yang dibenarkan. |
Respons403 · permission_error | SyaratKumpulan kelompok tidak tersedia. | Langkah seterusnyaSemak hak akses kunci/kumpulan. |
Respons422 · invalid_request_error | SyaratKelompok menggunakan pengebilan baki; penciptaan melalui langganan ditolak. | Langkah seterusnyaGunakan kumpulan yang dibenarkan untuk pengebilan melalui baki. |
Respons422 · price_unavailable | SyaratSebut harga tidak dapat diberikan untuk input kelompok. | Langkah seterusnyaSimpan respons; gunakan input keluarga API yang didokumenkan. |
Respons402 · billing_error | SyaratRizab kelompok tidak tersedia. | Langkah seterusnyaSelesaikan isu penerimaan permintaan sebelum menghantar permintaan baharu. |
Respons503 · price_unavailable | SyaratHarga kaedah kelompok/kadar natif tidak tersedia. | Langkah seterusnyaSimpan respons; jangan gantikan harga. |
Respons503 · api_error | SyaratLaluan pembekal yang tepat tidak tersedia. | Langkah seterusnyaSimpan respons untuk pembaikan laluan. |
Respons503 · result_pending_check | SyaratHasil asal memerlukan semakan; X-Should-Retry:false. | Langkah seterusnyaSimpan operation_id/id asal dan baca statusnya; jangan sekali-kali ulang POST asal. |
Respons404 · not_found | SyaratOperasi status kelompok tiada atau dimiliki oleh identiti lain. | Langkah seterusnyaGunakan id asal yang tepat serta pengguna/kunci/kumpulan yang sama. |
Alias
Alias model
Ailoot Ultra google/gemini-3.1-pro-preview:batch
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · Google: Gemini 3.1 Pro Preview (batch)
- Apakah input dan hasil yang tersedia?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:text→text- Apakah medan yang digunakan oleh permintaan?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:endpoint,model,requests,completion_window,provider- Apakah had yang terpakai?
POST /v1/batches·google/gemini-3.1-pro-preview:batch:requests.min_items:1