Google: Gemini 3.1 Flash Lite (batch)
Gemini 3.1 Flash-Lite adalah model multimodal stabil Google untuk penerjemahan, transkripsi, klasifikasi, dan ekstraksi sederhana dalam skala besar. Model ini menerima teks, gambar, audio, video, dan PDF serta menghasilkan teks, dengan thinking, alat, dan keluaran terstruktur. Batas masukan/keluaran persisnya adalah 1,048,576/65,536 token.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Gemini 3.1 Flash-Lite adalah model teks multimodal ringan dan stabil Google untuk tugas yang sering dilakukan serta terdefinisi dengan baik. Model ini berbasis Gemini 3 Pro. Penerjemahan dan klasifikasi merupakan beban kerja utama; tugas berguna lainnya mencakup transkripsi, ringkasan dokumen, ekstraksi entitas, dan klasifikasi pemilihan model. Teks, gambar, audio, video, dan PDF dapat memasok materi sumber, dan hasilnya berupa teks. Arahan yang berguna meminta satu operasi dan satu bentuk akhir, seperti pesan yang diterjemahkan atau rekaman bidang yang ditemukan dalam dokumen.
Untuk penerjemahan, berikan teks sumber, bahasa sasaran, audiens, dan terminologi yang harus tetap utuh. Contoh Google menggunakan instruksi yang hanya mengembalikan terjemahan. Untuk terjemahan pesan dukungan, pertahankan nama produk dan referensi pesanan sambil menerjemahkan sisanya secara alami. Tentukan cara menangani ambiguitas agar hasil tidak menambahkan tanggal, janji, atau detail yang tidak ada dalam sumber. Sesuaikan bentuk yang diminta dengan tujuan penggunaannya, seperti balasan singkat atau rekaman terjemahan berlabel.
Untuk transkripsi, berikan rekaman dan definisikan apakah jawaban harus berupa kata-kata yang diucapkan, transkrip suntingan yang mudah dibaca, atau ringkasan. Ketiganya merupakan keluaran berbeda. Identifikasi interval yang relevan ketika rekaman panjang hanya memuat satu bagian yang diperlukan untuk tugas. Contoh pengembang dari pembuat mengirim audio secara langsung dan meminta transkrip teks. Periksa nama, angka, dan bagian tidak jelas terhadap rekaman, sambil menyimpan sumber asli untuk peninjauan. Profil teks multimodal umum ini sendiri tidak menyiratkan keluaran audio atau hasil khusus diarisasi pembicara.
Untuk klasifikasi atau ekstraksi, definisikan kategori, skema, dan aturan nilai yang hilang. Panduan pengembang menunjukkan JSON terstruktur untuk menganalisis ulasan pelanggan, dengan kutipan pendukung dan bidang yang didefinisikan. Rekaman terstruktur dapat memuat produk yang disebutkan, kategori masalah, dan kalimat yang membenarkan pilihan. Sertakan kasus representatif yang harus tetap tidak diketahui, bukan dipaksakan ke suatu kategori. Rekaman yang valid secara sintaksis tetap perlu dibandingkan dengan teks sumber sebenarnya.
Pemrosesan dokumen dapat mengubah PDF menjadi ringkasan ringkas atau rekaman bidang. Nyatakan pertanyaan dan pertahankan referensi halaman atau bagian ketika temuan perlu diperiksa. Peninjauan tabel harus menentukan kolom dan aturan yang penting; tugas visual harus mengidentifikasi label atau wilayah yang diperlukan untuk jawaban. Perutean model merupakan penggunaan lain yang didokumentasikan: model mengklasifikasikan kompleksitas permintaan dan mengembalikan pilihan yang diizinkan. Aplikasi yang terhubung, bukan teks klasifikasi itu sendiri, memutuskan apa yang dijalankan berikutnya.
Thinking didukung, dan pembuat memperlihatkan upaya lebih tinggi untuk tugas yang memperoleh manfaat dari analisis lebih banyak. Halaman khusus versi stabil juga mencantumkan function calling, eksekusi kode, pencarian berkas, grounding pencarian, grounding Maps, konteks URL, dan keluaran terstruktur. Computer Use tidak didukung dalam profil stabil 3.1 ini; profil 3.5 Flash-Lite yang lebih baru memiliki tabel kemampuan berbeda. Definisikan tujuan dan parameter alat dengan jelas, lalu lanjutkan dari hasil nyata yang dikembalikan. Saran fungsi tidak membuktikan bahwa operasi telah dilakukan.
Kartu model asli mencantumkan konteks hingga 1M dan keluaran teks 64K; tabel API stabil menetapkan 1,048,576 token masukan dan 65,536 token keluaran. Sertakan instruksi, percakapan, dan media sumber dalam persiapan masukan, lalu minta keluaran yang ukurannya sesuai dengan artefak yang dimaksud. Caching, batch, serta pemrosesan Flex dan Priority didokumentasikan untuk profil produsen ini. Untuk item independen yang berulang, bawa pengenal masukan ke hasil dan pertahankan skema yang konsisten agar jawaban yang hilang dapat diidentifikasi.
Pengenal model stabil ini berbeda dari Gemini 3.1 Flash-Lite Preview dan edisi Flash-Lite yang lebih baru. Pertahankan edisi yang tepat ketika menyiapkan pemrosesan berulang, alih-alih menganggap nama keluarga yang dikenal sebagai jaminan revisi tetap. Tinjau terjemahan untuk memastikan makna dan istilah dipertahankan, transkrip terhadap audio, serta bidang hasil ekstraksi terhadap dokumen. Peran praktis profil ini adalah pemrosesan teks multimodal terfokus dengan hasil yang jelas, dengan penalaran tugas yang lebih luas atau tindakan eksternal ditangani pada langkah berikutnya yang sesuai.
Ailoot Ultra · Batch POST /v1/batches google/gemini-3.1-flash-lite:batch
google/gemini-3.1-flash-lite:batch
google/gemini-3.1-flash-lite:batchMulai
Gemini 3.1 Flash-Lite adalah model multimodal stabil Google untuk penerjemahan, transkripsi, klasifikasi, dan ekstraksi sederhana dalam skala besar. Model ini menerima teks, gambar, audio, video, dan PDF serta menghasilkan teks, dengan thinking, alat, dan keluaran terstruktur. Batas masukan/keluaran persisnya adalah 1,048,576/65,536 token.
- 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.1-flash-lite: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.1-flash-lite:batch, google/gemini-3.1-flash-lite | 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.00025 / 1K token Keluaran · Token keluaran $0.0015 / 1K token Masukan · Pembacaan cache $0.000025 / 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.00025 / 1K token Keluaran · Token keluaran $0.0015 / 1K token Masukan · Pembacaan cache $0.000025 / 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.1-flash-lite: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-flash-lite:batch', 'google/gemini-3.1-flash-lite']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.1-flash-lite: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.1-flash-lite:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Google: Gemini 3.1 Flash Lite (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·google/gemini-3.1-flash-lite:batch:requests.min_items:1