BaruArahkan agen apa pun ke UberLLM — satu key, semua model, harga resmi atau lebih murah.
UberLLM

Kesalahan

UberLLM mengembalikan amplop kesalahan bergaya OpenAI sehingga penanganan kesalahan yang sudah ada berfungsi tanpa perubahan:

{
  "error": {
    "code": "insufficient_credits",
    "message": "Your credit balance is too low to serve this request.",
    "type": "insufficient_credits"
  }
}

Permukaan Inferensi (/v1/*)

HTTP code Arti Yang harus dilakukan
402 insufficient_credits Saldo prabayar Anda tidak cukup untuk menutupi reservasi permintaan. Isi ulang di Dashboard → Credits.
402 key_spend_cap_exceeded Kunci ini telah mencapai batas pengeluaran yang dikonfigurasi (harian / bulanan / seumur hidup). Naikkan atau hapus batas kunci, atau gunakan kunci lain.
400 invalid_request Body permintaan tidak dapat di-parse, atau model menolak permintaan (pesan akan menjelaskan alasannya). Perbaiki permintaan; permintaan tidak akan dicoba ulang.
413 request_too_large Body permintaan melebihi 10 MB (paling sering gambar yang dikirim sebagai base64). Kirim gambar sebagai link https://, atau perpendek percakapan. Tidak ada biaya yang dikenakan.
404 model_not_found ID model tidak tersedia. Prefix uberllm/ di depannya tidak masalah: uberllm/deepseek/deepseek-v4.1-flash mencapai deepseek/deepseek-v4.1-flash. Periksa GET /v1/models; perbaiki ID.
400 context_length_exceeded Prompt lebih panjang dari yang dapat ditangani model, siapa pun penjualnya. Pada /v1/chat/completions tanpa daftar models, model terdekat yang dapat menanganinya akan menjawab sebagai gantinya (model balasan akan menyebutkannya); error ini muncul ketika tidak ada yang bisa, atau pada /v1/messages. Pesan akan memberikan kedua ukuran dan menyebutkan model yang dapat menanganinya. Kirim lebih sedikit, atau pilih model yang disebutkan dalam pesan. Tidak ada biaya yang dikenakan.
400 tools_not_supported Permintaan mengirimkan tools dan model tidak dapat memanggilnya, siapa pun penjualnya. Aturan pengganti yang sama seperti di atas. Pesan akan menyebutkan model yang bisa. Kirim tanpa tools, atau pilih model yang disebutkan dalam pesan. Tidak ada biaya yang dikenakan.
400 max_price_exceeded Tidak ada yang menjual model dalam provider.max_price Anda saat ini (dan tidak ada model di models yang dapat menanganinya). Naikkan max_price, coba lagi nanti, atau sebutkan model lain. Tidak ada biaya yang dikenakan.
400 unsupported_routing_option Opsi provider yang tidak dapat diterapkan UberLLM (pesan akan menyebutkannya). Jangan sertakan; lihat Models & routing.
400 invalid_metadata metadata bukan objek dengan hingga 16 nilai teks. Perbaiki tag; angka harus dalam tanda kutip.
400 unknown_capability Alias best-price: / fastest: tidak menyebutkan pekerjaan apa pun. Gunakan salah satu dari chat, image, image-edit, text-to-video, image-to-video, music, speech, transcription.
400 wrong_endpoint Model (atau alias) melakukan pekerjaan yang tidak dilakukan oleh rute ini: model gambar, video, musik, ucapan, atau transkripsi yang dikirim ke /v1/chat/completions atau /v1/messages, model chat yang dikirim ke rute media, atau ucapan dan transkripsi yang tertukar. Pesan akan menyebutkan rute yang benar. Ditolak sebelum ada yang berjalan; tidak ada biaya yang dikenakan, dan Activity mencantumkannya sebagai ditolak. Kirim ke rute yang disebutkan dalam pesan (juga di endpoints pada /v1/models/{id}).
503 no_timing_data fastest: diminta sebelum cukup permintaan diukur waktunya untuk membandingkan model. Gunakan best-price: atau sebutkan model.
429 rate_limited Kunci ini melebihi batas permintaan per menitnya, atau marketplace terus melakukan rate-limiting setelah percobaan ulang otomatis. Tunggu sebentar dan coba lagi dengan jitter; naikkan batas rate kunci.
503 no_available_provider Tidak ada yang dapat melayani model tersebut saat ini, bahkan setelah percobaan ulang otomatis (tidak ada penjual, setiap penjual gagal atau terlalu lambat untuk memulai, atau opsi provider Anda tidak menyisakan apa pun untuk dirutekan), atau alias best-price: / fastest: tidak menemukan model yang tersedia untuk pekerjaan tersebut saat ini. Pesan akan menyebutkan model atau pekerjaan tersebut. Ini juga mencakup penjual yang akun penyediaannya sendiri gagal: UberLLM mencoba penjual lain, dan tidak pernah meneruskan error penjual tersebut seolah-olah kunci Anda salah. Coba lagi sebentar lagi atau pilih model lain. Tidak ada biaya yang dikenakan.
503 service_unavailable Masalah sementara di sisi UberLLM. Coba lagi dalam beberapa menit.

Permintaan gambar, video, dan musik menambahkan beberapa kode mereka sendiri (image_required, invalid_image_url (link gambar sumber yang tidak mengarah ke gambar), max_cost_too_low, idempotency_key_reused, artifact_expired); lihat Buat video atau gambar.

Permintaan chat yang ditolak atau gagal akan muncul di Dashboard → Activity dengan pesan yang dikirimkan kepada Anda. Respons chat, gambar, video, musik, ucapan, dan transkripsi membawa header X-Request-Id dengan ID yang sama dengan baris Activity-nya, termasuk error.

Percobaan ulang terjadi untuk Anda sebelum error dikembalikan: hingga 4 percobaan, hanya sebelum byte konten pertama. Lihat Models & routing.

Reservasi dan Pembatalan

UberLLM memesan perkiraan biaya sebelum melakukan proxy dan menyelesaikannya dari penggunaan aktual setelahnya. Jika permintaan mengalami error, dibatalkan, atau Anda terputus di tengah streaming, reservasi yang tidak terpakai akan dilepaskan — Anda hanya akan ditagih untuk konten yang benar-benar diproduksi. Streaming yang dibatalkan direkonsiliasi dari perkiraan tokenizer dan ditandai di Dashboard → Activity.

Pembatasan laju

Pembatasan laju per-kunci diberlakukan dengan jendela tetap. Pada layanan inferensi, pemeriksaan pembatasan laju gagal tertutup — jika UberLLM tidak dapat memverifikasi batas Anda, permintaan ditolak daripada dilayani tanpa terukur. Atur (atau tingkatkan) batas permintaan per menit untuk sebuah kunci di Dashboard → API keys.

Setiap jawaban /v1/* yang terautentikasi membawa jendela saat ini dari kunci tersebut:

Header Arti
X-RateLimit-Limit Permintaan yang dapat dikirim kunci ini per menit
X-RateLimit-Remaining Permintaan tersisa di menit saat ini
X-RateLimit-Reset Kapan jendela dimulai ulang (detik Unix)
Retry-After Pada 429 dari batas ini: detik untuk menunggu sebelum mencoba lagi

Perlambat ketika X-RateLimit-Remaining mendekati 0. Header dihilangkan ketika jendela tidak dapat dibaca.

API Penjual (/api/v1/seller/*)

Ini menggunakan kode REST standar:

HTTP code Arti
400 invalid_request Validasi gagal (misalnya endpoint_url non-https, harga tidak ada untuk absolute, multiplier di luar 0 < m ≤ 1.5). Pesan tersebut menyebutkan nama bidangnya.
400 model_not_in_catalog model_id bukan model katalog yang dikenal.
401 unauthorized JWT dasbor tidak ada atau tidak valid.
404 seller_not_found Tidak ada penjual untuk organisasi Anda — hubungi POST /api/v1/seller/register terlebih dahulu.
404 offer_not_found Tidak ada penawaran dengan ID tersebut di bawah penjual Anda.
409 invalid_status_transition Perubahan status ilegal — misalnya melanjutkan penawaran delisted (dihapus dari daftar adalah status akhir).

Catatan: probe validasi yang gagal bukanlah respons kesalahan. Penawaran berhasil dibuat/diperbarui dan dikembalikan dengan status: "paused" serta last_probe_error yang menjelaskan alasannya — perbaiki endpoint dan PATCH kembali ke active untuk melakukan probe ulang. Lihat Penjual.

Kesalahan Auth

HTTP Arti
401 Header Authorization tidak ada/tidak valid. Kunci inferensi adalah Bearer ull_...; endpoint dasbor menggunakan JWT akun Anda.
403 Kunci valid tetapi tidak memiliki cakupan yang diperlukan (misalnya, kunci khusus inferensi memanggil endpoint dasbor).