Google: Gemini 3.8 Flash (batch)
Gemini 3.8 Flash ialah model multimodal serba guna Google untuk kejuruteraan perisian berterusan, ejen dan tugas pengetahuan kompleks. Ia menerima teks, imej, audio, video dan PDF, mengembalikan teks serta menawarkan penaakulan low, medium atau high dengan alat dan output berstruktur. Had input/output yang didokumenkan ialah 1,048,576/65,536 token.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Gemini 3.8 Flash ialah model output teks Google untuk kejuruteraan perisian berterusan, ejen berbilang langkah dan aliran kerja pengetahuan kompleks. Ia dibina berasaskan Gemini 3.7 Flash, dengan penambahbaikan dalam kejuruteraan perisian dan kerja pengetahuan berejen. Ia menerima teks, imej, audio, video dan PDF, jadi tugas boleh menggabungkan objektif bertulis dengan bahan sebenar yang diperlukan untuk menyelesaikannya. Hasil yang berguna ialah perubahan kod, analisis yang diterangkan, jawapan bertulis atau rekod berstruktur.
Untuk tugasan pengekodan, bekalkan keperluan, fail berkaitan, tingkah laku yang diperhatikan dan kekangan yang perlu dikekalkan. Tangkapan skrin boleh menetapkan antara muka yang dimaksudkan, manakala log atau contoh yang menghasilkan semula masalah menunjukkan kegagalan. Untuk tugas penyahpepijatan, minta model menjejaki ketidakpadanan antara keadaan borang yang kelihatan dengan nilai tersimpannya, mengenal pasti laluan kod yang bertanggungjawab dan mencadangkan pembetulan berfokus. Jelaskan artifak akhir yang dimaksudkan supaya urutan penyiasatan dan penggunaan alat yang lebih panjang masih mempunyai syarat penyiapan khusus.
Untuk kerja yang berjalan lebih lama, gunakan langkah penaakulan lebih kecil, panggilan alat berulang dan semakan hasil perantaraan. Aras pemikiran low, medium dan high mengawal jumlah penaakulan; medium ialah lalai yang didokumenkan. Low sesuai untuk draf pantas atau analisis terbatas, manakala high ditujukan untuk matematik sukar, pengekodan atau tugas berbilang langkah. Gemini 3.8 Flash tidak menyokong aras pemikiran minimal. Oleh itu, tugasan penyahpepijatan berterusan dan pengekstrakan medan mudah memerlukan pilihan penaakulan berbeza, bukannya tetapan sama untuk setiap permintaan.
Alat yang didokumenkan merangkumi pemanggilan fungsi, pelaksanaan kod, carian fail, pembumian carian, pembumian Google Maps dan konteks URL, dengan Computer Use disenaraikan sebagai keupayaan pratonton. Output berstruktur menetapkan hasil yang boleh dibaca mesin. Fungsi perlu mempunyai tujuan dan takrif parameter yang jelas: model boleh meminta fungsi, manakala aplikasi yang disambungkan melaksanakan operasi dan mengembalikan hasilnya. Kekalkan identiti fungsi dan bahan sebenar yang dikembalikan merentas giliran. Jawapan akhir yang berguna menerangkan bukti yang menyokong pembetulan atau nilai diekstrak yang dicadangkan.
Panduan migrasi 3.8 menggunakan kawalan aras pemikiran menggantikan konfigurasi belanjawan penaakulan lama dan menasihatkan agar parameter pensampelan lapuk serta giliran model yang diisi awal dibuang. Ia juga mewajibkan tandatangan pemikiran dikekalkan dalam aliran kerja tanpa keadaan yang berkaitan dan respons fungsi dipadankan dengan panggilannya melalui identiti dan nama. Butiran ini penting semasa menyambung tugas berbilang langkah: giliran seterusnya memerlukan konteks terdahulu sebenar, bukannya penceritaan semula yang kehilangan hasil alat atau tandatangan. Jelaskan soalan dan output yang diminta dalam giliran pengguna baharu.
Untuk kerja pengetahuan multimodal, kenal pasti halaman dokumen, carta, selang audio atau peristiwa video yang berkaitan dan nyatakan sumbangannya kepada jawapan. Perbandingan dokumen boleh meminta jadual perbezaan dengan petikan sumber; soalan carta boleh meminta nilai yang kelihatan dan kesimpulan yang disokongnya. Analisis video boleh meminta huraian peristiwa yang menyokong dapatan. Model mengembalikan teks daripada input ini. Imej terjana, pertuturan dan interaksi audio Live tergolong dalam profil model berasingan.
Had Gemini APInya ialah 1,048,576 token input dan 65,536 token output, bersamaan konteks sehingga 1M dan output teks 64K bagi model asal. Arahan, sejarah perbualan dan media yang dibekalkan menggunakan konteks input, dan penaakulan atau artifak akhir yang panjang mesti muat dalam peruntukan output yang didokumenkan. Google turut menyenaraikan cache, pemprosesan kelompok serta pemprosesan Flex dan Priority bagi profil pengeluar ini. Untuk item bebas, kekalkan pengecam item yang stabil dan format output yang jelas supaya setiap hasil kekal berkait dengan sumbernya.
Batasan yang mungkin berlaku merangkumi halusinasi, kelewatan atau tamat masa sekali-sekala serta penggunaan token lebih banyak pada usaha lebih tinggi. Tarikh akhir pengetahuannya ialah Mac 2026, dengan sesetengah domain masih terhad kepada Januari 2025. Bekalkan bukti semasa atau gunakan alat pembumian yang didokumenkan apabila tugas bergantung pada maklumat lebih baharu. Semak petikan sumber, pengiraan dan kod yang dicadangkan berdasarkan input sebenar serta hasil pelaksanaan. Artifak akhir yang berguna perlu membezakan dapatan yang disokong daripada soalan belum selesai tanpa mengandaikan jawapan lancar membuktikan hasil yang diminta telah dicapai.
Ailoot Ultra · Kelompok POST /v1/batches google/gemini-3.8-flash:batch
google/gemini-3.8-flash:batchPengenalan
Gemini 3.8 Flash ialah model multimodal serba guna Google untuk kejuruteraan perisian berterusan, ejen dan tugas pengetahuan kompleks. Ia menerima teks, imej, audio, video dan PDF, mengembalikan teks serta menawarkan penaakulan low, medium atau high dengan alat dan output berstruktur. Had input/output yang didokumenkan ialah 1,048,576/65,536 token.
- 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.8-flash: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.8-flash:batch, google/gemini-3.8-flash | 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.00075 / 1K token Output · Token output $0.00375 / 1K token Input · Bacaan cache $0.000075 / 1K token Input · Penulisan cache $0.0000833333333333334 / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.00075 / 1K token Output · Token output $0.00375 / 1K token Input · Bacaan cache $0.000075 / 1K token Input · Penulisan cache $0.0000833333333333334 / 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.8-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
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.8-flash:batch', 'google/gemini-3.8-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.8-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"))
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.8-flash:batch
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · Google: Gemini 3.8 Flash (batch)
- Apakah input dan hasil yang tersedia?
POST /v1/batches·google/gemini-3.8-flash:batch:text→text- Apakah medan yang digunakan oleh permintaan?
POST /v1/batches·google/gemini-3.8-flash:batch:endpoint,model,requests,completion_window,provider- Apakah had yang terpakai?
POST /v1/batches·google/gemini-3.8-flash:batch:requests.min_items:1