Google: Gemini 3 Flash Preview (batch)
Gemini 3 Flash Preview menggabungkan pemahaman multimodal dan penalaran dengan keluaran teks. Model ini mendukung analisis kode, dokumen, dan visual, hasil terstruktur, serta alur yang berorientasi pada alat, dengan empat tingkat thinking yang didokumentasikan untuk memilih kedalaman analisis.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Gemini 3 Flash Preview adalah model penalaran Google untuk pemahaman multimodal, pemrograman, dan tugas agen. Model ini menerima teks, gambar, video, audio, dan PDF serta menghasilkan teks. Karena itu, satu permintaan dapat menyatukan instruksi tertulis, berkas sumber, pengamatan visual, dan riwayat percakapan seputar satu masalah. Hasilnya dapat berupa penjelasan, usulan kode, data hasil ekstraksi, atau rencana yang berlandaskan materi tersebut, bukan gambar yang dihasilkan atau respons ucapan.
Kartu model khususnya memberikan batas masukan 1,048,576 token dan batas keluaran 65,536 token. Rencanakan sumber dan hasil secara terpisah: kutipan repositori panjang, kumpulan dokumen, atau rekaman hanya dapat dimuat ketika representasi hasil pemrosesannya serta instruksi muat dalam anggaran masukan, dan jawaban tetap membutuhkan alokasi panjangnya sendiri. Beri label pada sumber yang berkaitan dan identifikasi materi mana yang otoritatif. Untuk prompt panjang, panduan pengembang menyarankan menempatkan pertanyaan spesifik setelah data dan mengaitkannya secara eksplisit dengan informasi sebelumnya.
Thinking bersifat dinamis, dengan high sebagai bawaan yang didokumentasikan untuk model ini. Tingkat yang didukung adalah minimal, low, medium, dan high. Tingkat tersebut merupakan alokasi penalaran relatif, bukan jumlah token yang dijamin. Minimal masih dapat melibatkan sejumlah penalaran untuk masalah pemrograman yang sulit. Pilih tingkat sesuai tugas: transformasi singkat dan masalah debugging dengan banyak kondisi memerlukan perlakuan berbeda. Gunakan instruksi langsung dan jelas, alih-alih memaksakan ritual penalaran rumit ke dalam prompt; minta artefak akhir dan pemeriksaan yang membuatnya dapat digunakan.
Kartu produsen mencantumkan keluaran terstruktur, function calling, eksekusi kode, penggunaan komputer, pencarian berkas, grounding pencarian, grounding Google Maps, konteks URL, dan caching. Alat bawaan dapat digabungkan dengan function calling khusus dalam alur Gemini 3 yang didokumentasikan. Aplikasi mendefinisikan fungsi, memeriksa argumennya, menjalankan tindakan yang diterima, dan mengirim kembali hasilnya. Untuk asisten kode, alat pembaca berkas atau pelaksana pengujian terkontrol dapat menyediakan bukti konkret bagi langkah berikutnya. Tindakan yang diusulkan dan hasil alat yang diamati harus tetap dibedakan dalam laporan akhir.
Untuk pemrograman, berikan berkas yang relevan, bahasa, perilaku yang diharapkan, dan masukan yang mendemonstrasikan masalah. Tetapkan cakupan perubahan dan sebutkan antarmuka atau perilaku yang harus dipertahankan. Minta implementasi yang direvisi dan kasus yang harus diperiksa. Untuk tugas dokumen analitis, definisikan pertanyaan, bidang yang diwajibkan, dan referensi sumber. Jika keluaran terstruktur digunakan, berikan skema dengan makna bidang yang jelas dan aturan nilai yang hilang. Validasi sintaksis sekaligus apakah setiap nilai berasal dari materi asli.
Untuk analisis multimodal, identifikasi apa yang penting dalam setiap sumber. Tangkapan layar dapat mendukung penjelasan antarmuka, PDF dapat memasok tabel atau grafik, dan rekaman dapat menyediakan peristiwa yang terdengar atau terlihat. Panduan pengembang membahas kontrol resolusi media karena tingkat detail mengubah representasi yang diproses dan penggunaan token. Alur eksekusi kode produsen dapat memotong atau memperbesar gambar yang diberikan, menjalankan perhitungan dari data visual, dan menambahkan anotasi sebelum model menyiapkan jawaban. Teks kecil yang perlu terbaca mungkin memerlukan pengaturan berbeda dari deskripsi adegan umum. Simpan halaman, gambar, atau klip yang relevan agar tersedia sehingga pengamatan dapat diperiksa, alih-alih menganggap ringkasan yang lancar sebagai bukti bahwa setiap detail dibaca dengan benar.
Status percakapan dan alat perlu dipertahankan dalam antarmuka terpilih. Gemini 3 menggunakan thought signatures untuk membawa konteks penalaran antar-panggilan; panduan pengembang membedakan riwayat stateful yang dikelola dari riwayat stateless yang dikelola secara manual. Pertahankan konteks yang diwajibkan ketika melanjutkan tugas alat atau merevisi hasil. Google juga menyarankan mempertahankan temperature bawaan 1.0, alih-alih mengimpor pola temperature rendah yang dapat menimbulkan pengulangan atau penurunan perilaku pada tugas kompleks. Ini merupakan praktik integrasi produsen, bukan klaim baru tentang transport aplikasi tertentu.
Model teks ini tidak mengiklankan pembuatan gambar atau audio maupun Live API. Panduan juga membedakan pemahaman visual dari segmentasi gambar pada tingkat piksel, yang bukan kemampuan Gemini 3 Flash yang didukung. Gunakan hasil akhir yang sesuai untuk tugas sebenarnya: pengamatan dengan tautan sumber, rekaman terstruktur, perubahan kode, atau keputusan dengan asumsi yang dinyatakan. Periksa aritmetika, verifikasi kode di lingkungan yang dimaksud, dan tinjau informasi alat yang dikembalikan. Ketika fakta terbaru penting, gunakan sumber grounding yang dikonfigurasi atau data terkini yang diberikan, alih-alih menganggap pengetahuan model sebagai basis data langsung.
Ailoot Ultra · Batch POST /v1/batches google/gemini-3-flash-preview:batch
google/gemini-3-flash-preview:batch
google/gemini-3-flash-preview:batchMulai
Gemini 3 Flash Preview menggabungkan pemahaman multimodal dan penalaran dengan keluaran teks. Model ini mendukung analisis kode, dokumen, dan visual, hasil terstruktur, serta alur yang berorientasi pada alat, dengan empat tingkat thinking yang didokumentasikan untuk memilih kedalaman analisis.
- Masukan yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Batch POST /v1/batches
- Masukan
text- Keluaran
text- Format keluaran
- JSON inline pada results[].response.body
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolomendpoint | Jenisstring | PersyaratanWajib | Nilai & batasan /v1/chat/completions | Bawaan— |
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan google/gemini-3-flash-preview:batch | Bawaan— |
Kolomrequests | Jenisbatch_item[] | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
Kolomrequests[].custom_id | Jenisstring | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomrequests[].body.messages | Jenismessage[] | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomcompletion_window | Jenisstring | PersyaratanOpsional | Nilai & batasan 24h | Bawaan— |
Kolomprovider | Jenisobject|null | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolomrequests[].body.model | Jenisstring | PersyaratanOpsional | Nilai & batasan google/gemini-3-flash-preview:batch, google/gemini-3-flash-preview | Bawaan— |
Kolomprovider.only | Jenisstring[] | PersyaratanOpsional | Nilai & batasan google-vertex/global | Bawaan— |
Kolomprovider.allow_fallbacks | Jenisboolean|null | PersyaratanOpsional | Nilai & batasan false, null | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] inline; setiap item memiliki custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil dapat membaca JSONL UTF-8 aktual secara lokal ke dalam requests[]. Tidak menggunakan purpose unggahan, input_file_id, atau referensi file. Materi pelanggan yang tidak ada atau kosong menghentikan persiapan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika disertakan), completion_window (jika disertakan), requests paling akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | Kontrakbody teks Chat Completions dalam envelope Batch inline yang didokumentasikan. |
Siklus hidup: asynchronous
GET /v1/batches/{operation_id} · response.id aktual dari operasi create awal; user/key/group yang sama
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
- Harga cache eksplisit
- Tidak diaktifkan Saat cache eksplisit diminta
Tarif Ailoot
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Token konteks, lebih dari | Token konteks, hingga dan termasuk | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Token konteks, lebih dari— | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.0005 / 1K token Keluaran · Token keluaran $0.003 / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiPanjang permintaan · tingkat 1 | Jadwal tarif— | Token konteks, lebih dari0 | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.0005 / 1K token Keluaran · Token keluaran $0.003 / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Batch
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-flash-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-flash-preview:batch', 'google/gemini-3-flash-preview']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3-flash-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 · Batch
JSON inline pada results[].response.body
GET /v1/batches/{operation_id}
Periksa 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, berkas, dan bagian konten yang dikembalikan.
Pertahankan JSON status asli secara lengkap, setiap result/custom_id, serta body response atau error yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penyaringan.
Jika respons asli perlu diperiksa
Pertahankan ID operasi asli. 503 result_pending_check memiliki X-Should-Retry:false; jangan pernah kirim ulang batch asli yang statusnya tidak diketahui.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomresults[].custom_id | Jenisstring |
Kolomresults[].response.body.choices[].message.content | Jenisstring|null |
Kolomresults[].error | Jenisobject|null |
Kolomusage | Jenisobject|null |
Kolomid | Jenisstring |
Kolommodel | Jenisstring |
Kolomendpoint | Jenisstring |
Kolomstatus | Jenisstring |
Kolomrequest_counts | Jenisobject |
Kolomresults[].id | Jenisstring |
Kolomresults[].response.status_code | Jenisinteger |
Kolomresults[].response.request_id | Jenisstring |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiEnvelope inline yang didokumentasikan tidak valid, ada kunci duplikat, atau terdapat konflik pada identitas item atau kemampuan model yang dikonfigurasi. | Langkah berikutnyaPerbaiki kolom yang ditunjukkan sebelum pengiriman baru apa pun. |
Respons401 · authentication_error | KondisiKunci API tidak valid. | Langkah berikutnyaGunakan kunci Ailoot yang berizin. |
Respons403 · permission_error | KondisiGrup Batch tidak tersedia. | Langkah berikutnyaPeriksa hak akses key/group. |
Respons422 · invalid_request_error | KondisiBatch menggunakan penagihan dari saldo; pembuatan dengan langganan ditolak. | Langkah berikutnyaGunakan grup berizin yang ditagih dari saldo. |
Respons422 · price_unavailable | KondisiPenawaran harga untuk input Batch tidak dapat dibuat. | Langkah berikutnyaSimpan respons; gunakan input keluarga API yang didokumentasikan. |
Respons402 · billing_error | KondisiCadangan Batch tidak tersedia. | Langkah berikutnyaSelesaikan kendala penerimaan sebelum mengirim permintaan baru. |
Respons503 · price_unavailable | KondisiHarga metode Batch/tarif native tidak tersedia. | Langkah berikutnyaSimpan respons; jangan mengganti harga. |
Respons503 · api_error | KondisiRute pemasok yang tepat tidak tersedia. | Langkah berikutnyaSimpan respons untuk perbaikan rute. |
Respons503 · result_pending_check | KondisiHasil asli perlu diperiksa; X-Should-Retry:false. | Langkah berikutnyaSimpan operation_id/id asli dan baca statusnya; jangan pernah mengulangi POST asli. |
Respons404 · not_found | KondisiOperasi status Batch tidak ada atau dimiliki oleh identitas lain. | Langkah berikutnyaGunakan id asli yang persis sama dan user/key/group yang sama. |
Alias
Alias model
Ailoot Ultra google/gemini-3-flash-preview:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Google: Gemini 3 Flash Preview (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·google/gemini-3-flash-preview:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·google/gemini-3-flash-preview:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·google/gemini-3-flash-preview:batch:requests.min_items:1