Chuyển từ proxy sang API Claude chính chủ cần ba thay đổi cốt lõi. Một, dùng key sk-ant- do Claude Console của chính công ty tạo. Hai, trả base URL về https://api.anthropic.com, hoặc xóa hẳn ANTHROPIC_BASE_URL để SDK dùng mặc định. Ba, đổi model ID sang tên chính thức như claude-sonnet-5. Sau đó kiểm thử header phản hồi, đặt hạn mức chi tiêu rồi mới bỏ key proxy cũ.
Cập nhật:
Dấu hiệu bạn đang dùng API Claude qua proxy
Claude API chính thức là REST API tại https://api.anthropic.com. Khi dùng qua cloud, endpoint thuộc AWS (Amazon Bedrock hoặc Claude Platform on AWS), Google Cloud hoặc Microsoft Foundry. Nếu ứng dụng của bạn gọi tới một tên miền khác và key do người bán cung cấp, nhiều khả năng bạn đang đi qua proxy hoặc relay. Biến ANTHROPIC_BASE_URL tự nó không sai. Tài liệu Claude Code dùng biến này để định tuyến qua proxy hoặc gateway, ví dụ gateway nội bộ do chính công ty vận hành. Vấn đề nằm ở chỗ gateway và credential thuộc về ai. Anthropic nói rõ không bảo chứng, duy trì hay kiểm định gateway của bên thứ ba. Đi qua proxy của người khác nghĩa là prompt và dữ liệu đi qua máy chủ bạn không kiểm soát, tài khoản gốc có thể bị khóa, và bạn không có chứng từ từ Anthropic. Commercial Terms cũng cấm bán lại dịch vụ nếu Anthropic không chấp thuận.
- Base URL không phải api.anthropic.com hay endpoint của AWS, Google Cloud, Microsoft.
- Key không bắt đầu bằng sk-ant-, ví dụ chuỗi sk-… kiểu OpenAI hoặc mã tự đặt.
- Công ty không có tài khoản Claude Console, không xem được Usage, không tự thu hồi được key.
- Gọi thẳng api.anthropic.com bằng key đó thì nhận lỗi 401.
- Header anthropic-organization-id khác ID tổ chức của công ty, hoặc không có header này.
- Gợi ý thêm: gói bán theo ngày, chuyển khoản cho cá nhân, tên model lạ, giá thấp hơn nhiều bảng giá niêm yết.
Checklist 10 bước chuyển sang API chính chủ
Làm theo thứ tự dưới đây để không gián đoạn hệ thống đang chạy. Nguyên tắc là dựng tài khoản mới song song, kiểm thử xong mới cắt proxy. Người tạo tổ chức ở bước 2 là Admin. Chỉ Admin mới tạo được workspace và service account; mua credit cần vai trò Admin hoặc Billing. Nên có ít nhất hai Admin để không phụ thuộc một cá nhân.
1. Kiểm kê: mọi nơi đang chứa key hoặc base URL của proxy (code, file .env, CI/CD, n8n, Make, Cursor, Cline, Claude Code), tên model đang gọi và lượng token mỗi tháng.
2. Tạo tổ chức trên Claude Console bằng email công ty.
3. Tạo workspace riêng cho dev, staging và production; đặt spend limit cho từng workspace (Default Workspace không đặt được).
4. Mua credit (vai trò Admin hoặc Billing). Credit hết hạn sau 1 năm và không hoàn tiền, nên nạp vừa đủ. Có thể bật auto-reload.
5. Tạo key ở Settings → API keys: service account key cho production (Admin tạo service account trước), personal key cho máy dev; chọn thời hạn; lưu trong secrets manager.
6. Xóa ANTHROPIC_BASE_URL hoặc đặt về https://api.anthropic.com.
7. Đổi model ID sang tên chính thức và bỏ tham số không còn được nhận.
8. Kiểm thử bằng curl và bộ câu hỏi mẫu, đối chiếu header phản hồi.
9. Chuyển dần lưu lượng, theo dõi Usage, Cost và lỗi 429.
10. Gỡ key proxy khỏi mọi nơi, kể cả biến CI và lịch sử git; hủy gói proxy.
Code trước và sau: Python, TypeScript, biến môi trường
SDK chính thức của Anthropic mặc định gọi https://api.anthropic.com. Cả SDK Python và TypeScript đều đọc biến ANTHROPIC_BASE_URL nếu có. Vì vậy chỉ sửa code mà quên biến môi trường thì request vẫn đi qua proxy. Với Claude Code, thứ tự ưu tiên credential là: cloud provider, rồi ANTHROPIC_AUTH_TOKEN, rồi ANTHROPIC_API_KEY, rồi apiKeyHelper. Nếu thêm key mới mà quên xóa ANTHROPIC_AUTH_TOKEN của proxy, Claude Code vẫn dùng token cũ. Chạy lệnh /status để xem credential đang dùng. Code viết theo OpenAI SDK có thể thử nhanh qua lớp tương thích của Anthropic với base URL https://api.anthropic.com/v1/. Anthropic ghi rõ lớp này chủ yếu để thử nghiệm, so sánh model và không hỗ trợ prompt caching. Chạy production nên chuyển sang SDK Anthropic.
- Python trước: client = Anthropic(api_key="KEY_PROXY", base_url="https://ten-mien-proxy.example")
- Python sau: client = Anthropic() (SDK tự đọc ANTHROPIC_API_KEY)
- TypeScript trước: const client = new Anthropic({ apiKey: process.env.PROXY_KEY, baseURL: "https://ten-mien-proxy.example" })
- TypeScript sau: const client = new Anthropic()
- Biến môi trường: chạy unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN, rồi nạp ANTHROPIC_API_KEY từ secrets manager.
- Claude Code: xóa hai biến trên ở cả shell lẫn khối env trong file settings.json của người dùng và của dự án.
- Tìm chỗ còn sót: env | grep ANTHROPIC và grep -rnE "ANTHROPIC_BASE_URL|base_url|baseURL" .
Đổi model ID và tham số khi rời proxy
Proxy hay đặt tên model riêng hoặc vẫn chào bán model đã ngừng trên Claude API. Trên API chính chủ, gọi model đã retired sẽ bị lỗi. Dùng GET /v1/models để xem danh sách model mà key của bạn được dùng. Model mới cũng từ chối một số tham số cũ. Đây là nguyên nhân phổ biến khiến code chạy tốt trên proxy nhưng lỗi 400 sau khi chuyển. Nên chạy lại bộ test trước khi chuyển lưu lượng thật.
- Việc chung, agent, lập trình: claude-opus-5-5 ($4/$20 mỗi triệu token).
- Cân bằng tốc độ và chi phí: claude-sonnet-5 ($2/$10).
- Tác vụ nhỏ, khối lượng lớn: claude-haiku-4-5 ($1/$5), lưu ý ngày ngừng dự kiến không sớm hơn 15/10/2026.
- Suy luận nặng, agent chạy dài: claude-fable-5-1 ($10/$50).
- Đã retired trên Claude API: Sonnet 4, Opus 4, Opus 4.1, Sonnet 3.7, Haiku 3.5, Haiku 3.
- Từ Claude 4.7 trở lên (gồm Sonnet 5, Opus 5.5): temperature, top_p, top_k khác mặc định trả lỗi 400. Python SDK từ v1.0 bỏ hẳn các tham số này.
- Opus 5.5: gửi thinking kiểu disabled hoặc budget_tokens trả lỗi 400; tool_choice any hoặc tool cũng lỗi.
- Haiku 4.5 không nhận tham số effort và inference_geo.
Kiểm thử: làm sao biết request đã đi thẳng tới Anthropic
Gọi một request ngắn bằng curl với tùy chọn -i và đọc header phản hồi. Phản hồi của Claude API có request-id dạng req_…, anthropic-organization-id là ID tổ chức sở hữu key, và anthropic-workspace-id dạng wrkspc_…. ID tổ chức phải trùng với tổ chức của công ty bạn. Sau vài phút, request phải hiện trên trang Usage của Console, lọc được theo API key và workspace. Nếu request chạy được mà Usage không tăng, request vẫn đang đi đường khác. Trang công cụ kiểm tra API key của Uptech chạy hoàn toàn trên trình duyệt, giúp bạn đọc các header này mà không gửi key đi đâu.
- Lệnh mẫu: curl -sS -i "https://api.anthropic.com/v1/models?limit=1" -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01"
- HTTP 200 kèm anthropic-organization-id đúng: đạt.
- HTTP 401 authentication_error: key sai, bị thu hồi hoặc hết hạn.
- HTTP 400 báo thiếu anthropic-workspace-id: key dùng cho nhiều workspace, thêm header anthropic-workspace-id rồi gọi lại.
- Không dùng curl -v khi chia sẻ kết quả, vì -v in cả header gửi đi có chứa key.
Rủi ro khi chuyển và cách giảm
Tổ chức mới có thể bắt đầu ở Evaluation tier với hạn mức thấp hơn mức chuẩn. Tăng tải đột ngột có thể gặp lỗi 429 do acceleration limit. Hãy chuyển lưu lượng theo từng đợt, ví dụ 10% rồi 50% rồi 100%. Mỗi tier có trần chi tiêu tháng: Start $500, Build $1.000, Scale $200.000. Chạm trần tier, API trả 429 với error_code enforced_spend_limit_reached và dừng tới 00:00 UTC ngày 1 tháng sau. Nếu dự kiến chi nhiều hơn trần hiện tại, dùng nút Request rate limit increase ở trang Rate limits trong Console để xin nâng trước khi cắt proxy.
- Thẻ bị từ chối: kiểm tra địa chỉ thanh toán, 3D Secure và quyền giao dịch quốc tế của thẻ.
- Kết quả khác trước: proxy có thể đã định tuyến sang model khác. Chạy bộ câu hỏi mẫu và so sánh.
- Hạn mức tự đặt: chạm mức này API trả 400 “You have reached your specified API usage limits”, không phải lỗi hệ thống.
- Dữ liệu cũ: coi mọi thứ đã gửi qua proxy là có thể bị lưu. Đổi các mật khẩu hoặc secret từng nằm trong prompt.
- Điểm cộng: khi base URL trở về api.anthropic.com, Claude Code không còn tắt mặc định MCP tool search và Remote Control.
Ước tính chi phí so sánh sau khi chuyển
Ví dụ một ứng dụng dùng 20 triệu token input và 4 triệu token output mỗi tháng. Danh sách dưới đây tính theo giá niêm yết ngày 28/09/2026, quy đổi với tỷ giá minh họa 26.500 ₫/USD. Kịch bản caching giả định trong 20 triệu token input có 12 triệu token đọc từ cache (60%), 1 triệu token ghi cache 5 phút và 7 triệu token input thường. Để so với proxy, lấy số token thật của một tháng rồi nhân với bảng giá. Nếu proxy vẫn rẻ hơn nhiều sau khi đã tính caching và Batch, khoản chênh lệch cần được giải thích rõ. Lưu ý model từ 4.7 trở lên sinh nhiều hơn khoảng 30% token cho cùng văn bản, nên số token có thể khác khi đổi model. Nếu tự nạp credit bằng thẻ quốc tế, cộng thêm phí chuyển đổi ngoại tệ khoảng 1–3% tùy ngân hàng và hạng thẻ. Toàn bộ workload ví dụ nằm dưới trần $500 của tier Start; hạn mức của Evaluation tier không được công bố và có thể thấp hơn.
- Sonnet 5, giá chuẩn: $40 input + $40 output = $80, khoảng 2.120.000 ₫.
- Sonnet 5 có caching: $14 input thường + $2,40 đọc cache + $2,50 ghi cache + $40 output = $58,90, khoảng 1.561.000 ₫.
- Sonnet 5 qua Batch API (việc không cần tức thì): $40, khoảng 1.060.000 ₫.
- Opus 5.5, giá chuẩn: $80 + $80 = $160, khoảng 4.240.000 ₫; có caching: $115,40, khoảng 3.058.000 ₫.
- Haiku 4.5, giá chuẩn: $20 + $20 = $40, khoảng 1.060.000 ₫.
Uptech hỗ trợ chuyển đổi như thế nào
Uptech là công ty dịch vụ tại Việt Nam, không phải Anthropic, không bán key proxy hay relay và không bán lại credit. Sau khi chuyển, tổ chức Anthropic đứng tên công ty bạn; bạn nắm quyền Admin và tự tạo, tự thu hồi key. Trong quá trình chuyển, Uptech hỗ trợ kiểm kê chỗ đang dùng key proxy, lập tổ chức và workspace, đặt hạn mức chi tiêu, rà model ID và tham số, và hỗ trợ thanh toán bằng VND. Doanh nghiệp nhận hợp đồng và hóa đơn GTGT cho dịch vụ hỗ trợ mua sắm, thanh toán và triển khai. Bảng giá quy đổi VND và máy tính chi phí có trên trang API Claude của Uptech. Liên hệ hotline +(84) 968 726 135 hoặc Zalo OA của Uptech.
Nguồn tham khảo chính thức
Uptech đối chiếu tên gói, phạm vi sử dụng và ghi chú mua sắm với trang chính thức của nhà cung cấp. Giá, tình trạng hỗ trợ và điều kiện có thể thay đổi theo thời điểm mua.
Anthropic tính phí Claude API theo triệu token, tách đầu vào và đầu ra; prompt caching đọc chỉ 0,1x giá đầu vào (thấp hơn ở Opus 5.5 và Fable 5.1), Batch API giảm 50%.
Kiểm tra tại nguồnClaude Team được mô tả cho nhóm 5-150 người, có Standard/Premium seat, admin/billing, SSO/domain capture, JIT, role-based permissioning, spend controls, connectors và enterprise search.
Kiểm tra tại nguồnClaude Enterprise kế thừa Team và bổ sung SCIM, audit logs, retention controls, usage analytics, spend controls và phân quyền sâu hơn.
Kiểm tra tại nguồnEndpoint https://api.anthropic.com, header bắt buộc và các header phản hồi request-id, anthropic-organization-id, anthropic-workspace-id.
Kiểm tra tại nguồnLoại key, cách tạo key, thời hạn key, lỗi 401 khi key hết hạn, tắt và xóa key.
Kiểm tra tại nguồnÝ nghĩa của ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL và tác động khi trỏ sang host khác.
Kiểm tra tại nguồnTrạng thái từng model, ngày ngừng và các tham số không còn được nhận trên model mới.
Kiểm tra tại nguồnTier Start, Build, Scale, Custom, Evaluation tier, trần chi tiêu tháng và lỗi khi chạm trần.
Kiểm tra tại nguồnLớp tương thích OpenAI SDK dùng để thử nghiệm, không hỗ trợ prompt caching.
Kiểm tra tại nguồnMinh bạch license và chứng từ
Nội dung trên trang được định vị cho mua sắm license AI hợp lệ, không phải mua bán tài khoản dùng chung hoặc phần mềm/key không rõ nguồn.
- Không bán tài khoản dùng chung, password/key trôi nổi hoặc tài khoản không rõ nguồn.
- Không tự nhận đại lý chính thức của OpenAI, Anthropic hoặc Google nếu chưa có chứng nhận phù hợp.
- Ưu tiên license gắn với người dùng hoặc workspace rõ ràng, có danh sách bàn giao và lịch gia hạn.
- Hóa đơn VAT, hạch toán và thuế áp dụng theo phạm vi hợp đồng và chính sách của từng doanh nghiệp.
Câu hỏi thường gặp
Chỉ đổi base URL về api.anthropic.com là đủ chưa?
Chưa. Key của proxy không phải key Anthropic nên sẽ bị trả lỗi 401. Bạn cần key sk-ant- do Console của công ty tạo, đổi model ID sang tên chính thức và bỏ các tham số model mới không nhận.
Nên xóa ANTHROPIC_BASE_URL hay đặt thành https://api.anthropic.com?
Cách nào cũng được, vì SDK chính thức mặc định gọi https://api.anthropic.com. Xóa hẳn biến gọn hơn và tránh sót. Nhớ kiểm tra cả file .env, biến CI và khối env trong settings.json của Claude Code.
Làm sao chắc request đã đi thẳng tới Anthropic?
Gọi curl -i tới api.anthropic.com và xem header anthropic-organization-id có trùng tổ chức của công ty không. Sau vài phút, request phải hiện trên trang Usage của Console.
Code đang dùng OpenAI SDK trỏ vào proxy có phải viết lại không?
Có thể thử nhanh bằng lớp tương thích OpenAI SDK của Anthropic với base URL https://api.anthropic.com/v1/. Anthropic chỉ khuyến nghị lớp này để thử nghiệm và nó không hỗ trợ prompt caching. Chạy production nên chuyển sang SDK Anthropic.
Tài khoản Anthropic mới có bị giới hạn không?
Có thể. Tổ chức mới có thể bắt đầu ở Evaluation tier với hạn mức thấp hơn, rồi tự tăng khi có lịch sử sử dụng. Trần chi tiêu tier Start là $500 mỗi tháng, có thể xin nâng ở trang Rate limits trong Console.
API chính chủ có đắt hơn proxy không?
Giá niêm yết minh bạch: Sonnet 5 là $2 input và $10 output mỗi triệu token. Dùng prompt caching, Batch API và chọn model phù hợp có thể giảm đáng kể chi phí. Proxy rẻ hơn nhiều giá niêm yết thường đi kèm rủi ro về nguồn gốc key và dữ liệu.
Claude Code đang trỏ vào proxy thì đổi thế nào?
Xóa ANTHROPIC_BASE_URL và ANTHROPIC_AUTH_TOKEN khỏi shell và settings.json. Sau đó đăng nhập bằng tài khoản Console của công ty hoặc đặt ANTHROPIC_API_KEY mới. Chạy /status để xác nhận credential đang dùng.
Key proxy cũ cần xử lý ra sao?
Gỡ key khỏi code, file cấu hình, biến CI và lịch sử git, rồi hủy gói với bên bán. Bạn không tự thu hồi được key đó trên Anthropic vì nó không thuộc tổ chức của bạn. Hãy coi dữ liệu đã gửi qua proxy là có thể đã bị lưu.
Gửi số người dùng, thời hạn, thông tin công ty và yêu cầu VAT. Uptech sẽ phản hồi phương án mua phù hợp.
- Phản hồi trong ngày làm việc khi có đủ số người dùng và gói dự kiến
- Báo giá VND kèm hợp đồng và hóa đơn VAT theo phạm vi thống nhất
- Bàn giao theo người dùng/email và nhắc gia hạn