ツールと連携ガイド
OpenHands を CheapTokens に接続する: モデル、Base URL、キー
OpenHands の Settings > LLM(Advanced)で3つのフィールドを埋めれば、CheapTokens のモデルでエージェントを動かせます。よくある3つの失敗の読み方も解説します。

このページの内容
CheapTokens のモデルで OpenHands を動かすには、Advanced をオンにしたうえで Settings > LLM の3つのフィールドを埋めるだけです。Custom Model(openai/)、Base URL(https:/)、API Key です。設定はこれで全部です。このページの残りは、各フィールドの意味と、どれかが間違っているときの症状についてです。
フィールド名とモデル文字列のルールは、OpenAI 互換エンドポイントに関する OpenHands のドキュメントページに基づきます(2026年11月8日時点で確認。ページに日付やバージョンの記載はありません)。同日時点の最新 OpenHands リリースは v1.37.0(2026年11月6日)です。お使いのビルドでラベルが少し違って見える場合は、位置で判断してください。モデル、Base URL、キーの順です。
Settings を開く前に#
手元に3つ揃えておくと、往復の手間が省けます。キー、モデル id、そして Settings にアクセスできることです。
チェックリスト
設定の準備はできましたか?
キーと Base URL が初めての方は、base_url とは何か、切り替え方 で数分で把握できます。GET /v1/models でモデルを一覧する では、id を自分で調べる方法を紹介しています。
3つのフィールド#
Settings > LLM を開き、Advanced をオンにします。Base URL フィールドは Advanced トグルの下にあります。

ドキュメントではモデルのルールを次のように説明しています。Custom Model は openai/ にモデル名を続けたもので、独自のプレフィックスを持つプロキシを経由する場合は openai/ です。openai/ より後ろの部分がモデル名です。CheapTokens では id が deepseek- なので、完全な文字列は openai/ になります。
テーブルを右にスクロールしてください →
| フィールド | 値 |
|---|---|
| Custom Model | openai/ |
| Base URL | https:/ |
| API Key | あなたの CheapTokens キー |
エージェントにこのモデルを選ぶ理由は? DeepSeek-V4-Flash は 380K のコンテキストウィンドウと、回答あたり最大 32,768 の出力トークンを持ち、価格は時間帯を問わず一定なので、長いセッションでもピーク時に高くなりません。コーディングエージェントは各ステップで大量のコンテキストを再送しますが、そのためのウィンドウです。
GLM がよければ、同じフィールドに openai/(390K コンテキスト、最大 8,192 出力トークン)を入れるだけで、他は何も変えません。残高もキーも Base URL も同じです。
まず OpenHands の外で各要素を確認する#
エージェントのせいにする前に、同じ URL、キー、id でリクエストを1回送ってください。これが通れば、残る問題はフィールドの入力の仕方にあります。
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-ai/DeepSeek-V4-Flash-0731","messages":[{"role":"user","content":"Say ready"}],"max_tokens":20}'何が欠けているかに注目してください。model の値に openai/ はありません。このプレフィックスは OpenHands 用であり、API 用ではありません。応答には prompt_tokens と completion_ を含む usage ブロックが付きます。これは後でエージェントのセッション全体で合算されて表示される、同じ2つの数値です。
比較する
モデル文字列: 1つのプレフィックス、2つの結果
id のみ
deepseek- — curl と API 用の形式。
プレフィックス付き
openai/ — Custom Model フィールド用の形式。
フィールドが間違っているときの症状#
3つのフィールドのどれも原因になり得ます。

- キーが間違っている。 API が 401 を返します。キーがない、打ち間違えている、コピー時に末尾にスペースが付いている、のいずれかです。
- Base URL が間違っている。 リクエストが誤った場所に送られ、404 か接続エラーになります。アドレスは
/v1で終わり、余分なパスを含んではいけません。 - モデル文字列が間違っている。 プレフィックスがないか、その後の id が完全な id ではありません(API は完全な
gateway_idのみを受け付け、deepseek-のような短い id は受け付けません)。v4- flash- 0731
401 と 404 の詳しい理由は API 401 か 404: キー、Base URL、モデル id のどれが間違いか にあります。
自分で試す試してみましょう: キーは正しく、URL も正しいのに、エージェントが最初のステップで失敗します。どのフィールドを開きますか?答えを表示
Custom Model フィールドです。openai/ で始まっていること、その後の id が上の表とまったく同じ綴りであることを確認してください。キーと URL は curl で確認しやすいほうです。
1セッションのコスト#
エージェントは、あなたの1行のタスクではなく、各ステップでコンテキスト全体に対して課金されます。OpenHands がバグを40ステップかけて修正し、各ステップで約30,000トークンを送信し、1,500トークンを書き戻すとします。DeepSeek-V4-Flash では1ステップが $0.0006、40ステップ分は以下で、他のモデルや OpenRouter と並べて示しています。
| モデル | 入力 $/1M | 出力 $/1M | リクエストあたり | 40 リクエスト | OpenRouter、40 リクエスト |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.00066 | $0.0264 | $0.0452 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0006 | $0.024 | $0.0924 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.0017 | $0.069 | $0.828 |
リクエストあたり 30,000 入力トークンと 1,500 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。
入力と出力を合計すると、このワークロードでは DeepSeek-V4-Flash が OpenRouter より安くなります。前提は自由に変えてください。小さな修正なら10ステップ、大きなリファクタリングなら100ステップかもしれません。現在の価格は料金ページに、モデルページは安価な DeepSeekにあります。
すでに別のプロバイダーで OpenHands を使っていますか?#
その場合は3つの値、Custom Model、Base URL、API Key を入れ替えるだけです。プロジェクトの他の部分は何も変わらず、同じ方法で元に戻せます。API 自体の手順ごとの接続方法は CheapTokens ドキュメントに、別のツールでの同様の設定は Aider を接続するにあります。



