Error 403: apa yang harus dilakukan saat gemini-3.5-flash-lite gagal

Kode 403 berarti Anda sudah terautentikasi tetapi tidak diizinkan: kuncinya valid, namun tidak boleh memanggil model ini atau grup ini.

403 Forbidden berarti identitas dikenali tetapi akses ditolak. Bedanya dengan 401: 401 bertanya siapa Anda, 403 mengatakan Anda tidak punya izin. Biasanya model perlu ditambahkan ke daftar yang diizinkan atau grup yang terikat dengan key Anda.

gemini-3.5-flash-lite disediakan oleh Google. Semua di halaman ini — penyebab, solusi, dan data terukur — disusun dari perilaku runtime nyata model ini di lapisan gateway.

Di gateway ini, pemicu yang paling umum adalah: Kunci ini tidak diizinkan untuk model ini. Tindakan pertama yang disarankan: Tambahkan model ini ke daftar izin kunci di halaman Token.

Penyebab umum

  • Kunci ini tidak diizinkan untuk model ini
  • Model tidak ada di grup tempat kunci terikat
  • Kunci punya daftar IP yang diizinkan dan IP Anda saat ini tidak termasuk
  • Model sudah dihentikan atau butuh izin lebih tinggi

Cara mengatasi

  • Tambahkan model ini ke daftar izin kunci di halaman Token
  • Pastikan grup kunci mencakup model ini
  • Periksa pengaturan daftar IP yang diizinkan
  • Beralih ke model yang boleh Anda panggil

Contoh percobaan ulang dengan exponential backoff

Kode di bawah mencoba ulang ketika gemini-3.5-flash-lite mengembalikan 403, maksimal 5 kali, dengan waktu tunggu yang meningkat plus jitter acak agar permintaan paralel tidak mengulang bersamaan. Baca base URL dan API key dari environment variable, jangan hardcode.

import os, time, random
import requests

BASE  = os.getenv("OPENAI_BASE_URL")   # e.g. https://<your-gateway>/v1
KEY   = os.getenv("OPENAI_API_KEY")
MODEL = 'gemini-3.5-flash-lite'


def chat(messages, retries=5):
    """Retry with exponential backoff + jitter."""
    for i in range(retries):
        try:
            r = requests.post(
                BASE + "/chat/completions",
                headers={"Authorization": "Bearer " + KEY},
                json={"model": MODEL, "messages": messages, "stream": True},
                timeout=60,
            )
            if r.status_code == 429 or r.status_code >= 500:
                time.sleep(min(2 ** i + random.uniform(0, 1), 30))
                continue
            r.raise_for_status()
            return r.json()
        except requests.exceptions.Timeout:
            time.sleep(min(2 ** i + random.uniform(0, 1), 30))
    raise RuntimeError("gave up after " + str(retries) + " retries")


print(chat([{"role": "user", "content": "hello"}]))

Data penting model ini

Endpoint APIhttps://api.airai.cc/v1
Kompatibel OpenAIOpenAI-compatible
VendorGoogle
Konteks1M
KemampuanReasoning, Tools, Files, Vision, Audio
Format APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Rumus penagihanp * 0.3 + cr * 0.03 + c * 2.5

FAQ

Apakah menyimpan cache hasil mengurangi 403?

Variabel sebenarnya di sini adalah konkurensi dan timeout, bukan modelnya. Turunkan konkurensi terlebih dahulu — sebagian besar masalah throughput akan hilang. Model ini memiliki context window 1M dan berasal dari Google. Ratakan lonjakan dengan batch atau antrean — lebih stabil daripada menaikkan konkurensi mendadak.

Apakah sebaiknya turun ke model cadangan saat 403 muncul?

Siapkan juga satu model cadangan. Fallback di tingkat arsitektur lebih andal daripada menambal setiap error satu per satu. Model dari Google ini punya beberapa node upstream yang bisa diganti gateway. Taruh nama model di konfigurasi, sehingga ganti upstream tidak perlu mengubah kode.

Apakah saya ditagih saat gemini-3.5-flash-lite mengembalikan 403?

Hanya output yang sudah dihasilkan yang ditagihkan; bagian yang gagal tidak. Dengan penagihan p * 0.3 + cr * 0.03 + c * 2.5, permintaan yang gagal tidak dihitung dalam penggunaan. Periksa saldo dan batas laju di konsol dulu, baru periksa kodenya.

Apakah beralih ke streaming mengurangi 403?

Parameter permintaan harus diubah, mencoba ulang saja tidak membantu. Ini masalah konfigurasi sisi klien, sisi server tidak perlu diubah. Jendela konteks 1M menentukan input maksimum per permintaan; yang melebihinya langsung ditolak. Untuk error parameter, gagalkan langsung daripada menghabiskan percobaan ulang. Potong atau ringkas input yang panjang — ini menurunkan 403 secara nyata.

Error lain pada model ini

Model lain dengan error yang sama

Data diperbarui: 2026-10-10 18:35

Dukungan teknisDukungan langsung
Kembali ke atas