Qwen2API Masuk
Isi halaman Mulai cepatAutentikasiEndpoint ModelAgent dan toolStreaming Mode browserKode error

Qwen2API

Gateway yang membuat Qwen bisa dipanggil dengan format OpenAI dan Anthropic. Alamat server ini: http://host:port

Mulai cepat

  1. Ambil kunci API dari auth.keys di config.yml.
  2. Arahkan klien OpenAI ke http://host:port/v1.
  3. Kirim permintaan pertama.
curl http://host:port/v1/chat/completions \
  -H "Authorization: Bearer KUNCI_KAMU" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3-max","messages":[{"role":"user","content":"Halo"}]}'

Dengan SDK Python:

from openai import OpenAI

client = OpenAI(base_url="http://host:port/v1", api_key="KUNCI_KAMU")
r = client.chat.completions.create(
    model="qwen3-max",
    messages=[{"role": "user", "content": "Halo"}],
)
print(r.choices[0].message.content)

Autentikasi

Kirim kunci lewat header Authorization: Bearer KUNCI atau x-api-key: KUNCI. Setiap kunci punya role.

RoleBoleh
userSemua endpoint /v1/*
adminSemua endpoint /v1/*, /admin/*, dan dashboard

Endpoint

MethodPathFungsi
GET/healthStatus server, tanpa kunci
GET/v1/modelsDaftar model dari Qwen
POST/v1/chat/completionsChat format OpenAI, stream, tools
POST/v1/messagesChat format Anthropic
POST/v1/images/generationsBuat gambar
POST/v1/videos/generationsBuat video
GET, POST/admin/accountsLihat dan tambah akun Qwen (admin)
GET/admin/healthStatus pool akun (admin)

Model

GET /v1/models mengambil daftar langsung dari Qwen dan menyimpannya 30 menit. Kalau Qwen tidak bisa dijangkau, daftar cadangan dari models.base yang dipakai.

Setiap model punya dua varian lewat akhiran nama:

NamaArtinya
qwen3-maxJawaban langsung
qwen3-max-thinkingMode berpikir menyala, proses berpikir ada di reasoning_content
qwen3-max-searchPencarian web menyala

Agent dan tool

Kirim tools seperti biasa di /v1/chat/completions. Server menjelaskan tool ke Qwen, mengubah jawabannya menjadi tool_calls, dan membalas dengan finish_reason: "tool_calls". Agent menjalankan tool lalu memanggil lagi dengan hasilnya.

Balasan yang cuma mengumumkan langkah berikutnya, misalnya "saya perlu membaca file itu dulu", tidak pernah dikirim sebagai jawaban akhir. Server menyuruh model langsung melakukan langkahnya, sampai dua kali. Format Anthropic (/v1/messages) belum memakai mekanisme ini.

Streaming

Kirim "stream": true untuk menerima SSE. Pada permintaan dengan tools, server menahan keluaran sampai giliran selesai dan mengirim sinyal : keep-alive tiap beberapa detik, jadi koneksi tidak putus saat model berpikir lama.

Mode browser

Qwen kadang menolak permintaan dari server dengan halaman verifikasi (captcha geser). Dengan browser.enabled: true, server memakai Chromium sungguhan, dan kamu bisa menyelesaikan verifikasi itu sendiri:

  1. Masuk ke dashboard dengan kunci admin.
  2. Di tab Layar, tekan Nyalakan browser, lalu Ambil kendali.
  3. Geser slider atau login ke akun Qwen langsung di layar itu.
  4. Tekan Lepas kendali. Sesi tersimpan, permintaan berikutnya memakainya.

Saat kamu memegang kendali, permintaan dari bot menunggu sampai kamu berhenti, jadi layar tidak berpindah sendiri. Tombol Jeda bot menahan semua permintaan sampai kamu melepasnya.

Kode error

Semua error memakai bentuk {"error":{"message","type","code"}}.

StatusPenyebabYang dilakukan
401Kunci salah atau tidak adaPeriksa header Authorization
403Kunci bukan role adminPakai kunci admin untuk /admin
429Kena batas lajuTunggu sesuai header retry-after
502Qwen menolak atau memblokir (anti-bot)Buka dashboard, selesaikan verifikasi di layar browser
503Tidak ada akun, atau bot sedang dijedaTambah akun, atau lepas jeda di dashboard
504Qwen tidak menjawab tepat waktuCoba lagi, atau cek layar browser