Google: Gemini 3.5 Flash (batch)
Gemini 3.5 Flash menggabungkan pemahaman multimodal dengan penalaran untuk pemrograman dan tugas agen bertahap. Model ini menerima teks, gambar, video, audio, dan PDF serta menghasilkan teks, dengan keluaran terstruktur, alat, dan batas masukan 1,048,576 token dalam profil yang didokumentasikan.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Gemini 3.5 Flash adalah profil model multimodal Flash Google untuk pemrograman dan pekerjaan agen yang berkelanjutan. Masukan yang didokumentasikan adalah teks, gambar, video, audio, dan PDF, dengan keluaran teks. Fokus tugas model mencakup pemrograman iteratif, eksplorasi solusi alternatif, serta rangkaian instruksi dan penggunaan alat yang lebih panjang. Edisi 3.5 menyediakan kontrol thinking, masukan multimodal, dan alur alat yang didokumentasikan.
Tugas pemrograman dapat menggabungkan persyaratan tertulis, berkas sumber yang relevan, dan tangkapan layar hasil yang diinginkan. Berikan perilaku yang diamati, perilaku yang diharapkan, dan batasan yang harus tetap utuh. Contoh arahannya: “Bandingkan tangkapan layar dengan teks komponen, identifikasi ketidaksesuaian dalam alur formulir, dan usulkan satu koreksi terarah. Jelaskan detail sumber mana yang mendasari perubahan.” Untuk tugas dokumen, berikan halaman yang relevan dan minta perbandingan terhadap persyaratan eksplisit, dengan referensi sumber untuk setiap temuan.
Edisi ini mendokumentasikan tingkat thinking minimal, low, medium, dan high. Medium adalah bawaan, berubah dari bawaan high pada Gemini 3 Flash Preview. Minimal sesuai untuk jawaban sederhana dan keputusan alat langsung tanpa menjamin penalaran sepenuhnya dinonaktifkan; low menargetkan tugas yang memerlukan lebih sedikit langkah; high menyediakan penalaran lebih mendalam untuk soal matematika, pemrograman, dan agen yang sulit. Google menyarankan penggunaan thinking_level untuk mengendalikan upaya dan mempertahankan pengaturan sampling bawaan, alih-alih mencoba memaksakan penalaran dengan mengubah temperature, top-p, atau top-k.
Perilaku utama model ini adalah mempertahankan konteks penalaran sepanjang tugas multigiliran. Alur Interactions Google membawa konteks tersebut secara otomatis; alur GenerateContent-nya memerlukan riwayat percakapan lengkap tanpa modifikasi, termasuk thought signatures. Hal ini mendukung penugasan debugging atau refactoring berkelanjutan, saat penalaran sebelumnya menjadi landasan langkah berikutnya. Pertahankan struktur percakapan sebenarnya, alih-alih mengubah setiap tindak lanjut menjadi prompt yang tidak berkaitan, dan jaga agar artefak akhir yang diminta tetap jelas selama pekerjaan berlangsung.
Kumpulan alat yang didokumentasikan mencakup Google Search, grounding dengan Google Maps, File Search, Code Execution, URL Context, dan Function Calling standar, dengan penggunaan alat gabungan dan Computer Use ditandai sebagai kemampuan pratinjau. Structured Outputs dapat menyediakan rekaman data dengan definisi tertentu. Berikan tujuan dan definisi parameter fungsi yang jelas: model memilih fungsi, sedangkan aplikasi yang terhubung menjalankan operasinya dan mengembalikan hasil. Google mewajibkan hasil fungsi cocok dengan panggilan sebelumnya berdasarkan identitas, nama, dan jumlah; hasil multimodal ditempatkan di dalam respons fungsi.
Tabel model API khususnya memberikan masukan maksimum 1,048,576 token dan keluaran maksimum 65,536 token. Riwayat percakapan dan media yang diberikan berkontribusi pada anggaran masukan. Caching dan pemrosesan batch didokumentasikan untuk profil ini, dengan opsi pemrosesan Flex dan Priority tambahan dalam tabel Google. Batas dan kemampuan ini menjelaskan edisi produsen; keduanya tidak mewajibkan jawaban memenuhi seluruh jendela keluaran atau menjadikan setiap alat diperlukan untuk suatu tugas.
Profil ini menghasilkan teks, bukan gambar atau audio, dan tidak menggunakan Live API. Panduan pengembangnya juga mengecualikan segmentasi gambar. Untuk pertanyaan visual, minta deskripsi, ekstraksi, atau interpretasi materi yang diberikan; untuk rekaman ucapan, minta hasil teks. Ketika jawaban bergantung pada informasi lebih baru, alur grounding pencarian yang didokumentasikan dapat menambahkan sumber di luar pengetahuan pelatihan. Nyatakan apakah informasi eksternal diperlukan dan bukti apa yang harus dipertahankan dalam jawaban akhir.
Untuk penugasan panjang yang berguna, definisikan hasil akhir dan kriteria penyelesaian sebelum langkah pertama. Tugas analisis dukungan dapat meminta tabel masalah yang diamati, kutipan pendukung, dan usulan balasan; tugas pemrograman dapat memerlukan perubahan terarah serta hasil validasi yang relevan. Lampirkan konteks sumber yang penting, tentukan tindakan alat yang diizinkan, dan minta jawaban akhir eksplisit yang memisahkan pekerjaan selesai dari pertanyaan yang masih memerlukan informasi. Hal ini mengubah alur kerja berkelanjutan model menjadi artefak teks, kode, atau terstruktur yang konkret.
Ailoot Ultra · Batch POST /v1/batches google/gemini-3.5-flash:batch
google/gemini-3.5-flash:batchMulai
Gemini 3.5 Flash menggabungkan pemahaman multimodal dengan penalaran untuk pemrograman dan tugas agen bertahap. Model ini menerima teks, gambar, video, audio, dan PDF serta menghasilkan teks, dengan keluaran terstruktur, alat, dan batas masukan 1,048,576 token dalam profil yang didokumentasikan.
- 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.5-flash: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.5-flash:batch, google/gemini-3.5-flash | 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.0015 / 1K token Keluaran · Token keluaran $0.009 / 1K token Masukan · Pembacaan cache $0.00015 / 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.0015 / 1K token Keluaran · Token keluaran $0.009 / 1K token Masukan · Pembacaan cache $0.00015 / 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.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
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"))
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.5-flash:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Google: Gemini 3.5 Flash (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·google/gemini-3.5-flash:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·google/gemini-3.5-flash:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·google/gemini-3.5-flash:batch:requests.min_items:1