Diperiksa 2026-11-12

Codex CLI di saldo prabayar, lewat satu blok provider

Codex CLI disambungkan dengan menambahkan satu blok model provider di ~/.codex/config.toml: base_url diisi https://api.relayswitch.io/v1 dan key disimpan di environment variable. Cara memakai Codex tidak berubah, dan setiap giliran dipotong per token dari saldo prabayar lewat rute Responses.

01Apa itu Codex, dan apa yang diubah di sini

Codex CLI adalah agent coding berbasis command line dari OpenAI. Konfigurasinya punya setelan model_provider yang nilai default-nya openai, sehingga request dikirim ke antarmuka OpenAI sendiri. Setelan itu bisa diganti: definisikan provider Anda di config.toml dengan alamat endpoint dan nama environment variable tempat key disimpan, lalu arahkan model_provider ke sana. Perintah dan cara pakai Codex tetap sama; yang berganti hanya pihak yang menagih.

Codex hanya berbicara satu protokol, yaitu Responses API dari OpenAI: referensi konfigurasinya menyebut wire_api hanya mendukung nilai responses. Karena itu hal pertama yang perlu dipastikan dari sebuah gateway adalah tersedianya /v1/responses, bukan hanya /v1/chat/completions. Di sini kedua rute ada, dan Codex memakai yang pertama.

02config.toml: satu blok provider

Blok di bawah berisi empat baris, dan API key tidak ditulis di file. Arti tiap setelan:

  • model_provider memilih blok berdasarkan nama tabelnya. Nama itu Anda tentukan sendiri, tetapi openai, ollama, lmstudio, amazon-bedrock, amazon-bedrock-runtime, dan gcp adalah id bawaan Codex yang tidak bisa ditimpa.
  • base_url diisi https://api.relayswitch.io/v1, dengan /v1; Codex menambahkan /responses di belakangnya.
  • env_key adalah nama environment variable tempat key disimpan, bukan key itu sendiri. Karena key tetap di environment variable, file konfigurasi aman untuk di-commit atau disinkronkan.
  • wire_api hanya punya satu nilai yang berlaku, responses, dan itu juga nilai default-nya, jadi baris ini boleh dihapus.
  • requires_openai_auth bernilai default false dan tidak perlu ditulis: provider kustom memakai key dari env_key, bukan login akun OpenAI.
toml
1# ~/.codex/config.toml
2model = "gpt-6.1-sol"
3model_provider = "relayswitch"
4
5[model_providers.relayswitch]
6name = "RelaySwitch"
7base_url = "https://api.relayswitch.io/v1"
8env_key = "RELAYSWITCH_API_KEY"
9wire_api = "responses"

03Simpan key di environment variable, lalu jalankan codex

Tulis blok tadi di ~/.codex/config.toml. Direktori itu ditentukan oleh environment variable CODEX_HOME dan default-nya ~/.codex; provider harus ditulis di file tingkat pengguna ini. Setelah itu export key di terminal tempat Codex dijalankan, lalu mulai. Tambahkan baris export ke file konfigurasi shell supaya terminal baru ikut membawanya.

bash
1export RELAYSWITCH_API_KEY="sk-relay-..."
2codex

04Uji rute Responses dengan curl

Sebelum menjalankan Codex, kirim satu request Responses yang kecil untuk memastikan key dan alamatnya benar. Opsi -i menampilkan baris status dan header respons, termasuk id request.

Jika jawabannya 200, jalankan codex dan kirim perintah pertama. Request itu muncul di halaman Usage pada console dalam hitungan detik, lengkap dengan token dan biayanya. Untuk mengganti model sementara, pakai codex --model diikuti id-nya.

bash
1curl -i https://api.relayswitch.io/v1/responses \
2 -H "Authorization: Bearer sk-relay-..." \
3 -H "content-type: application/json" \
4 -d '{"model": "gpt-6.1-sol", "input": "Reply with ok"}'

05Harga model GPT dan biaya satu tugas

Tabel ini memuat model GPT di katalog dalam USD per satu juta token, dengan harga input, cached input, dan output yang terpisah. Codex dirancang untuk model GPT dan rute Responses, jadi pastikan id yang Anda tulis di config.toml menjawab uji curl di atas.

Codex mengirim ulang percakapan dan output tool pada setiap giliran. Token itu ditagih dengan harga cached input saat mengenai cache, dan respons melaporkan jumlah token yang ter-cache; kena atau tidaknya bergantung pada model dan request itu sendiri. Cara berhematnya jadi konkret: pakai model yang lebih murah untuk perubahan harian dan pindah ke yang lebih mahal hanya untuk review dan refactor yang sulit, mulai sesi baru setelah satu tugas selesai agar konteks tidak terus memanjang, dan buat key khusus Codex dengan anggaran dolar serta batas belanja harian. Saat batas tercapai, gateway menjawab 402 dan hanya key itu yang berhenti; sisa saldo akun tidak tersentuh.

ModelPengembangInputOutputKonteks
GPT-6.1 Solgpt-6.1-solOpenAI$0.582≈ Rp 10.831$2.91≈ Rp 54.1551,050,000
GPT-6 Lunagpt-6-lunaOpenAI$0.0625≈ Rp 1.163$0.20≈ Rp 3.7221,050,000
GPT-6 Solgpt-6-solOpenAI$0.60≈ Rp 11.166$3.00≈ Rp 55.8301,050,000
GPT-6 Astragpt-6-astraOpenAI$3.00≈ Rp 55.830$15.00≈ Rp 279.1491,050,000
GPT-5.6 Lunagpt-5.6-lunaOpenAI$0.12≈ Rp 2.233$0.72≈ Rp 13.3991,050,000
GPT-5.6 Solgpt-5.6-solOpenAI$1.20≈ Rp 22.332$3.00≈ Rp 55.8301,050,000
GPT-5.6 Terragpt-5.6-terraOpenAI$1.20≈ Rp 22.332$3.60≈ Rp 66.9961,050,000
GPT-5.5gpt-5.5OpenAI$1.80≈ Rp 33.498$9.00≈ Rp 167.4891,050,000
GPT-5.4 Minigpt-5.4-miniOpenAI$0.75≈ Rp 13.957$4.50≈ Rp 83.745400,000
GPT-5.4gpt-5.4OpenAI$1.50≈ Rp 27.915$9.00≈ Rp 167.4891,050,000
GPT-5.3-Codexgpt-5.3-codexOpenAI$1.75≈ Rp 32.567$14.00≈ Rp 260.539400,000
GPT-4o minigpt-4o-miniOpenAI$0.15≈ Rp 2.791$0.60≈ Rp 11.166128,000
GPT-4ogpt-4oOpenAI$2.50≈ Rp 46.525$10.00≈ Rp 186.099128,000
GPT-4.1 Nanogpt-4.1-nanoOpenAI$0.10≈ Rp 1.861$0.40≈ Rp 7.4441,048,576
GPT 5.4 Nanogpt-5.4-nanoOpenAI$0.40≈ Rp 7.444$2.50≈ Rp 46.525400,000
GPT 5.6gpt-5.6OpenAI$0.9412≈ Rp 17.515$4.7059≈ Rp 87.5761,050,000
GPT 6.1 Terragpt-6.1-terraOpenAI$0.2941≈ Rp 5.473$1.4706≈ Rp 27.3671,000,000
gpt-oss-120bgpt-oss-120bOpenAI$0.20≈ Rp 3.722$1.80≈ Rp 33.498
gpt-oss-20bgpt-oss-20bOpenAI$0.16≈ Rp 2.978$0.72≈ Rp 13.399

USD per satu juta token · ≈ adalah harga acuan dalam rupiah menurut kurs Bank Sentral Eropa tanggal 2026-11-13; tagihan tetap dalam dolar AS

06Profile per model, dan menu /model

Profile adalah file bernama ~/.codex/<name>.config.toml yang hanya berisi baris yang berbeda dari config.toml, dan ditumpuk di atasnya saat Codex dijalankan dengan codex --profile <name>. Sejak Codex 0.134.0, tabel [profiles.<name>] di dalam config.toml tidak lagi dibaca dan pemilih profile = di tingkat atas dihapus; tutorial yang ditulis sebelum itu masih memakai cara lama dan tidak berfungsi jika disalin. Nilai model_reasoning_effort mengikuti tingkat yang didukung model yang dipilih; Codex mengirimnya di setiap request dan gateway meneruskannya ke model apa adanya.

Saat memakai provider kustom, menu /model di Codex tetap menampilkan model OpenAI bawaannya, bukan model provider Anda. Memilih salah satu akan menulis ulang file profile yang aktif: modelnya berganti, provider-nya tidak. Jika id yang tertulis ada di katalog, Codex berjalan dengan harga model itu; jika tidak, jawabannya 404. Untuk mengganti model, pakai --profile atau --model.

07Error yang sering muncul

Status 401 sampai 404 dikembalikan sebelum request mencapai model, sedangkan 429, 502, dan 503 tidak membawa jawaban; semuanya tidak ditagih. Tabel lengkap per status ada di halaman OpenAI API. Untuk coding dengan Claude di terminal, pakai Claude Code; keduanya berjalan dengan key dan saldo yang sama, dan cara membuat key ada di halaman Claude API key.

401Key salah atau sudah dicabut, atau RELAYSWITCH_API_KEY kosong di terminal tempat Codex dijalankan. Jalankan export lagi, lalu mulai ulang.
402Saldo tidak cukup, atau anggaran key habis. Kembali normal begitu Anda top up atau menaikkan anggaran.
404Id model tidak ada di katalog, biasanya karena menu /model menulis ulang profile. Kembalikan baris model.
429Batas laju key tercapai. Tunggu sesuai header retry-after, atau naikkan batas request per menit key itu di console.
Blok provider tidak berlakuNama tabel memakai id bawaan, atau model_provider tidak berisi nama tabel tersebut.
Profile tidak berlakuIsinya masih berupa tabel [profiles.<name>] di config.toml; pindahkan barisnya ke file tersendiri.

Pertanyaan umum

Apa itu Codex CLI?
Codex CLI adalah agent coding berbasis command line dari OpenAI. Setelan model_provider di konfigurasinya menentukan ke mana request dikirim; default-nya openai, dan nilainya bisa diarahkan ke provider yang Anda definisikan sendiri di config.toml.
Bagaimana cara setup Codex dengan API key sendiri?
Tambahkan blok model_providers.relayswitch di ~/.codex/config.toml berisi name, base_url (https://api.relayswitch.io/v1), dan env_key (RELAYSWITCH_API_KEY). Lalu isi model_provider di tingkat atas dengan relayswitch dan model dengan salah satu id GPT dari katalog. Simpan key di environment variable dengan export, kemudian jalankan codex.
Apakah perlu akun ChatGPT atau API key OpenAI?
Menurut referensi konfigurasi Codex, requires_openai_auth pada provider kustom bernilai default false, dan request diautentikasi dengan key dari environment variable yang ditunjuk env_key. Akun dan saldo Anda ada di RelaySwitch, dan key berawalan sk-relay-.
base_url perlu /v1 atau tidak, dan wire_api diisi apa?
base_url diisi https://api.relayswitch.io/v1, dengan /v1; Codex menambahkan /responses di belakangnya. wire_api hanya punya satu nilai yang berlaku, yaitu responses, yang juga nilai default-nya, jadi barisnya boleh dihapus. Nilai chat dari tutorial lama sudah tidak bisa dipakai.
Bagaimana tahu model tidak diganti diam-diam?
Dua hal bisa Anda periksa sendiri. Setiap model menerima prompt uji yang sama sekali sehari dan jawabannya dibandingkan dengan hasil sebelumnya; hasilnya terbuka di https://api.relayswitch.io/v1/proof. Setiap request juga punya struk bertanda tangan yang mencatat id model, token yang ditagih, dan biayanya. Nilai model_reasoning_effort dikirim Codex di setiap request dan diteruskan gateway ke model apa adanya.
Token Codex terasa mahal, bagaimana menghematnya?
Codex mengirim ulang percakapan dan output tool di setiap giliran, jadi biayanya terutama ada di input dan cached input. Tiga cara: pakai model yang lebih murah untuk perubahan harian dan yang mahal hanya untuk masalah sulit, mulai sesi baru setelah tugas selesai, dan beri key Codex anggaran dolar serta batas harian supaya berhenti saat batas tercapai.

Satu blok provider, satu environment variable

base_url https://api.relayswitch.io/v1, model GPT ditagih per token sesuai harga katalog, dengan cek harian yang terbuka untuk publik.