กลับไปที่บล็อก

เอเจนต์และระบบอัตโนมัติคู่มือ

เชื่อมต่อ n8n กับ CheapTokens: credential แบบ OpenAI, Base URL

ชี้ credential แบบ OpenAI ของ n8n ไปที่ Base URL ของ CheapTokens ผ่านการทดสอบการเชื่อมต่อ และรัน LLM chain บน DeepSeek-V4-Flash

โดย CheapTokens Teamเผยแพร่เมื่อ ใช้เวลาอ่าน 5 นาที

credential ของ n8n ที่ชี้ไปยังที่อยู่ API ของ CheapTokens
ในหน้านี้
  1. สิ่งที่ credential ของ n8n ให้คุณ
  2. ตั้งค่าในสี่ขั้นตอน
  3. ตรวจสอบคีย์นอก n8n ก่อน
  4. เวิร์กโฟลว์แรก: จัดเรียงอีเมลขาเข้า
  5. การรันหนึ่งครั้งมีค่าใช้จ่ายเท่าไร
  6. ถ้ามันไม่ทำงาน

ใน n8n ให้สร้าง credential แบบ OpenAI ใส่ https://api.cheaptokens.dev/v1 ลงในช่อง Base URL วางคีย์ CheapTokens ของคุณลงใน API Key และเลือก model id ในโหนด OpenAI Chat Model เท่านี้ก็เสร็จ: ไม่ต้องมี custom node ไม่ต้องมี community package เวิร์กโฟลว์เดิมยังคงมีโหนดเดิมและแค่ได้ credential ใหม่เพิ่มเข้ามา

วิธีนี้ใช้ได้เพราะ API ของ CheapTokens พูดภาษาเดียวกับรูปแบบ OpenAI Chat Completions (และ Anthropic Messages ด้วย) ดังนั้นโหนด OpenAI ของ n8n จึงแยกไม่ออก ถ้าแนวคิดเรื่อง "base URL" เป็นเรื่องใหม่สำหรับคุณ คำอธิบายนี้สรุปให้ในสองนาที

สิ่งที่ credential ของ n8n ให้คุณ#

credential แบบ OpenAI ของ n8n มีสี่อย่างให้กรอก จากซอร์สโค้ดของ credential ใน repository ของ n8n (สาขา master ตรวจสอบเมื่อ 1 พฤศจิกายน 2026) ได้แก่ API Key (จำเป็น, ถูกปิดบัง), Organization ID (ไม่บังคับ), Base URL (ค่าเริ่มต้น https://api.openai.com/v1, อธิบายว่าใช้แทนที่ที่อยู่ API หลัก) และสวิตช์ Add Custom Header พร้อมชื่อและค่าของ header

รายละเอียดหนึ่งที่น่ารู้: หน้าเอกสารของ n8n เองสำหรับ credential แบบ OpenAI ระบุเพียงคีย์และ organization ID เท่านั้น ช่อง Base URL มองเห็นได้ในซอร์สโค้ด นั่นคือสิ่งที่คู่มือนี้พึ่งพา

เมื่อคุณบันทึก n8n จะทดสอบ credential โดยส่งคำขอไปที่ {Base URL}/models พร้อม header Authorization: Bearer <API Key> ดังนั้น Base URL ที่ผิดหรือคีย์ที่ผิดจะแสดงขึ้นตรงนั้น ก่อนที่คุณจะสร้างอะไร

ก่อนและหลัง: Base URL เริ่มต้นของ OpenAI เทียบกับ Base URL ของ CheapTokens พร้อมคีย์และ Organization ID ที่ว่างเปล่า
สิ่งที่เปลี่ยนไปใน credential แบบ OpenAI ใน n8n

ตั้งค่าในสี่ขั้นตอน#

ทีละขั้นตอน

เชื่อมต่อ n8n กับ CheapTokens

สร้าง credential

ใน n8n เปิด Credentials สร้างใหม่และเลือก OpenAI เก็บคีย์ CheapTokens ของคุณไว้ใน password manager หรือ environment variable จนกว่าจะวาง ห้ามเก็บในช่องข้อความของเวิร์กโฟลว์

กรอกสองช่อง

API Key: คีย์ CheapTokens ของคุณ Base URL: https://api.cheaptokens.dev/v1 ปล่อย Organization ID ว่างไว้ บันทึก credential และรอการทดสอบการเชื่อมต่อ: มันจะเรียก /models ที่ที่อยู่นั้น

เพิ่มโหนดโมเดล

ในเวิร์กโฟลว์เพิ่ม Basic LLM Chain และแนบ OpenAI Chat Model เป็นโมเดลของมัน เลือก credential ใหม่ สำหรับโมเดล ให้ใช้ id จากเอกสาร CheapTokens: deepseek-ai/DeepSeek-V4-Flash-0731 ถ้า dropdown ไม่แสดงรายการ ให้สลับช่องเป็นกรอก id ด้วยมือ (by ID หรือเป็น expression)

เปิด Chat Completions ไว้

โหนดใช้ Chat Completions API เป็นค่าเริ่มต้น ปล่อย Use Responses API ไว้ปิด ในตัวเลือกของโหนดตั้ง Maximum Number of Tokens เพื่อไม่ให้คำตอบที่ยาวเกินควบคุมกินงบประมาณ

ไม่แน่ใจว่าจะพิมพ์อะไรเป็น model id? ถาม API เองเลย: List models with GET /v1/modelsแสดงสตริงที่แน่นอน ผู้ให้บริการแต่ละรายตั้งชื่อโมเดลเดียวกันต่างกัน ดังนั้นคัดลอก id จาก CheapTokens ไม่ใช่จากเอกสารของบริการอื่น

ตรวจสอบคีย์นอก n8n ก่อน#

ถ้าการทดสอบ credential ล้มเหลว คุณต้องรู้ว่าปัญหาอยู่ที่ n8n หรือที่คีย์ การตรวจสอบใน terminal สั้น ๆ ตอบคำถามนั้นได้ คีย์อยู่ใน environment variable ดังนั้นจะไม่มีอะไรที่เป็นความลับหลุดลงใน history ของคุณ

การตรวจสอบเดียวกันใน curl และ Python

curl

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

นี่คือคำขอเดียวกับที่ n8n ส่งเมื่อทดสอบ credential รายการโมเดลในรูปแบบ JSON หมายความว่าคีย์และที่อยู่ถูกต้อง

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)

นี่คือคำขอแชทแบบเต็ม r.usage แสดงจำนวน token เข้าและออกสำหรับคำขอเล็ก ๆ นี้ เพื่อประเมินขนาดเวิร์กโฟลว์ ให้ใส่อีเมลทั่วไปลงใน prompt แล้วอ่าน usage อีกครั้ง

เวิร์กโฟลว์แรก: จัดเรียงอีเมลขาเข้า#

สมมติว่ากล่องจดหมายที่ใช้ร่วมกันได้รับอีเมลประมาณหนึ่งพันฉบับต่อวัน คุณต้องการให้ทุกฉบับถูกติดแท็กเป็น billing, bug หรือ other พร้อมสรุปหนึ่งบรรทัดสำหรับคนที่รับช่วงต่อ

สร้างแบบนี้: Gmail Trigger (หรือโหนด Webhook) ป้อนเข้าสู่ Basic LLM Chain prompt ใน chain อ่านประมาณว่า "Classify this email as billing, bug or other, then summarise it in one sentence" โดยแทรกเนื้อหาอีเมลจากโหนดก่อนหน้า โหนด OpenAI Chat Model ที่อยู่ข้างใต้ พร้อม credential CheapTokens ของคุณ เป็นตัวคิด

Trigger, Basic LLM Chain กับ OpenAI Chat Model แล้วโหนดถัดไป
เวิร์กโฟลว์จัดเรียงอีเมล: trigger, LLM chain, ขั้นถัดไป

งานนี้สั้นและซ้ำ ๆ: อินพุตเล็ก คำตอบเล็ก หลายพันรอบที่เหมือนกัน นี่คือจุดที่โมเดลราคาถูกที่มีราคาคงที่คุ้มค่าที่สุด สำหรับงานแบบนี้ใน CheapTokens DeepSeek-V4-Flash ให้ราคาเดียวตลอดทั้งวัน หน้าต่าง context 380K และสูงสุด 32,768 token ต่อคำตอบ

การรันหนึ่งครั้งมีค่าใช้จ่ายเท่าไร#

สมมติว่าแต่ละอีเมลสร้าง prompt ประมาณ 1,500 token (คำสั่งบวกอีเมล) และโมเดลเขียนตอบกลับประมาณ 300 token การรันหนึ่งครั้งบน DeepSeek-V4-Flash มีค่าใช้จ่าย $0.000053 สำหรับอีเมล 1,000 ฉบับต่อวัน นี่คือโมเดลทั้งหมดเทียบกันกับ OpenRouter โดยนับอินพุตและเอาต์พุตรวมกัน:

โมเดล ต่อคำขอ 1,000 คำขอ OpenRouter, 1,000 คำขอ
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 โทเค็นอินพุตและ 300 โทเค็นเอาต์พุตต่อคำขอ ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน

จำนวน token เป็นสมมติฐานสำหรับตัวอย่างนี้ วัดของคุณเองโดยส่งอีเมลทั่วไปผ่านการตรวจสอบด้วย Python แล้วอ่าน usage จากนั้นแทนที่ตัวเลข ราคาปัจจุบันอยู่ในหน้าราคา

เวิร์กโฟลว์แบบแชทแตกต่างออกไป ด้วยโหนด memory ประวัติทั้งหมดจะเดินทางไปกับการเรียกทุกครั้ง ดังนั้นอินพุตจะโตขึ้นตามแต่ละข้อความ ทำไมแชท AI ยาว ๆ จึงมีค่าใช้จ่ายมากขึ้นแสดงให้เห็นว่ามันบวกเพิ่มเร็วแค่ไหน

ถ้ามันไม่ทำงาน#

ความล้มเหลวส่วนใหญ่เป็นหนึ่งในสามอย่าง: คีย์ ที่อยู่ หรือ model id API 401 หรือ 404: คีย์, base URL หรือ model id ผิดอธิบายข้อความ error แต่ละแบบ ก่อนเปิดมัน ให้ไล่รายการนี้ก่อน:

เช็กลิสต์

ก่อนที่คุณจะดีบักต่อ

อยากเห็นส่วนที่เหลือของการตั้งค่า? เอกสาร CheapTokensมี API reference ฉบับเต็ม และหน้า DeepSeekแสดงขีดจำกัดของโมเดล ใช้เครื่องมืออื่นที่มีรูปแบบเดียวกันอยู่แล้ว? Open WebUIและ LangChainเชื่อมต่อแบบเดียวกัน: ที่อยู่เดียว คีย์เดียว model id เดียว