Tutorial

Migrasi dari OpenAI ke Panglima Router dalam 10 Menit

migrasi openaiopenai compatiblebaseurlapi key

21 Oktober 2026 · 7 menit baca · Panglima Router

Migrasi dari OpenAI ke Panglima Router dalam 10 Menit

Kalau aplikasimu sudah jalan di atas API OpenAI, kabar baiknya: pindah ke Panglima Router hampir tidak butuh perubahan kode. Endpoint Panglima Router memakai format yang kompatibel dengan OpenAI, jadi migrasinya sebatas mengganti dua hal — baseURL dan API key. Struktur request, format response, sampai streaming tetap sama seperti yang sudah kamu kenal.

Artikel ini panduan langkah-demi-langkahnya: dari mengambil API key sampai kode lamamu jalan lagi, lengkap dengan contoh Python, Node.js, cURL, dan panduan memetakan model.

Apa itu Panglima Router, singkatnya

Panglima Router adalah layanan routing AI yang menyediakan satu endpoint API kompatibel OpenAI di https://api.panglimarouter.xyz. Satu API key memberi kamu akses ke banyak model AI dari berbagai provider, tanpa perlu daftar dan bayar ke tiap provider satu per satu. Pembayarannya pun lokal: QRIS atau USDC, mulai dari Rp5.000.

Karena formatnya kompatibel OpenAI, library openai yang sudah kamu pakai — di Python maupun Node.js — bisa dipakai ulang tanpa diganti. Yang berubah hanya alamat server dan key-nya.

Yang perlu kamu siapkan

Sebelum menyentuh kode, siapkan tiga hal ini. Butuh waktu sekitar lima menit.

  1. Akun Telegram. Semua pengelolaan — beli paket, buat API key — dilakukan lewat bot @panglimarouter_bot.
  2. Paket aktif. Untuk fase migrasi dan testing, paket Trial Rp5.000/1 hari sudah cukup. Nanti kalau sudah production, tinggal naikkan ke paket yang durasinya cocok.
  3. API key. Dibuat dari menu bot setelah paket aktif. Ingat: key tampil satu kali saja saat dibuat. Salin dan simpan di tempat aman (password manager atau environment variable), jangan ditempel di kode.

Detail tiap paket ada di halaman Harga. Kalau ini pertama kalinya kamu memakai Panglima Router, baca juga Cara Memakai Panglima Router untuk gambaran lengkap alurnya.

Langkah 1: ganti baseURL dan API key

Inilah inti migrasinya. Di kode lamamu, cari bagian inisialisasi client OpenAI, lalu ganti dua nilai ini:

  • base_url / baseURL: dari https://api.openai.com/v1 menjadi https://api.panglimarouter.xyz/v1
  • api_key / apiKey: dari key OpenAI menjadi key Panglima Router milikmu

Sisanya — pemanggilan chat.completions.create, format messages, parsing choices[0].message.content — tidak berubah sama sekali.

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://api.panglimarouter.xyz/v1",
    api_key="PR-KEY-KAMU",
)

res = client.chat.completions.create(
    model="MODEL_ID",
    messages=[{"role": "user", "content": "Halo!"}],
)
print(res.choices[0].message.content)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.panglimarouter.xyz/v1",
  apiKey: "PR-KEY-KAMU",
});

const res = await client.chat.completions.create({
  model: "MODEL_ID",
  messages: [{ role: "user", content: "Halo!" }],
});
console.log(res.choices[0].message.content);

cURL

curl https://api.panglimarouter.xyz/v1/chat/completions \
  -H "Authorization: Bearer PR-KEY-KAMU" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "messages": [{"role": "user", "content": "Jelaskan AI router dalam satu kalimat."}]
  }'

Ganti PR-KEY-KAMU dengan API key aslimu. Jangan pernah commit key ke Git — taruh di environment variable, misalnya PANGLIMA_API_KEY, lalu baca dari sana.

Langkah 2: petakan model lamamu ke model baru

Satu-satunya penyesuaian nyata selain baseURL adalah nama model. Di Panglima Router, nama model memakai ID lengkap — salin persis dari halaman Model lewat tombol Salin ID. Tidak ada nama gpt-4o atau gpt-4o-mini di sini, dan daftar terbarunya selalu ada di halaman Model.

Cara memetakannya yang paling masuk akal:

Kalau di OpenAI kamu pakai... Cari pengganti yang...
Model ringan/cepat untuk tugas bervolume (klasifikasi, ringkasan) Model kecil dan cepat di katalog — prioritaskan latency
Model general-purpose untuk chat/Q&A Model general yang seimbang antara kualitas dan kecepatan
Model kuat untuk coding dan reasoning Model yang dikenal kuat di reasoning dan kode
Model dengan context window besar Model dengan context window yang muat dokumenmu

Jangan menebak dari nama saja. Ambil 2–3 kandidat, kirim prompt yang mewakili tugas aslimu ke masing-masing, lalu bandingkan hasilnya. Karena ganti model cuma ganti satu string, eksperimen ini murah — butuh 10 menit, menghemat jam debugging nanti. Framework lengkapnya ada di Memilih Model AI untuk Project.

Langkah 3: cek hal yang tetap sama dan yang berubah

Yang tetap sama — tidak perlu diubah dari kode lamamu:

  • Endpoint /v1/chat/completions dan /v1/models
  • Format messages dengan role system/user/assistant
  • Parameter umum: temperature, max_tokens, top_p, stream
  • Streaming via stream: true, format event SSE yang sama
  • Struktur response: choices[0].message.content, usage berisi token

Yang perlu disesuaikan:

  • Nama model memakai ID lengkap (salin dari halaman Model)
  • Ada rate limit per menit yang wajar — kalau aplikasimu mengirim request beruntun dalam jumlah besar, siapkan retry dengan jeda
  • Context window berbeda per model — cek di halaman Model sebelum mengirim dokumen panjang

Contoh migrasi yang lebih nyata: dengan streaming dan error handling

Kode produksi jarang sekadar satu request. Ini contoh Python yang lebih dekat ke nyata — dengan streaming dan penanganan error dasar:

import os
from openai import OpenAI, APIError, RateLimitError

client = OpenAI(
    base_url="https://api.panglimarouter.xyz/v1",
    api_key=os.environ["PANGLIMA_API_KEY"],
)

try:
    stream = client.chat.completions.create(
        model="MODEL_ID",
        messages=[
            {"role": "system", "content": "Kamu asisten yang menjawab singkat."},
            {"role": "user", "content": "Apa itu AI router?"},
        ],
        temperature=0.7,
        max_tokens=300,
        stream=True,
    )
    for chunk in stream:
        delta = chunk.choices[0].delta.content
        if delta:
            print(delta, end="", flush=True)
except RateLimitError:
    print("\nKena rate limit — tunggu sebentar lalu ulangi.")
except APIError as e:
    print(f"\nAPI error: {e}")

Pola ini — baca key dari environment, tangkap RateLimitError secara spesifik — berlaku sama seperti saat kamu memakai OpenAI langsung. Tidak ada yang perlu dipelajari ulang.

Troubleshooting migrasi

401 Unauthorized. Key salah atau tidak terkirim. Cek: key disalin lengkap tanpa spasi ekstra, header memakai format Bearer PR-..., dan key belum di-rotate dari menu bot (key lama mati begitu diganti).

404 pada nama model. ID model salah atau modelnya sedang tidak tersedia. Buka halaman Model dan salin ID lewat tombol Salin ID.

429 Too Many Requests. Kena rate limit per menit. Kurangi laju request atau tambahkan backoff — tunggu beberapa detik lalu ulangi. Ini batas yang wajar, bukan error di kodemu.

Response kosong atau timeout. Cek koneksimu ke https://api.panglimarouter.xyz dulu dengan request paling sederhana (contoh cURL di atas). Kalau contoh sederhana jalan tapi kodemu tidak, masalahnya di parameter request-mu.

Hasil terasa beda dari model OpenAI. Wajar — ini model yang berbeda, bukan tiruan. Kembali ke langkah pemetaan model: uji 2–3 kandidat dengan prompt aslimu dan pilih yang hasilnya paling cocok, bukan yang namanya paling mirip.

Checklist sebelum bilang "selesai migrasi"

  • Request sederhana (cURL atau skrip 10 baris) berhasil dan mengembalikan jawaban
  • Model pengganti sudah dipilih lewat uji banding, bukan tebakan
  • API key dibaca dari environment variable, tidak hardcode di kode
  • Rate limit ditangani (retry dengan jeda) untuk workload beruntun
  • Streaming (kalau aplikasimu memakainya) sudah dites end-to-end
  • Paket yang dipakai durasinya cukup untuk kebutuhan production-mu

Kalau semua checklist centang, migrasinya selesai. Total waktu yang realistis: 10 menit untuk ganti baseURL dan tes jalan, plus waktu eksperimen model yang memang sebaiknya tidak diburu-buru.

Pertanyaan yang Sering Muncul

Apakah aku harus install library baru?

Tidak. Library openai resmi (Python maupun Node.js) yang sudah kamu pakai tetap dipakai — cukup arahkan baseURL-nya ke https://api.panglimarouter.xyz/v1 dan ganti API key. Tidak ada SDK khusus yang wajib dipasang.

Apakah semua parameter OpenAI didukung?

Parameter umum seperti temperature, max_tokens, top_p, stream, dan format messages standar didukung. Kalau kamu memakai fitur yang sangat spesifik (misalnya structured output dengan skema kompleks atau tool calling tingkat lanjut), uji dulu di paket Trial sebelum mengandalkannya di production.

Bagaimana kalau model yang kupakai tiba-tiba tidak tersedia?

Katalog model bisa berubah — model baru masuk, model lama bisa keluar. Praktik amannya: jangan hardcode satu nama model di banyak tempat. Taruh nama model di satu variabel konfigurasi (atau environment variable) supaya gantinya satu titik saja. Cek halaman Model berkala untuk daftar terbaru.

Apakah dataku aman selama migrasi?

API key-mu adalah kredensial penuh atas paketmu — siapa pun yang memegangnya bisa memakai kuotamu. Selama migrasi, pastikan key hanya hidup di environment variable mesinmu, tidak tersebar di log, screenshot, atau repo. Kalau key sempat bocor, rotate dari menu bot — key lama langsung mati dan kamu dapat key baru.

Berapa biaya testing selama migrasi?

Paket Trial Rp5.000 untuk 1 hari biasanya lebih dari cukup untuk fase migrasi dan uji model. Kalau butuh waktu lebih panjang, paket Basic Rp10.000/3 hari atau Plus Rp15.000/7 hari. Lihat halaman Harga untuk perbandingan lengkap.


Migrasi yang baik itu migrasi yang membosankan: ganti dua baris, tes, jalan. Ambil key-mu di @panglimarouter_bot, mulai dari paket Trial Rp5.000, dan dalam 10 menit kodemu sudah bicara lewat Panglima Router. Kalau mentok, mampir ke grup diskusi — biasanya ada yang sudah melewati masalah yang sama.

Baca juga

Mulai sekarang

Siap routing AI pertamamu?

Mulai dari Rp5.000. Bayar QRIS atau USDC, langsung dapat API key.

Channel pengumuman · Grup diskusi