Cara Setup OpenRouter Presets Biar Ganti Model AI Nggak Usah Redeploy Semua Aplikasi Kalian
12 September 2026·7 min read
Pernah taruh nama model, system prompt, dan temperature yang sama di web app, batch script, sama notebook kalian sekaligus? Terus pas mau ganti satu angka temperature, kalian harus buka tiga tempat berbeda buat edit satu-satu. Ini masalah yang beneran sering kejadian kalau kalian ngelola lebih dari satu aplikasi yang manggil LLM lewat OpenRouter.
Preset OpenRouter beresin ini dengan cara mindahin konfigurasi itu keluar dari kode kalian ke satu tempat di dashboard — dijelasin lengkap di panduan resmi OpenRouter soal preset. Tutorial ini bawa kalian dari bikin preset pertama sampai pasang di API call kalian sendiri.
Yang kalian butuhkan
Apa
Buat apa
Biaya
Akun OpenRouter
Bikin dan kelola preset
Gratis daftar, bayar per pemakaian API
API key OpenRouter
Autentikasi tiap request
Gratis, ambil dari dashboard
Aplikasi/script yang manggil LLM
Tempat preset bakal dipasang
Tergantung stack kalian sendiri
Akses ke openrouter.ai/settings/presets
Bikin dan edit preset
Gratis, bagian dari dashboard
Waktu: sekitar 45 menit dari bikin preset pertama sampai preset itu kepanggil di request nyata.
Peta perjalanannya
TAHAP 1 Bikin preset pertama di dashboard (10 menit)
TAHAP 2 Atur model, fallback, dan provider routing (10 menit)
TAHAP 3 Tambah system prompt & sampling parameter (10 menit)
TAHAP 4 Pasang preset di API call kalian (15 menit)
Total: ~45 menit
TAHAP 1 — Bikin preset pertama di dashboard
Buka openrouter.ai/settings/presets, lalu bikin preset baru. Pilih slug yang gampang kalian inget, karena slug ini yang bakal kalian panggil terus-terusan lewat @preset/slug-kalian.
Cara mikirnya mirip .env file atau modul Terraform — konfigurasi ditaruh di luar logika aplikasi dan dipanggil pakai nama, bukan disalin-tempel ke tiap file. Bedanya, .env masih ikut ke-deploy bareng kode kalian dan butuh redeploy tiap kali diubah. Preset OpenRouter hidup di dashboard mereka, jadi begitu kalian ubah, semua aplikasi yang mereferensikan slug itu langsung ikut berubah — tanpa sentuh kode sama sekali.
TAHAP 2 — Atur model, fallback, dan provider routing
Di preset, kalian bisa pilih satu model atau bikin daftar model cadangan yang terurut. Kalau model pertama gagal — kena rate limit, lagi outage, atau kepenuhan context — OpenRouter otomatis lanjut ke model berikutnya di daftar itu. Urutan ini kalian set sekali di preset, bukan diulang-ulang di tiap request.
Di layar yang sama, kalian atur juga provider routing: urutkan berdasarkan harga atau latency, atau blokir provider tertentu dari request kalian. Bayangin ini kayak milih rute ojek online — kalian bisa pilih rute termurah atau tercepat, dan pilihan itu kepake otomatis tiap kali order tanpa perlu diatur ulang setiap kali.
⚠️ Fallback bukan cuma soal urutan asal jalan
Kalau kalian taruh model paling mahal di urutan pertama tanpa mikir, fallback nggak nolongin biaya kalian sama sekali — dia cuma nolongin ketersediaan. Susun urutan fallback berdasarkan prioritas kualitas DAN biaya, bukan sekadar model apa yang keingat duluan.
TAHAP 3 — Tambah system prompt & sampling parameter
Masukkan system prompt kalian, lalu atur temperature, top_p, dan parameter sampling lain yang kalian butuh. Semua ini jadi nilai default untuk setiap request yang manggil preset ini — kalian nggak perlu nulis ulang instruksi yang sama di tiap aplikasi.
Contoh konkret dari dokumentasi resminya: kalau kalian mau semua jawaban singkat, tambahin aturan kayak "jawab dalam tiga kalimat atau kurang kecuali diminta perpanjang" ke system prompt preset. Semua layanan yang manggil preset itu bakal ngikutin aturan itu, kecuali ada request yang sengaja nge-override-nya.
TAHAP 4 — Pasang preset di API call kalian
Sekarang bagian yang paling kerasa bedanya. Sebelum pakai preset, request kalian biasanya penuh parameter yang diulang-ulang:
Kalian juga bisa bikin preset langsung lewat API, kirim POST ke endpoint preset — field yang emang bagian dari konfigurasi preset ikut disimpan, sedangkan field sementara kayak messages, stream, dan prompt diabaikan:
Kalian bisa override nilai preset dari tiap request. Kalau body request kalian bawa temperature sendiri, nilai itu yang menang atas nilai preset. Merge-nya bersifat shallow — field yang kalian tulis di request menggantikan field preset yang sama, sedangkan field yang nggak kalian sebut tetap ikut nilai preset. Pengecualian ada di tools: preset dan request digabung, dan tool dari request menggantikan tool preset kalau namanya sama.
⚠️ Prefix @preset/ wajib lengkap
Kalau kalian tulis nama preset tanpa prefix penuh @preset/, sistem bakal menganggapnya sebagai nama model biasa dan mengabaikannya sebagai preset. Selalu tulis lengkap, baik lewat field model maupun field preset terpisah.
Satu catatan penting: untuk pemanggilan lewat API, nggak ada preset default global — tiap request wajib menyebut nama presetnya sendiri. Kalau kalian mau punya "default behavior", taruh aturan itu di dalam satu preset dan pakai preset itu di mana pun, bukan mengandalkan pengaturan bawaan sistem. Beda cerita kalau kalian pakai Chatroom-nya OpenRouter — di sana ada opsi Default Preset di bagian Settings > Preferences yang otomatis berlaku untuk pesan chat baru.
Checklist sebelum preset kalian dipakai production
Slug preset gampang diinget dan dipakai konsisten di semua service
Urutan fallback model udah disusun berdasarkan prioritas kualitas dan biaya
Provider routing (sort price/latency, include/exclude) udah sesuai kebutuhan tim
System prompt dan sampling parameter udah final, bukan draft sementara
Semua kode manggil @preset/nama-slug dengan prefix lengkap, bukan config hardcoded lagi
Sudah jelas siapa saja di tim yang punya akses dashboard buat ubah preset
Kalau gagal
Request masih ikut config lama walau preset udah diubah — cek apakah kode kalian masih ngirim field yang sama secara eksplisit di body request, misalnya temperature manual. Field itu selalu menang di atas nilai preset karena merge-nya shallow, bukan preset-nya yang error.
Preset nggak kepanggil sama sekali — cek prefix-nya. Field preset butuh @preset/ lengkap; kalau kalian cuma tulis slug telanjang, sistem mengabaikannya begitu saja.
Fallback model kayak nggak pernah kepake — kemungkinan error yang muncul bukan tergolong rate limit, outage, atau context overflow, jadi sistem nggak menganggapnya alasan buat lompat ke model berikutnya. Cek jenis error dari model pertama dulu.
Preset production tiba-tiba berubah tanpa kalian sadar — karena preset punya versi dan siapa pun dengan akses dashboard bisa menyimpan versi baru yang langsung aktif ke semua aplikasi, kejadian ini biasanya soal disiplin akses tim, bukan bug sistem.
Setelah preset kalian jalan
Prinsip yang kepake di sini sebenarnya bukan cuma soal OpenRouter — mindahin konfigurasi keluar dari kode ke satu sumber yang bisa diubah tanpa redeploy itu pola yang sama dipakai di banyak infrastruktur modern. Begitu satu preset jalan lancar, pola pikirnya gampang dipindah ke pengaturan lain yang sekarang masih hardcode di kode kalian.