Quay lại hướng dẫn
Tích hợp·12 tháng 8, 2026·Cập nhật 3 tháng 10, 2026·Đọc 8 phút

Codex CLI với khóa API — cấu hình, mô hình và chi phí phiên

Codex CLI chạy bằng đăng nhập ChatGPT hoặc khóa API — và phương thức dùng khóa là phương thức duy nhất cho phép trỏ nó tới nhà cung cấp khác hoặc dòng mô hình khác. Cấu hình hoạt động, yêu cầu khiến phần lớn gateway bị chặn, chi phí một phiên và cách thanh toán bằng Pix.

Codex CLI là agent lập trình mã nguồn mở trên terminal của OpenAI, và có thể chạy bằng đăng nhập ChatGPT hoặc khóa API. Phương thức dùng khóa là phần đáng tìm hiểu: tính phí theo token, không có phí hàng tháng và là phương thức duy nhất cho phép trỏ CLI đến provider khác — hoặc một họ model khác. Hướng dẫn này trình bày cấu hình hoạt động, yêu cầu khiến phần lớn gateway thất bại, chi phí của một phiên làm việc và cách thanh toán bằng Pix từ Brazil.

Yêu cầu duy nhất quan trọng

Codex CLI sử dụng Responses API của OpenAI, và chỉ API đó: khối model_providers chỉ chấp nhận wire_api = "responses". Một gateway chỉ cung cấp /v1/chat/completions đơn giản là không thể được cấu hình — đó là lý do phần lớn endpoint “tương thích với OpenAI” thất bại ở đây. Kunavo cung cấp POST /v1/responses cùng với chat endpoint, nên khối bên dưới hoạt động mà không cần điều chỉnh.

Cấu hình

~/.codex/config.toml
# ~/.codex/config.toml
model          = "gpt-5-6-sol"
model_provider = "kunavo"

[model_providers.kunavo]
name     = "kunavo"
base_url = "https://api.kunavo.com/v1"
env_key  = "KUNAVO_API_KEY"
wire_api = "responses"

env_key là tên của biến môi trường, không phải khóa: Codex không bao giờ ghi khóa vào tệp cấu hình.

shell
# O Codex lê a chave da variável indicada em env_key.
export KUNAVO_API_KEY="sk-kn-..."     # crie em kunavo.com/app/keys

# Deixe persistente (escolha o arquivo que o seu shell realmente carrega):
echo 'export KUNAVO_API_KEY="sk-kn-..."' >> ~/.zshrc

codex "explique a estrutura deste repositório"

Tạo khóa trong bảng điều khiển sau khi đăng ký và nạp $10 — khóa chỉ xuất hiện một lần.

Thanh toán từ Brazil — Pix, không cần thẻ quốc tế

Đối với nhà phát triển Brazil, trở ngại hiếm khi là tệp TOML mà là phương thức thanh toán. Thanh toán trực tiếp cho OpenAI API yêu cầu thẻ tín dụng quốc tế đã bật mua hàng ở nước ngoài. Tại Kunavo, checkout được xử lý bởi Stripe và Pix xuất hiện dưới dạng phương thức thanh toán cho người thanh toán từ Brazil — số tiền bằng real và đối soát ngay lập tức. Thẻ quốc tế (Visa, Mastercard, American Express), Apple Pay và Google Pay vẫn khả dụng cho những người muốn dùng.

Phí theo token được tính bằng USD: với Pix, Stripe hiển thị quy đổi sang real tại thời điểm thanh toán; với thẻ, quy đổi tuân theo tỷ giá của đơn vị phát hành (hãy kiểm tra IOF và phí giao dịch quốc tế trong ứng dụng ngân hàng) — hướng dẫn từng bước nạp tiền bằng Pix có trong hướng dẫn thanh toán API bằng Pix. Ví là trả trước — nạp tối thiểu $10, không đăng ký thuê bao và không tự động gia hạn, với số dư không bao giờ hết hạn.

Nên dùng model nào

Nhu cầuMô hìnhĐầu vào / đầu ra Kunavo (mỗi 1M)
Mặc định chuyên biệt cho mãgpt-5-6-sol$2,00 / $12,00
Các lần tái cấu trúc và gỡ lỗi khó hơnclaude-opus-5$3,50 / $17,50
Lập trình agent hằng ngàyclaude-sonnet-5$1,40 / $7,00
Chỉnh sửa nhanh và câu hỏiclaude-haiku-4-5$0,70 / $3,50

gpt-5-6-sol là GPT được tinh chỉnh cho mã và là lựa chọn tự nhiên mặc định của CLI này, với $2,00 / $12,00 cho mỗi 1M token so với $5,00 / $30,00 theo giá niêm yết của OpenAI — hiện OpenAI tính giá khuyến mãi $4,00 / $20,00, áp dụng ít nhất đến 21 tháng 11, 2026 theo trang giá. Toàn bộ mức giá có trên trang giá.

Chạy model Claude trên Codex CLI

Điều này thường khiến mọi người bất ngờ: Codex CLI bị ràng buộc bởi giao thức, không phải model. Nó sử dụng định dạng Responses, và bất kỳ model trò chuyện nào phía sau endpoint đó đều có thể phản hồi. Trỏ đến claude-opus-5 và CLI sẽ chạy xuyên suốt từ đầu đến cuối — bao gồm cả các lệnh gọi công cụ, vì vậy agent vẫn tiếp tục đọc tệp, đề xuất chỉnh sửa và chạy lệnh.

~/.codex/config.toml
# Mesmo bloco de provider, outro modelo — sem chave nova, sem config nova.
model          = "claude-opus-5"
model_provider = "kunavo"

[model_providers.kunavo]
name     = "kunavo"
base_url = "https://api.kunavo.com/v1"
env_key  = "KUNAVO_API_KEY"
wire_api = "responses"

Gateway chuyển đổi yêu cầu Responses sang API Anthropic Messages gốc và chuyển phản hồi trở lại định dạng Responses. Một lưu ý thẳng thắn: Codex gửi các mục reasoning không trong suốt mà chỉ model Responses gốc mới có thể tiếp nhận, và chúng bị loại bỏ trên đường đến upstream không phải GPT. Model mất bản nháp riêng của lượt trước; bản chép lại hiển thị mà nó dựa vào vẫn nguyên vẹn. Trên thực tế, điều này làm giảm một chút tính liên tục trong các chuỗi suy luận dài, nhưng không ảnh hưởng đến các vòng lặp chỉnh sửa-chạy-sửa thông thường.

Nếu bạn muốn dùng Claude cụ thể, Claude Code được xây dựng cho mục đích đó và truyền cache_control mà không cần dịch. Nhưng nếu bạn thích sandbox của Codex CLI và muốn chạy Claude phía sau nó, sự kết hợp này vẫn khả thi.

Một phiên làm việc tốn bao nhiêu

Các CLI agent gửi lại system prompt, lịch sử tác vụ và ngữ cảnh tệp ở mỗi bước, vì vậy token tích lũy nhanh hơn số bước gợi ý. Một bước điển hình có khoảng 25.000 token đầu vào và 1.200 token đầu ra:

Đơn vịToken (đầu vào / đầu ra)gpt-5-6-solHiện tại trên OpenAI (giá khuyến mại)
Một bước agent25.000 / 1.200$0,064$0,124
Một tác vụ 20 bước~500 nghìn / ~24 nghìn$1,29$2,48
Một ngày nặng (5 tác vụ)—$6,44$12,40

Nói cách khác: một lần nạp $10 bằng Pix chi trả cho khoảng 8 tác vụ agent 20 bước. Và các yêu cầu thất bại không bị tính phí — lỗi 5xx giữa một phiên làm việc không biến thành một dòng trên hóa đơn.

Khi có điều gì đó không hoạt động

Trước khi đổ lỗi cho Codex, hãy xác minh rằng khóa và endpoint có phản hồi:

verificar.sh
# Confirme a chave e o endpoint antes de culpar o Codex.
curl https://api.kunavo.com/v1/responses \
  -H "Authorization: Bearer $KUNAVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5-6-sol",
    "input": "Responda OK e nada mais."
  }'
  • 404 — provider không triển khai /v1/responses, hoặc base_url đã bao gồm /responses. Codex tự thêm đường dẫn: base kết thúc bằng /v1.
  • 401 — biến được chỉ định trong env_key đang trống trong shell đã mở Codex. Kiểm tra bằng echo $KUNAVO_API_KEY ngay trong terminal đó.
  • 402 — số dư không đủ: nạp thêm trong billing (Pix được ghi nhận ngay).
  • model_not_found — slug của model không tồn tại trong danh mục; kiểm tra tại /models.

Câu hỏi thường gặp

Làm thế nào để sử dụng khóa API với Codex CLI?

Thêm một khối [model_providers.TÊN] vào ~/.codex/config.toml với base_url, env_key và wire_api = "responses", rồi trỏ model_provider đến tên đó. Codex đọc khóa từ biến môi trường được chỉ định trong env_key — khóa không được lưu trong tệp cấu hình. Với Kunavo, base URL là https://api.kunavo.com/v1 và khóa có dạng sk-kn- được tạo tại kunavo.com/app/keys.

Có thể sử dụng Codex CLI tại Brazil mà không cần thẻ quốc tế không?

Có, theo đường dẫn khóa API. Việc nạp ví Kunavo được Stripe xử lý và Pix xuất hiện dưới dạng phương thức thanh toán cho người thanh toán từ Brazil — số tiền bằng real, đối soát ngay lập tức, không phụ thuộc vào thẻ tín dụng quốc tế đã bật thanh toán ở nước ngoài. Thẻ quốc tế, Apple Pay và Google Pay cũng hoạt động. Phí theo token được quy định bằng đô la, mức nạp tối thiểu là $10 và số dư không hết hạn.

Codex CLI có chấp nhận endpoint tùy chỉnh thay cho OpenAI không?

Có, nhưng nhà cung cấp phải cung cấp Responses API của OpenAI tại POST /v1/responses. Khối model_providers của Codex CLI chỉ chấp nhận wire_api = "responses", vì vậy không thể cấu hình một gateway chỉ cung cấp /v1/chat/completions. Kunavo cung cấp cả hai, nên khối cấu hình ở trên hoạt động.

Tôi có cần gói đăng ký ChatGPT Plus hoặc Pro để chạy Codex CLI không?

Không. Codex CLI có thể đăng nhập bằng tài khoản ChatGPT hoặc chạy bằng khóa API. Phương thức dùng khóa tính phí theo token, không có phí hàng tháng — rẻ hơn cho người lập trình theo từng đợt thay vì hằng ngày — và là phương thức duy nhất cho phép trỏ CLI đến nhà cung cấp khác hoặc một họ model khác.

Codex CLI có thể chạy các model Claude không?

Có, thông qua một gateway cung cấp Responses API. Codex CLI bị ràng buộc bởi giao thức, không phải model: nó sử dụng định dạng Responses, và bất kỳ model trò chuyện nào phía sau endpoint đó đều có thể phản hồi. Khi trỏ đến Kunavo với model = claude-opus-5, Codex CLI chạy xuyên suốt từ đầu đến cuối, bao gồm cả các lệnh gọi công cụ — gateway chuyển đổi Responses sang API Anthropic Messages gốc và ngược lại.

Tại sao Codex CLI trả về 404 với provider tùy chỉnh của tôi?

Gần như luôn là vì provider không triển khai POST /v1/responses hoặc vì base_url đã bao gồm đường dẫn /responses. Codex tự thêm đường dẫn, nên base_url phải kết thúc bằng /v1. Nếu thay vào đó nhận 401, biến môi trường được chỉ định trong env_key đang trống trong shell đã mở Codex.

Còn bên trong VS Code thì sao?

Kilo Code, Cline và Roo Code dùng cùng một khóa, với cấu hình gồm ba trường — xem hướng dẫn Kilo Code với API Claude. Giá theo model nằm trong hướng dẫn giá API Claude.