Google: Gemini 3.7 Flash (batch)
Gemini 3.7 Flash menggabungkan penalaran multimodal dengan pemrograman dan pekerjaan agen multilangkah. Profil 3.7 Google menekankan kesesuaian dengan mockup desain serta pemahaman video berbasis agen, dengan penalaran low, medium, dan high. Model ini menerima teks serta media, mengembalikan teks, dan memiliki batas masukan/keluaran 1048576/65536 token 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.7 Flash adalah profil penalaran multimodal bernama dari Google untuk pemrograman, alur kerja berbasis agen, dan eksekusi multilangkah. Model ini dikembangkan dari Gemini 3.6 Flash, dengan perubahan algoritmis pada penalaran dan dukungan pemahaman video berbasis agen. Teks, gambar, audio, video, dan PDF dapat menjadi materi sumber bagi hasil teks. Hasil yang berguna mencakup revisi kode terfokus, perbandingan antara mockup desain dan implementasi, atau analisis peristiwa dalam rekaman yang berpijak pada sumber.
Panduan pengembang 3.7 menyoroti kesesuaian desain yang lebih kuat dalam pekerjaan desktop dan web. Untuk tugas tersebut, berikan mockup yang dituju, sumber yang relevan, dan perbedaan yang dapat diamati. Minta perbandingan berdasarkan unsur konkret seperti jarak antarunsur, keadaan komponen, hierarki teks, atau perilaku interaksi. Untuk perbandingan desain, minta daftar ketidaksesuaian antara mockup panel pengaturan dan implementasi yang ada, dengan setiap usulan koreksi terhubung ke tangkapan layar atau sumber. Hasil harus mengidentifikasi apa yang perlu diubah tanpa diam-diam memperluas desain di luar persyaratan yang diberikan.
Untuk alur kerja pemrograman, berikan tujuan, perilaku saat ini, berkas yang relevan, dan batasan. Google menempatkan 3.7 untuk menyelesaikan masalah perangkat lunak dan mengurangi putaran kerja agen yang gagal, tetapi tinjauan yang berguna tetap memeriksa modifikasi serta hasil validasi yang sebenarnya. Simpan urutan pengamatan alat dalam percakapan agar langkah berikutnya tidak dimulai dari uraian rekaan tentang basis kode. Hasil akhir dapat membedakan perubahan yang diusulkan dari perubahan yang dikonfirmasi melalui alat aplikasi yang terhubung.
Tingkat berpikir yang didokumentasikan adalah low, medium, dan high, dengan medium sebagai default. Low mendukung jawaban terbatas yang lebih cepat, sedangkan high ditujukan untuk penalaran sulit dan pekerjaan alat yang lebih panjang. Gemini 3.7 Flash tidak mendukung tingkat berpikir minimal. Karena itu, analisis singkat atas satu ketidaksesuaian antarmuka dan penyelidikan mendalam lintas berkas memerlukan pilihan tingkat upaya yang berbeda. Tentukan hasil akhir dan kondisi yang harus dipenuhinya sebelum meminta rangkaian penalaran serta tindakan yang lebih panjang.
Halaman model yang persis ini mencantumkan pemanggilan fungsi, eksekusi kode, pencarian berkas, grounding pencarian, grounding Maps, dan konteks URL. Computer Use ditandai sebagai pratinjau, dan keluaran terstruktur dapat menentukan catatan hasil. Permintaan fungsi adalah operasi yang diusulkan untuk dijalankan aplikasi yang terhubung dan dikembalikan hasilnya. Untuk tugas agen, berikan alat tujuan yang jelas dan simpan hasil sebenarnya sebelum meminta model melanjutkan. Untuk ekstraksi dokumen, tentukan field, nilai yang diterima, dan cara informasi yang tidak tersedia harus direpresentasikan.
Edisi ini mendukung pemahaman video berbasis agen. Berikan rekaman yang relevan dan nyatakan peristiwa atau hubungan yang perlu diperiksa. Deskripsi praktis dapat menanyakan aksi terlihat mana yang menjelaskan perubahan keadaan, atau meminta deskripsi peristiwa secara berurutan dengan bukti dari klip. Gambar dan halaman PDF juga dapat mendukung perbandingan visual atau dokumen. Keluaran tetap berupa teks: penafsiran, data yang diekstrak, kode, atau penjelasan tertulis. Video, karya visual, atau ucapan yang dihasilkan termasuk profil model yang terpisah.
Tabel API 3.7 Google yang persis menetapkan 1048576 token masukan dan 65536 token keluaran, sedangkan kartu native-nya menjelaskan konteks hingga 1M dan keluaran teks 64K. Sertakan instruksi, giliran sebelumnya, dan media yang diberikan dalam persiapan masukan. Pemrosesan batch dan caching tercantum untuk profil pembuat, bersama pilihan Flex serta Priority. Untuk kumpulan permintaan independen, pertahankan pengenal sumber dan format hasil yang konsisten agar setiap jawaban dapat diperiksa berdasarkan masukannya sendiri.
Kemungkinan batasan mencakup halusinasi dan kelambatan sesekali atau timeout. Batas pengetahuannya adalah Maret 2026, dengan beberapa bidang terbatas pada Januari 2025. Berikan materi sumber terkini jika kesimpulan bergantung pada fakta yang lebih baru. Pembedaan edisi yang berguna adalah fokusnya yang didokumentasikan pada masalah perangkat lunak, kepatuhan pada desain, dan penalaran video; periksa hasil tersebut berdasarkan mockup, kode, atau media yang sebenarnya, alih-alih mengganti profil historis bernama dengan fitur yang lebih baru.
Ailoot Ultra · Batch POST /v1/batches google/gemini-3.7-flash:batch
google/gemini-3.7-flash:batchMulai
Gemini 3.7 Flash menggabungkan penalaran multimodal dengan pemrograman dan pekerjaan agen multilangkah. Profil 3.7 Google menekankan kesesuaian dengan mockup desain serta pemahaman video berbasis agen, dengan penalaran low, medium, dan high. Model ini menerima teks serta media, mengembalikan teks, dan memiliki batas masukan/keluaran 1048576/65536 token 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.7-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.7-flash:batch, google/gemini-3.7-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.00075 / 1K token Keluaran · Token keluaran $0.00375 / 1K token Masukan · Pembacaan cache $0.000075 / 1K token Masukan · Penulisan cache $0.0000833333333333334 / 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.00075 / 1K token Keluaran · Token keluaran $0.00375 / 1K token Masukan · Pembacaan cache $0.000075 / 1K token Masukan · Penulisan cache $0.0000833333333333334 / 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.7-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.7-flash:batch', 'google/gemini-3.7-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.7-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.7-flash:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Google: Gemini 3.7 Flash (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·google/gemini-3.7-flash:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·google/gemini-3.7-flash:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·google/gemini-3.7-flash:batch:requests.min_items:1