Quay lại blog

AI cho người mớiHướng dẫn

API key là gì và cách lưu trữ an toàn

API key của AI API là gì, lấy ở đâu, tại sao phải giữ nó ngoài code và git, cách thực hiện lần gọi đầu tiên và phải làm gì nếu key bị rò rỉ.

Bởi CheapTokens TeamĐã xuất bản Đã cập nhật 6 phút đọc

Ảnh bìa: API key như mật khẩu cho tài khoản AI, được lưu trong biến môi trường
Trên trang này
  1. API key là gì
  2. Lấy key ở đâu
  3. Nơi key tuyệt đối không được xuất hiện
  4. Lưu key trong biến môi trường
  5. Thực hiện lần gọi đầu tiên
  6. Những thói quen giữ key an toàn
  7. Phải làm gì nếu key bị rò rỉ
  8. Các bước tiếp theo

Bạn đã đăng ký một AI API và điều đầu tiên nó yêu cầu là một key. Hướng dẫn này giải thích API key là gì, nó đến từ đâu, cách giữ an toàn và phải làm gì nếu nó rơi vào nơi không nên.

API key là gì#

API key là một chuỗi dài gồm chữ cái và chữ số cho dịch vụ biết ai đang gửi yêu cầu. Hãy coi nó như mật khẩu cho các chương trình: script của bạn gửi key kèm mỗi yêu cầu, và dịch vụ dùng nó để tìm tài khoản của bạn và trừ chi phí của yêu cầu từ số dư của bạn.

Từ đó suy ra hai điều:

  • Ai có key đều có thể tiêu số dư của bạn. Dịch vụ không thể phân biệt bạn với người đã sao chép key của bạn.
  • Key không phải là model và không phải là số dư. Nó chỉ là tấm vé qua cửa. Số dư là thứ riêng bạn nạp thêm, và cùng một key dùng được với mọi model mà tài khoản của bạn có thể dùng.

Chi phí của một yêu cầu được tính bằng token. Nếu token còn mới với bạn, hãy bắt đầu với What is a token in AI?.

Lấy key ở đâu#

Mỗi dịch vụ AI phát hành key từ dashboard riêng của nó. Ví dụ, API chính thức của DeepSeek có trang API keys tại platform.deepseek.com/api_keys, và tài liệu của nó đọc key từ biến môi trường DEEPSEEK_API_KEY (kiểm tra ngày 21 tháng 10 năm 2026). Quy trình chung gần như giống nhau ở mọi nơi:

  1. Tạo tài khoản.
  2. Mở trang API keys trong dashboard.
  3. Nhấn nút tạo key mới và đặt tên cho nó, ví dụ my-first-script.
  4. Sao chép key ngay lập tức. Nhiều dịch vụ chỉ hiển thị nó một lần.

Với CheapTokens, các bước từ tài khoản đến key có trong Your first API request with CheapTokens. CheapTokens hoạt động từ số dư USD trả trước: một số dư cho tất cả model. Nếu một yêu cầu thất bại vì số dư trống, xem "Not enough tokens" error.

Nơi key tuyệt đối không được xuất hiện#

Hầu hết các vụ rò rỉ không phải là bị hack. Chúng là lỗi sao chép-dán:

  • key viết trực tiếp trong code (api_key="sk-...") rồi bị đẩy lên GitHub;
  • key trong ảnh chụp màn hình, tin nhắn chat hoặc câu hỏi trên diễn đàn;
  • key trong code front-end (trang web hoặc ứng dụng di động): ai cũng có thể mở ra và đọc;
  • tệp .env đã được commit vào git.

Trường hợp cuối là phổ biến nhất. Kể cả khi bạn xóa tệp ở commit tiếp theo, key vẫn nằm trong lịch sử git, nên một key từng bị commit phải được coi là đã rò rỉ.

Lưu key trong biến môi trường#

Biến môi trường là một giá trị có tên nằm trong hệ thống của bạn, không nằm trong code. Chương trình đọc nó khi khởi động, nên code có thể chia sẻ an toàn và key vẫn ở trên máy của bạn.

Trên Linux hoặc macOS, đặt nó cho terminal hiện tại:

bash
export CHEAPTOKENS_API_KEY="YOUR_API_KEY"

Trong Windows PowerShell:

powershell
$env:CHEAPTOKENS_API_KEY = "YOUR_API_KEY"

Điều này kéo dài cho đến khi bạn đóng terminal. Để giữ nó giữa các phiên, hãy đưa dòng đó vào shell profile của bạn, hoặc dùng tệp .env cho dự án và thêm nó vào .gitignore trước lần commit đầu tiên:

text
# .gitignore
.env

Sau đó đọc key trong code. Không bao giờ gõ nó ở đó:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],  # read from the environment, not written in the code
)

Nếu biến bị thiếu, os.environ[...] dừng chương trình với lỗi ngay lập tức, tốt hơn là gửi một yêu cầu với key rỗng.

Thực hiện lần gọi đầu tiên#

CheapTokens nói được các định dạng OpenAI Chat Completions và Anthropic Messages, nên các SDK chuẩn đều hoạt động: bạn chỉ cần đổi base URL và key. Đây là một bài kiểm tra đầy đủ với MiniMaxAI/MiniMax-M2.7:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Explain what an API key is in two sentences."}],
    max_tokens=200,
)

print(response.choices[0].message.content)

Tương tự với curl, trong đó shell thay thế biến và key không bao giờ xuất hiện trong lệnh:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MiniMaxAI/MiniMax-M2.7", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'

Một bài kiểm tra ngắn như thế này rất rẻ. Ví dụ, một yêu cầu với 1.000 token đầu vào và 500 token đầu ra tốn $0.00013 theo giá hiện tại. MiniMax-M2.7 cũng có context 180K và cho câu trả lời tối đa 8.192 token, nên đây là model thoải mái cho những thử nghiệm đầu tiên. Nếu câu trả lời dừng giữa câu, xem Why does an AI answer stop mid-sentence?.

Hãy sao chép model id từ tài liệu CheapTokens thay vì từ dịch vụ khác: tên model khác nhau giữa các nhà cung cấp.

Những thói quen giữ key an toàn#

  • Một key cho mỗi dự án. Nếu một key rò rỉ, bạn chỉ thay đúng key đó và không có gì khác ngừng hoạt động.
  • Đặt tên key cho biết chúng được dùng ở đâu (laptop-script, telegram-bot), để bạn biết cần cập nhật gì sau khi thay thế.
  • Giữ số dư nhỏ trong khi bạn đang học. Với số dư trả trước, thiệt hại từ một key bị rò rỉ bị giới hạn bởi số tiền có trong đó, nhưng đó vẫn là tiền của bạn.
  • Đừng dán key vào chat với người khác hoặc trợ lý AI, và hãy cắt chúng khỏi log và ảnh chụp màn hình.
  • Đừng đặt key trong trình duyệt hoặc ứng dụng di động. Hãy gọi API từ một server bạn kiểm soát, và để ứng dụng nói chuyện với server đó.

Phải làm gì nếu key bị rò rỉ#

Nếu bạn đã đẩy key lên một kho công khai, gửi nó trong tin nhắn hoặc chỉ đơn giản là không chắc chắn, hãy hành động như thể nó đã nằm trong tay người khác:

  1. Thu hồi key trước tiên. Mở trang nơi bạn tạo nó và xóa hoặc vô hiệu hóa nó. Làm việc này trước mọi thứ khác; dọn dẹp để sau.
  2. Tạo key mới với tên mới.
  3. Thay thế nó ở mọi nơi đã dùng: biến môi trường, tệp .env, server, ứng dụng và công cụ.
  4. Kiểm tra số dư và mức sử dụng. Những yêu cầu bạn không thực hiện là dấu hiệu key cũ đã bị dùng.
  5. Dọn dẹp mã nguồn. Xóa key khỏi code và thêm .env vào .gitignore. Xóa tệp không loại bỏ key khỏi lịch sử git, đó là lý do bước 1 quan trọng hơn việc viết lại lịch sử.

Thứ tự rất quan trọng. Một key đã bị thu hồi là vô hại kể cả khi nó còn nằm trong một commit cũ.

Các bước tiếp theo#

Sẵn sàng thử chưa? Lấy một key CheapTokens, đặt nó làm CHEAPTOKENS_API_KEY và chạy ví dụ ở trên.

Endpoint, model id và giới hạn cho mọi model có trong CheapTokens docs.