Error 403: apa yang harus dilakukan saat gemini-2.5-pro 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-2.5-pro 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-2.5-pro 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-2.5-pro'


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 * 1.25 + cr * 0.125 + c * 10) : tier("200k_plus", p * 2.5 + cr * 0.25 + c * 15

FAQ

Apakah saya ditagih saat gemini-2.5-pro mengembalikan 403?

Hanya output yang sudah dihasilkan yang ditagihkan; bagian yang gagal tidak. Penagihan mengikuti p * 1.25 + cr * 0.125 + c * 10) : tier("200k_plus", p * 2.5 + cr * 0.25 + c * 15, tanpa output berarti tanpa tagihan. Periksa saldo dan batas laju di konsol dulu, baru periksa kodenya.

Mengapa gemini-2.5-pro hanya mengembalikan 403 di jam tertentu?

Kelompokkan error berdasarkan waktu dan node; polanya biasanya langsung terlihat. Simpan request ID dan isi respons mentahnya, kalau tidak tidak ada yang bisa dilacak. Model ini dilayani oleh Google, sehingga status upstream mengikuti pengumuman penyedia. Reproduksi dulu di lingkungan pengujian dengan request body yang sama.

Bagaimana cara menggunakan header Retry-After pada respons?

Biasanya kode bisnis tidak perlu diubah, cukup atur ritme pemanggilan. Mencoba ulang adalah langkah pertama yang paling efektif. Dengan penagihan p * 1.25 + cr * 0.125 + c * 10) : tier("200k_plus", p * 2.5 + cr * 0.25 + c * 15, permintaan yang gagal tidak dihitung dalam penggunaan. Tetapkan batas percobaan ulang ke 3–5 kali dan tambahkan jitter. Gunakan exponential backoff untuk error yang bisa diulang, dan kembalikan error segera untuk sisanya.

Apakah 403 terkait kemampuan model itu sendiri?

Biasanya bersifat sementara dan pulih sendiri. Tag kapabilitas model ini adalah Reasoning, Tools, Files, Vision, Audio. Tentukan dulu apakah ini level akun atau level model; penanganannya benar-benar berbeda.

Error lain pada model ini

Model lain dengan error yang sama

Data diperbarui: 2026-10-10 12:10

Dukungan teknisDukungan langsung
Kembali ke atas