Tài liệu

Tài liệu

n8n

n8n kết nối với API OpenAI tương thích tùy chỉnh qua trường Base URL trong thông tin xác thực OpenAI, không phải qua nút HTTP Request hay một tùy chọn trên nút mô hình. Dưới đây là thông tin xác thực cho Kunavo, nội dung từng nút gạt gửi đi và một bẫy trong bước kiểm tra thông tin xác thực khiến URL sai trông có vẻ đúng.

Trường Base URL của thông tin xác thực OpenAI — https://api.kunavo.com/v1, giữ /v1 — đưa mọi OpenAI Chat Model trong workflow n8n tới Kunavo; bản thân nút model không có trường endpoint.

n8n 2.41.4 — thông tin xác thực OpenAI
Credentials  →  Create credential  →  OpenAI
  API Key                      sk-kn-...
  Organization ID (optional)   leave empty
  Base URL                     https://api.kunavo.com/v1     <- keep the /v1

Workflow  →  AI Agent or Basic LLM Chain  →  Chat Model: OpenAI Chat Model
  Credential to connect with   the OpenAI credential above
  Model                        ID mode:  claude-sonnet-5
  Use Responses API            on   → POST /v1/responses
                               off  → POST /v1/chat/completions
Giữ /v1 trong Base URL. n8n kiểm tra thông tin xác thực bằng GET {Base URL}/models và chỉ xem mã trạng thái. Cho đến ngày 1 tháng 10 năm 2026, nếu bỏ /v1, yêu cầu đó sẽ đến trang danh mục mô hình công khai của Kunavo, trang này trả về 200, nên n8n báo “Kết nối thành công!” với bất kỳ khóa nào (đã tái hiện trên n8n 2.41.4). Kể từ đó, api.kunavo.com phản hồi các đường dẫn endpoint không có /v1 bằng lỗi 404 dạng JSON với mã missing_v1_prefix, vì vậy cùng lỗi này hiện khiến bước kiểm tra thất bại. Khi dùng /v1 với khóa sai, bước kiểm tra báo “Không được phép”.
Use Responses API được bật theo mặc định. Trên OpenAI Chat Model hiện tại (phiên bản nút 1.3), một nút mới gửi POST /v1/responses; khi tắt, nút gửi POST /v1/chat/completions. Kunavo phục vụ mọi mô hình trò chuyện trên cả hai tuyến, nên cả hai thiết lập đều hoạt động; nút gạt ảnh hưởng đến các công cụ tích hợp bên dưới và định dạng yêu cầu hiển thị trong nhật ký của bạn.
Đã chạy những gì. Image Docker chính thức của n8n 2.41.4 được trỏ trước tiên đến một mock ghi nhận cục bộ — không phải Kunavo hay một mô hình — để xem từng thiết lập gửi đến những đường dẫn nào; sau đó được trỏ đến api.kunavo.com thật với khóa cố ý không hợp lệ để ghi lại các lỗi do thiết lập sai gây ra. Chưa có phản hồi hoàn tất, phản hồi truyền phát hay lệnh gọi công cụ AI Agent nào được chạy với Kunavo bằng khóa hợp lệ.
Chưa có khóa? Tạo tài khoản Kunavo, tạo khóa (bắt đầu bằng sk-kn-) và nạp tín dụng từ $10 — các lệnh gọi được thanh toán từ số dư đó và các lệnh gọi thất bại không bị tính phí. Sau đó, bảng điều khiển mở tại phần thiết lập n8n.

Từng bước

  1. Tạo khóa tại /app/keys rồi sao chép khóa — khóa chỉ hiển thị một lần.
  2. Trong n8n, tạo thông tin xác thực loại OpenAI. Nhập khóa vào API Key, để trống Organization ID (optional) và thay giá trị mặc định https://api.openai.com/v1 trong Base URL bằng https://api.kunavo.com/v1. Lưu lại.
  3. Thêm nút AI Agent hoặc Basic LLM Chain, rồi gắn nút con OpenAI Chat Model sử dụng thông tin xác thực đó. Đổi trường Model từ From List sang ID, rồi nhập id như được liệt kê tại GET /v1/models, chẳng hạn claude-sonnet-5 — danh sách cũng dùng được, nhưng nhập id trực tiếp giúp quy trình dễ đọc hơn.
  4. Chọn bật hay tắt Use Responses API: hãy để bật, trừ khi một công cụ trong chuỗi của bạn cần Chat Completions hoặc bạn muốn nhật ký thực thi n8n hiển thị yêu cầu chat completions.
  5. Chạy quy trình một lần với câu lệnh một dòng trước khi kết nối với trình kích hoạt. Lỗi 401 nghĩa là khóa có vấn đề; lỗi 404 kèm mã missing_v1_prefix (hoặc trong các lần chạy cũ hơn, thông báo bắt đầu bằng <!DOCTYPE html>) nghĩa là Base URL bị thiếu /v1.

Đã kiểm tra đối chiếu với Mã nguồn thông tin xác thực OpenAI của n8n tại thẻ n8n@2.41.4 vào 1 tháng 10, 2026. Cài đặt của bên thứ ba có thể thay đổi; nếu tên trường ở đây không còn khớp với những gì bạn thấy, trang đó là nguồn có thẩm quyền, không phải trang này.

Đây là phiên bản ngắn. Hướng dẫn đầy đủ — lựa chọn mô hình, chi phí của một phiên thực tế và các trường hợp lỗi — nằm trong chi phí API AI của n8n.

Xác minh trước khi gỡ lỗi ứng dụng khách

Một yêu cầu sẽ xác định liệu lỗi nằm ở endpoint, khóa hay tệp cấu hình. Nếu lệnh này trả về JSON, cùng base URL và khóa sẽ hoạt động trong n8n.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Đặt model id nào vào trường

Mọi mô hình văn bản đều có thể truy cập bằng model id — danh sách đang hoạt động là GET /v1/models, còn danh mục kèm giá nằm trên trang mô hình. Mức giá tính bằng USD trên mỗi 1M token, đầu vào / đầu ra.

ID mô hìnhKunavo vào / raPhù hợp ở đâu trong n8n
claude-sonnet-5$1.40 / $7.00Các nút AI Agent gọi công cụ và phải chọn đúng công cụ
claude-haiku-4-5$0.70 / $3.50Phân loại, trích xuất và định tuyến từng mục trong một vòng lặp — nơi khối lượng quyết định chi phí
claude-opus-5$3.50 / $17.50Một bước lập kế hoạch hoặc rà soát duy nhất, trong đó câu trả lời sai khiến cả lượt chạy bị lãng phí
Thanh toán theo token từ số dư trả trước, không có phí hàng tháng — xem trang Thanh toán. Với ngữ cảnh lặp lại — chiếm phần lớn dữ liệu mà trình chỉnh sửa hoặc ứng dụng trò chuyện gửi đi — bộ nhớ đệm prompt ảnh hưởng đến hóa đơn nhiều hơn lựa chọn mô hình.

Vì sao Base URL nằm trong thông tin xác thực

Các hướng dẫn cũ đặt endpoint bên trong nút mô hình. Trong mã nguồn đã phát hành, tùy chọn Base URL trong nút bị ẩn từ phiên bản nút 1.1 trở đi, vì vậy nút bạn thêm hôm nay không có trường đó và Base URL trong thông tin xác thực mới là giá trị được dùng. Tài liệu OpenAI Chat Model và trang thông tin xác thực của n8n không mô tả trường này; nhưng mã nguồn có mô tả “Ghi đè URL cơ sở mặc định cho API”. Nút HTTP Request là một cách khác hoàn toàn — vẫn dùng được, nhưng bạn sẽ phải tự tạo yêu cầu mà nút AI Agent có thể tạo thay bạn.

Bật hoặc tắt Responses API

  • Bật (mặc định trên nút 1.3) — yêu cầu được gửi đến /v1/responses. Đây là chế độ duy nhất hiển thị Công cụ tích hợp của nút — Web Search, File Search và Code Interpreter. Đây là các công cụ do OpenAI lưu trữ; chưa ai kiểm thử chúng qua Kunavo, vì vậy hãy thử trước khi xây dựng quy trình phụ thuộc vào chúng.
  • Tắt — yêu cầu được gửi đến /v1/chat/completions, định dạng được hỗ trợ rộng rãi nhất và là lựa chọn dự phòng nếu lệnh gọi công cụ hoạt động không đúng ở chế độ kia.
  • Các công cụ bạn gắn vào AI Agent được gửi đến mô hình dưới dạng định nghĩa hàm. Lượt trao đổi đó không nằm trong phạm vi kiểm tra này, vì vậy hãy chạy một lệnh gọi công cụ trên quy trình thử nghiệm trước khi dựa vào tính năng này.

n8n và OpenRouter

n8n cung cấp một nút OpenRouter Chat Model riêng cùng thông tin xác thực OpenRouter của nút đó. Thông tin xác thực có trường API Key và Base URL bị ẩn, cố định ở https://openrouter.ai/api/v1; bước kiểm tra của nó gọi tuyến /key riêng của OpenRouter — vì vậy nút OpenRouter chỉ có thể kết nối với OpenRouter. Nếu muốn dùng OpenRouter, hãy dùng nút đó cùng khóa OpenRouter; bạn không cần nội dung nào trên trang này.

Mọi endpoint tương thích OpenAI khác, bao gồm Kunavo, đều dùng OpenAI Chat Model và Base URL trong thông tin xác thực OpenAI như trên. Hãy chọn dựa trên những khác biệt thực tế — bạn cần mô hình nào, muốn thanh toán ra sao, có muốn dùng chung một số dư giữa n8n và các công cụ khác không — chứ không phải dựa trên nút. Phần so sánh phía Kunavo nằm trong Kunavo so với OpenRouter.

Giới hạn chi phí cho quy trình chạy không cần giám sát

  • Max Retries của nút mặc định là 2 và Timeout là 60000 ms. Yêu cầu hết thời gian chờ sẽ được thử lại, và mỗi lần thử lại là một yêu cầu mới bị tính phí.
  • Đặt Maximum Number of Tokens trên các nút chạy theo từng mục — một vòng lặp qua 1.000 hàng sẽ nhân chi phí của mỗi lần gọi lên.
  • Dùng một khóa Kunavo riêng cho mỗi quy trình chạy thực tế để trang sử dụng cho biết khóa nào đã tiêu tốn bao nhiêu, đồng thời có thể thu hồi một khóa mà không ảnh hưởng đến các khóa khác.

Các lỗi hiển thị như thế nào

  • “401 Thiếu hoặc khóa API không hợp lệ” — Base URL đúng nhưng khóa không đúng. Đã tái hiện trên 2.41.4.
  • “404 <!DOCTYPE html>…”, được LangChain phân loại là MODEL_NOT_FOUND — gây hiểu nhầm: mô hình vẫn ổn, Base URL thiếu /v1 và yêu cầu đã đến trang web. Đã tái hiện trên 2.41.4.
  • Thông báo JSON cho biết mô hình không khả dụng — ID mô hình không khớp chính xác với GET /v1/models.

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

Làm cách nào để dùng API tương thích OpenAI tùy chỉnh trong n8n?

Tạo thông tin xác thực OpenAI và đổi Base URL từ https://api.openai.com/v1 thành địa chỉ gốc tương thích OpenAI của endpoint bạn, giữ nguyên /v1 — với Kunavo là https://api.kunavo.com/v1 — rồi nhập khóa vào API Key. Sau đó dùng nút con OpenAI Chat Model trong AI Agent hoặc Basic LLM Chain, chọn thông tin xác thực đó và nhập ID mô hình. Trường này có trong mã nguồn n8n đã phát hành (thông tin xác thực OpenAiApi, n8n@2.41.4), dù trang tài liệu thông tin xác thực của n8n chỉ liệt kê API Key và Organization ID.

Vì sao n8n báo Kết nối thành công nhưng quy trình lại lỗi 404?

Vì bước kiểm tra thông tin xác thực chỉ kiểm tra xem GET {Base URL}/models có trả về trạng thái thành công hay không. Nếu Base URL thiếu /v1, bước kiểm tra sẽ gửi yêu cầu đến đường dẫn /models trên máy chủ gốc. Cho đến ngày 1 tháng 10 năm 2026, trên Kunavo, đường dẫn đó là trang web danh mục mô hình công khai, trả về 200, nên n8n báo thành công với bất kỳ khóa nào; sau đó quy trình lại lỗi 404 với thông báo là một trang HTML (đã tái hiện trên n8n 2.41.4). Kể từ đó, Kunavo trả về lỗi 404 dạng JSON cho các đường dẫn này với mã missing_v1_prefix, nên bước kiểm tra thất bại thay vào đó. Dù thế nào, cách khắc phục vẫn như nhau: thêm /v1 vào Base URL. Các nhà cung cấp tương thích OpenAI khác có trang web tại /models vẫn có thể gây ra kết quả thành công giả.

Nên bật hay tắt Use Responses API cho endpoint tùy chỉnh?

Cả hai đều hoạt động nếu endpoint cung cấp cả hai tuyến, như Kunavo làm với mọi mô hình trò chuyện. Trên phiên bản nút 1.3, tùy chọn này mặc định bật và gửi POST /v1/responses; khi tắt, nó gửi POST /v1/chat/completions. Điều này đã được xác nhận bằng cách chạy cả hai thiết lập trên n8n 2.41.4. Hãy tắt nếu lệnh gọi công cụ hoặc định dạng đầu ra hoạt động không đúng, vì chat completions được hỗ trợ rộng rãi hơn. Danh sách Built-in Tools (tìm kiếm web, tìm kiếm tệp, trình thông dịch mã) chỉ xuất hiện khi bật; đây là các công cụ do OpenAI lưu trữ và chưa được kiểm thử qua Kunavo.

Tôi có thể trỏ nút OpenRouter của n8n đến endpoint khác không?

Không. Base URL trong thông tin xác thực OpenRouter là trường bị ẩn, cố định ở https://openrouter.ai/api/v1 và bước kiểm tra gọi tuyến /key riêng của OpenRouter, vì vậy nút OpenRouter Chat Model chỉ kết nối với OpenRouter. Với mọi endpoint tương thích OpenAI khác, hãy dùng OpenAI Chat Model cùng thông tin xác thực OpenAI có Base URL đã được thay đổi.

Kunavo đã kiểm thử n8n chưa?

Một phần. Ngày 1 tháng 10 năm 2026, image Docker chính thức của n8n 2.41.4 được chạy với một endpoint mock cục bộ để xác nhận từng thiết lập gửi đến những đường dẫn nào, và với API Kunavo thật cùng khóa không hợp lệ để xác nhận các lỗi trong bước kiểm tra thông tin xác thực và quy trình được mô tả ở đây. Chưa có phản hồi hoàn tất thành công, phản hồi truyền phát hay lệnh gọi công cụ AI Agent nào được chạy với Kunavo bằng khóa hợp lệ; vì vậy hãy coi lần chạy đầu tiên của bạn là bước kiểm tra từ đầu đến cuối.