ブログに戻る

エージェントと自動化ガイド

n8n を CheapTokens に接続する: OpenAI 認証情報と Base URL

n8n の OpenAI 認証情報を CheapTokens の Base URL に向け、接続テストを通過させ、DeepSeek-V4-Flash で LLM チェーンを実行します。

投稿者: CheapTokens Team公開日 読了時間 6 分

CheapTokens の API アドレスを指す n8n の認証情報
このページの内容
  1. n8n の認証情報で設定できること
  2. 4ステップで設定する
  3. まず n8n の外でキーを確認する
  4. 最初のワークフロー: 受信メールの仕分け
  5. 1回の実行コスト
  6. うまくいかない場合

n8n で OpenAI 認証情報を作成し、Base URL フィールドに https://api.cheaptokens.dev/v1 を入力し、API Key に CheapTokens のキーを貼り付け、OpenAI Chat Model ノードでモデル ID を選択します。変更はこれだけです。カスタムノードもコミュニティパッケージも不要です。既存のワークフローはノードをそのまま維持し、新しい認証情報を得るだけです。

これが機能するのは、CheapTokens API が OpenAI Chat Completions 形式(および Anthropic Messages も)に対応しているため、n8n の OpenAI ノードでは区別がつかないからです。「ベース URL」という考え方が初めての方は、こちらの解説が2分で説明しています。

n8n の認証情報で設定できること#

n8n の OpenAI 認証情報には入力項目が4つあります。n8n リポジトリ(master ブランチ、2026年11月1日確認)の認証情報のソースコードによると、API Key(必須、マスク表示)、Organization ID(任意)、Base URL(デフォルト https://api.openai.com/v1、ベース API アドレスを上書きするものとして説明)、そしてヘッダー名と値を指定する Add Custom Header スイッチです。

知っておくべき点が1つあります。n8n の公式ドキュメントにある OpenAI 認証情報のページには、キーと組織 ID しか記載されていません。Base URL フィールドはソースコードで確認できるため、このガイドはそれに基づいています。

保存すると、n8n は {Base URL}/models に Authorization: Bearer <API Key> ヘッダー付きでリクエストを送信して認証情報をテストします。そのため、Base URL やキーが間違っていれば、何かを構築する前にその場で判明します。

変更前と変更後: デフォルトの OpenAI Base URL と CheapTokens の Base URL、キーと空の Organization ID
n8n の OpenAI 認証情報で変わるもの

4ステップで設定する#

ステップバイステップ

n8n を CheapTokens に接続する

認証情報を作成する

n8n で Credentials を開き、新規作成して OpenAI を選択します。CheapTokens のキーは貼り付けるまでパスワードマネージャーか環境変数に保管し、ワークフローのテキストフィールドには決して置かないでください。

2つのフィールドを入力する

API Key: CheapTokens のキー。Base URL: https://api.cheaptokens.dev/v1。Organization ID は空のままにします。認証情報を保存し、接続テストを待ちます。テストはそのアドレスに対して /models を呼び出します。

モデルノードを追加する

ワークフローに Basic LLM Chain を追加し、そのモデルとして OpenAI Chat Model を接続します。新しい認証情報を選択します。モデルには CheapTokens のドキュメントにある ID を使用します: deepseek-ai/DeepSeek-V4-Flash-0731。ドロップダウンに表示されない場合は、フィールドを切り替えて ID を手動で入力します(ID 指定または式として)。

Chat Completions を有効のままにする

このノードはデフォルトで Chat Completions API を使用します。Use Responses API はオフのままにします。ノードのオプションで Maximum Number of Tokens を設定し、暴走した回答が予算を食い尽くさないようにします。

モデル ID に何を入力すればよいかわからない場合は、API 自体に尋ねてください。GET /v1/models でモデルを一覧表示すると正確な文字列が表示されます。プロバイダーによって同じモデルの名前が異なるため、他のサービスのドキュメントではなく CheapTokens から ID をコピーしてください。

まず n8n の外でキーを確認する#

認証情報のテストが失敗した場合、問題が n8n にあるのかキーにあるのかを知りたいはずです。短いターミナルでの確認でそれがわかります。キーは環境変数に置くので、秘密情報が履歴に残ることはありません。

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 が認証情報をテストするときに送信するのと同じリクエストです。モデルの 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 はこの小さなリクエストの入力・出力トークン数を示します。ワークフローの規模を見積もるには、典型的なメールをプロンプトに入れて usage を再度確認してください。

最初のワークフロー: 受信メールの仕分け#

共有受信箱に1日約1,000通のメールが届くとします。すべてを billing、bug、other にタグ付けし、対応する人向けに1行の要約も付けたいとします。

次のように構築します: Gmail Trigger(または Webhook ノード)が Basic LLM Chain にデータを渡します。チェーン内のプロンプトは「このメールを billing、bug、other のいずれかに分類し、1文で要約してください」といった内容で、メール本文は前のノードから挿入します。その下の OpenAI Chat Model ノードが、CheapTokens の認証情報を使って処理を行います。

トリガー、OpenAI Chat Model 付きの Basic LLM Chain、そして次のノード
メール仕分けワークフロー: トリガー、LLM チェーン、次のステップ

この作業は短く反復的です。小さな入力、小さな回答、数千回の同一実行です。ここで安定した価格の安価なモデルが最も効果を発揮します。CheapTokens でこの種の作業には、DeepSeek-V4-Flash が時間帯を問わず一定の価格、380K のコンテキストウィンドウ、回答あたり最大 32,768 トークンを提供します。

1回の実行コスト#

各メールが約1,500トークンのプロンプト(指示とメール本文)を生成し、モデルが約300トークンを返すとします。DeepSeek-V4-Flash での1回の実行コストは $0.000053 です。1日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 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。

トークン数はこの例での仮定です。Python の確認で典型的なメールを送信して usage を読み、自分の数値を測定してから数値を置き換えてください。最新の価格は料金ページにあります。

チャット形式のワークフローは異なります。メモリノードを使うと、呼び出しごとに履歴全体が送信されるため、入力はメッセージごとに増えていきます。長い AI チャットが高くつく理由では、それがどれだけ早く積み上がるかを示しています。

うまくいかない場合#

ほとんどの失敗は3つのうちのどれかです: キー、アドレス、モデル ID。API 401 または 404: キー、ベース URL、モデル ID の誤りでは各エラーテキストを順に説明しています。開く前に、このリストを確認してください:

チェックリスト

さらにデバッグする前に

設定の残りを見たいですか?CheapTokens ドキュメントには完全な API リファレンスがあり、DeepSeek ページにはモデルの制限が記載されています。同じパターンで別のツールをすでに使っていますか?Open WebUIと LangChainも同じ方法で接続できます: 1つのアドレス、1つのキー、1つのモデル ID です。