Quay lại blog

Agents & tự động hóaHướng dẫn

Kết nối n8n với CheapTokens: credential OpenAI, Base URL

Trỏ credential OpenAI của n8n vào Base URL của CheapTokens, vượt qua kiểm tra kết nối và chạy một LLM chain trên DeepSeek-V4-Flash.

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

Credential n8n trỏ tới địa chỉ API CheapTokens
Trên trang này
  1. Credential n8n cho bạn những gì
  2. Thiết lập trong bốn bước
  3. Kiểm tra key bên ngoài n8n trước
  4. Workflow đầu tiên: phân loại email đến
  5. Một lần chạy tốn bao nhiêu
  6. Nếu không hoạt động

Trong n8n, tạo một credential OpenAI, đặt https://api.cheaptokens.dev/v1 vào trường Base URL, dán khóa CheapTokens của bạn vào API Key, và chọn một model id trong node OpenAI Chat Model. Chỉ có vậy thôi: không cần custom node, không cần community package. Các workflow hiện có vẫn giữ nguyên node và chỉ nhận thêm một credential mới.

Điều này hoạt động được vì API CheapTokens nói đúng định dạng OpenAI Chat Completions (và cả Anthropic Messages), nên node OpenAI của n8n không thể phân biệt được. Nếu khái niệm "base URL" còn mới với bạn, bài giải thích này sẽ tóm gọn trong hai phút.

Credential n8n cho bạn những gì#

Credential OpenAI của n8n có bốn thứ cần điền. Theo mã nguồn của credential trong kho n8n (nhánh master, kiểm tra ngày 1 tháng 11 năm 2026), đó là: API Key (bắt buộc, được che), Organization ID (tùy chọn), Base URL (mặc định https://api.openai.com/v1, được mô tả là ghi đè địa chỉ API gốc) và một công tắc Add Custom Header với tên và giá trị header.

Một chi tiết đáng biết: trang tài liệu chính thức của n8n về credential OpenAI chỉ liệt kê key và organization ID. Trường Base URL hiển thị trong mã nguồn, nên hướng dẫn này dựa vào đó.

Khi bạn lưu, n8n kiểm tra credential bằng cách gửi một request tới {Base URL}/models với header Authorization: Bearer <API Key>. Vì vậy Base URL sai hoặc key sai sẽ lộ ra ngay tại đó, trước khi bạn xây dựng bất cứ thứ gì.

Trước và sau: Base URL mặc định của OpenAI so với Base URL của CheapTokens, kèm key và Organization ID để trống
Những gì thay đổi trong credential OpenAI trong n8n

Thiết lập trong bốn bước#

Từng bước một

Kết nối n8n với CheapTokens

Tạo credential

Trong n8n mở Credentials, tạo mới và chọn OpenAI. Giữ khóa CheapTokens của bạn trong trình quản lý mật khẩu hoặc biến môi trường cho đến khi dán, không bao giờ để trong trường văn bản của workflow.

Điền hai trường

API Key: khóa CheapTokens của bạn. Base URL: https://api.cheaptokens.dev/v1. Để trống Organization ID. Lưu credential và chờ kiểm tra kết nối: nó gọi /models trên địa chỉ đó.

Thêm node model

Trong một workflow thêm một Basic LLM Chain và gắn một OpenAI Chat Model làm model của nó. Chọn credential mới. Với model, dùng id từ tài liệu CheapTokens: deepseek-ai/DeepSeek-V4-Flash-0731. Nếu dropdown không liệt kê nó, chuyển trường sang nhập id thủ công (theo ID hoặc dưới dạng biểu thức).

Giữ Chat Completions bật

Node dùng API Chat Completions theo mặc định. Để Use Responses API tắt. Trong tùy chọn của node đặt Maximum Number of Tokens để một câu trả lời lan man không thể ăn hết ngân sách.

Không chắc gõ gì làm model id? Hỏi chính API: Liệt kê model với GET /v1/models hiển thị các chuỗi chính xác. Các nhà cung cấp khác nhau đặt tên cùng một model khác nhau, nên hãy sao chép id từ CheapTokens, không phải từ tài liệu của dịch vụ khác.

Kiểm tra key bên ngoài n8n trước#

Nếu kiểm tra credential thất bại, bạn muốn biết vấn đề nằm ở n8n hay ở key. Một kiểm tra ngắn trên terminal sẽ trả lời điều đó. Key nằm trong biến môi trường, nên không có gì bí mật lọt vào lịch sử của bạn.

Cùng kiểm tra bằng curl và Python

curl

bash
export CHEAPTOKENS_API_KEY="your-key-here"
curl https://api.cheaptokens.dev/v1/models \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY"

Đây là cùng request mà n8n gửi khi kiểm tra credential. Một danh sách model dạng JSON nghĩa là key và địa chỉ đều đúng.

Python

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
r = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    messages=[{"role": "user", "content": "Reply with one word: ready"}],
    max_tokens=20,
)
print(r.choices[0].message.content, r.usage)

Đây là một chat request đầy đủ. r.usage hiển thị token vào và ra cho request nhỏ này; để ước lượng kích thước một workflow, đặt một email điển hình vào prompt và đọc lại usage.

Workflow đầu tiên: phân loại email đến#

Giả sử một hộp thư chung nhận khoảng một nghìn email mỗi ngày. Bạn muốn mỗi email được gắn thẻ billing, bug hoặc other, kèm một câu tóm tắt cho người xử lý.

Xây dựng như sau: một Gmail Trigger (hoặc node Webhook) đưa vào một Basic LLM Chain. Prompt trong chain đại khái là "Phân loại email này là billing, bug hoặc other, rồi tóm tắt trong một câu", với nội dung email được chèn từ node trước. Node OpenAI Chat Model bên dưới, với credential CheapTokens của bạn, sẽ lo phần suy nghĩ.

Trigger, Basic LLM Chain với OpenAI Chat Model, rồi node tiếp theo
Workflow phân loại email: trigger, LLM chain, bước tiếp theo

Công việc ngắn và lặp đi lặp lại: đầu vào nhỏ, câu trả lời nhỏ, hàng nghìn lần chạy giống hệt nhau. Đó là nơi một model rẻ với giá ổn định phát huy tác dụng nhất. Với loại công việc này trong CheapTokens, DeepSeek-V4-Flash cho bạn một mức giá bất kể thời điểm trong ngày, cửa sổ ngữ cảnh 380K và tối đa 32.768 token mỗi câu trả lời.

Một lần chạy tốn bao nhiêu#

Giả sử mỗi email tạo ra prompt khoảng 1.500 token (hướng dẫn cộng với email) và model viết lại khoảng 300 token. Một lần chạy trên DeepSeek-V4-Flash tốn $0.000053. Với 1.000 email mỗi ngày, đây là tất cả các model đặt cạnh nhau với OpenRouter, tính cả đầu vào và đầu ra:

Mô hình Mỗi yêu cầu 1.000 yêu cầu OpenRouter, 1.000 yêu cầu
GLM-5.3-Flash $0.000042 $0.042 $0.0752
DeepSeek-V4-Flash $0.000053 $0.0525 $0.147
MiniMax-M2.7 $0.00012 $0.12 $1.44

1.500 token đầu vào và 300 token đầu ra mỗi yêu cầu. Giá trên 1 triệu token là giá hiện hành và thay đổi cùng với biểu phí của chúng tôi; cột OpenRouter hiển thị giá tham chiếu cho cùng khối lượng công việc.

Số token là giả định cho ví dụ này; hãy đo của riêng bạn bằng cách gửi một email điển hình qua kiểm tra Python và đọc usage, rồi thay các con số. Giá hiện tại nằm trên trang giá.

Một workflow kiểu chat thì khác. Với node memory, toàn bộ lịch sử đi kèm mỗi lần gọi, nên đầu vào tăng theo từng tin nhắn. Vì sao một cuộc chat AI dài tốn hơn cho thấy điều đó cộng dồn nhanh thế nào.

Nếu không hoạt động#

Hầu hết lỗi là một trong ba thứ: key, địa chỉ hoặc model id. API 401 hoặc 404: sai key, base URL hoặc model id đi qua từng thông báo lỗi. Trước khi mở nó, hãy chạy qua danh sách này:

Danh sách kiểm tra

Trước khi gỡ lỗi thêm

Muốn xem phần còn lại của thiết lập? Tài liệu CheapTokens có đầy đủ tham chiếu API, và trang DeepSeek liệt kê giới hạn của model. Đã dùng công cụ khác với cùng cách làm? Open WebUI và LangChain kết nối theo cùng cách: một địa chỉ, một key, một model id.