ブログに戻る

ツールと連携ガイド

OpenCode を CheapTokens に接続する方法(opencode.json)

CheapTokens を OpenAI 互換プロバイダーとして OpenCode に追加します。キーには /connect、モデルには opencode.json、確認には /models を使用します。

投稿者: CheapTokens Team公開日 更新日 読了時間 5 分

opencode.json のカスタムプロバイダーを通じて CheapTokens API に接続された OpenCode
このページの内容
  1. 必要なもの
  2. ステップ 1. /connect でキーを保存する
  3. ステップ 2. opencode.json でプロバイダーを記述する
  4. 代わりにキーを環境変数に保持する(任意)
  5. ステップ 3. 動作を確認する
  6. どの CheapTokens モデルを選ぶか
  7. うまくいかない場合
  8. 次のステップ

OpenCode を CheapTokens に接続するには、カスタムの OpenAI 互換プロバイダーを追加します。/connect で API キーを保存し(プロバイダー ID は cheaptokens)、次に opencode.json でベース URL https://api.cheaptokens.dev/v1 を指定してプロバイダーを記述します。その後、CheapTokens のモデルが /models に表示されます。

このガイドは OpenCode のプロバイダーのドキュメントに従っています(ページ更新日: 2026年10月20日、確認日: 2026年10月22日)。同じ方法はこのシリーズの他のツールでも使えます: Cline、Aider、Kilo Code。

必要なもの#

  • OpenCode がインストールされていること(お使いのプラットフォームのドキュメントを参照)。
  • CheapTokens の API キー。アカウントで作成し、残高をチャージしてください。1つの残高ですべてのモデルをカバーします。基本は CheapTokens ドキュメントにあります。
  • API の基本情報:
    • ベース URL: https://api.cheaptokens.dev/v1
    • 互換性: OpenAI Chat Completions と Anthropic Messages
    • 以下で使用するモデル ID: deepseek-ai/DeepSeek-V4-Flash-0731(380K コンテキスト、最大 32,768 出力トークン)。モデル ID は CheapTokens ドキュメントに記載されています。プロバイダーによって名前が異なるため、そこから ID をコピーしてください。

ステップ 1. /connect でキーを保存する#

  1. プロジェクトで OpenCode を起動し、/connect を実行します。
  2. Other までスクロールします。
  3. 一意のプロバイダー ID を入力します: cheaptokens。
  4. CheapTokens の API キーを貼り付けます。

このステップでは認証情報を保存するだけです。OpenCode はまだプロバイダーのアドレスやモデルを認識していません。そのために opencode.json があります。

ステップ 2. opencode.json でプロバイダーを記述する#

opencode.json を作成または編集し、プロバイダーを追加します。provider のプロバイダー ID は、/connect で入力したものと一致している必要があります。

json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "cheaptokens": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "CheapTokens",
      "options": {
        "baseURL": "https://api.cheaptokens.dev/v1"
      },
      "models": {
        "deepseek-ai/DeepSeek-V4-Flash-0731": {
          "name": "DeepSeek-V4-Flash",
          "limit": {
            "context": 380000,
            "output": 32768
          }
        }
      }
    }
  }
}

各部分の役割:

  • npm — @ai-sdk/openai-compatible は /v1/chat/completions を使用するエンドポイント用のパッケージで、CheapTokens が公開しているものです。(OpenCode は /v1/responses 上に構築されたエンドポイントには @ai-sdk/openai を使用します。)
  • name — OpenCode のインターフェースに表示されるラベル。
  • options.baseURL — CheapTokens の API アドレス。
  • models — モデル ID をキーとし、その中の name は表示名です。
  • limit.context / limit.output — 任意。モデルのコンテキストウィンドウと最大回答長を OpenCode に伝えます。

代わりにキーを環境変数に保持する(任意)#

OpenCode の認証情報ストアにキーを保持したくない場合は、ドキュメントが推奨する {env:VARIABLE} 構文で apiKey を options に追加します:

json
"options": {
  "baseURL": "https://api.cheaptokens.dev/v1",
  "apiKey": "{env:CHEAPTOKENS_API_KEY}"
}

次に、シェルで CHEAPTOKENS_API_KEY をエクスポートします。実際のキーをリポジトリにコミットしないでください。キーに不慣れな場合は、API キーとは何か、安全に保存する方法をお読みください。

ステップ 3. 動作を確認する#

/models を実行し、CheapTokens プロバイダーの下で DeepSeek-V4-Flash を選択します。次に短いプロンプトを送信します。例: 「このリポジトリの役割を3文で要約してください。」正常な回答が返れば、ベース URL、キー、モデル ID がすべて正しいことになります。

どの CheapTokens モデルを選ぶか#

models には好きなだけエントリを追加できます。それぞれが上記のようなブロックで、独自の ID を持ちます。

モデル モデル ID コンテキスト 最大出力 向いている用途
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731 380K 32,768 エージェント型コーディングループ: 長い回答、時間帯を問わず一定価格
GLM-5.3-Flash zai-org/GLM-5.3-Flash 390K 8,192 大きなコンテキストを使う汎用コーディング
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7 180K 8,192 OpenRouter の参考価格に対して最も低い価格

多くのリクエストをループで送信する OpenCode セッションでは、DeepSeek-V4-Flash が良いデフォルトです。出力は OpenRouter の参考価格より安く、回答は最大 32,768 トークンに達し、価格にピーク時間帯がありません。MiniMax-M2.7 も入力と出力の両方で OpenRouter の参考価格より安いです。GLM-5.3-Flash の出力も OpenRouter の参考価格より安いです。現在の価格(ライブで確認済み、古くならない数値):

モデル コンテキスト 入力 $/1M 出力 $/1M OpenRouter 入力 OpenRouter 出力
GLM-5.3-Flash reasoning 390K $0.02 $0.04 $0.0413 $0.0758
DeepSeek-V4-Flash 380K $0.015 $0.10 $0.0475 $0.1568
MiniMax-M2.7 180K $0.05 $0.15 $0.30 $1.20

価格は100万トークンあたりのUSD表記です。OpenRouterの数値は比較用であり、変更される可能性があります。

作業セッションを見積もるには、例えば 100,000 入力トークンと 5,000 出力トークンのリクエストを 20 回:

モデル コスト OpenRouter
GLM-5.3-Flash $0.044 $0.0902
DeepSeek-V4-Flash $0.04 $0.111
MiniMax-M2.7 $0.115 $0.72

合計 2,000,000 入力トークンと 100,000 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。

詳細はすべての価格と DeepSeek ページをご覧ください。

うまくいかない場合#

  • /models にプロバイダーまたはモデルが表示されない。 opencode.json が有効な JSON であること(末尾のカンマがないこと)と、provider の下のキーが /connect で入力した ID と完全に一致することを確認してください。両方とも正しい場合は、OpenCode を再起動します。
  • 401 / 認証エラー。 /connect を再実行してキーを再度貼り付けるか、OpenCode を起動するシェルで CHEAPTOKENS_API_KEY 変数を確認してください。
  • 404 または「model not found」。 models のモデル ID は、ベンダープレフィックス(deepseek-ai/…)を含め、CheapTokens の ID と文字単位で一致している必要があります。
  • 接続エラー。 ベース URL は /v1 で終わり、余分なパスを含まないようにしてください。一般的な接続エラーを参照してください。
  • 「Not enough tokens」。 残高をチャージしてください。エラーの意味を参照してください。

次のステップ#

これで OpenCode が CheapTokens 上で動作し、すべてのモデルに1つの残高で対応できます。キーを取得して、CheapTokens ドキュメントから最初の呼び出しを行ってください。