ドキュメント
TypingMind
TypingMindにはカスタムモデル用のベースURLフィールドがありません。モデルごとに個別のエントリを作成し、完全なエンドポイントルート、モデルID、コンテキスト長、および自分で入力するヘッダーとしてキーを指定します。以下ではKunavo用のエントリと、1か月前には動かなかったものが現在ブラウザーから動作する理由を説明します。
Models → Add custom model:完全なEndpoint URL https://api.kunavo.com/v1/chat/completions、Bearerとキーを含むAuthorizationヘッダー、Model ID、コンテキスト長を指定 — モデルごとに1エントリを作成し、ブラウザから直接呼び出します。
Models → Add custom model → Create Manually
Name Kunavo · Claude Sonnet 5
Model ID claude-sonnet-5
Context Length 1000000
Authentication tab
API Type OpenAI Chat Completions API
Endpoint URL https://api.kunavo.com/v1/chat/completions
Authentication Type API Key via HTTP Header
Header Key Authorization
Header Value Bearer sk-kn-...
Capabilities tab tick only what you have checked (see below)
Request Options tab leave "Route requests via TypingMind Cloud" off
→ Test & Savehttps://api.kunavo.com/v1/chat/completionsです。TypingMindは何も追加しません。独自の入力例でもhttps://api.minimax.io/v1/chat/completionsなどの完全なルートを貼り付けています。そのため、https://api.kunavo.com/v1だけを指定すると、チャットリクエストは存在しないパスに送信されます。access-control-allow-origin: *と読み取り可能な応答を返しました。/v1/chat/completions、/v1/messages、/v1/modelsのいずれからも応答がありました。このエンドポイントでは、Route requests via TypingMind Cloudオプションは必要ありません。sk-kn-で始まります)。$10からクレジットを追加すると、呼び出しはその残高から支払われ、失敗した呼び出しは課金されません。ダッシュボードを開くと、TypingMind設定が表示されます。手順
/app/keysでキーを作成してコピーします。キーは一度だけ表示されます。- TypingMindで、左側のサイドバーにあるModelsを開き、Add custom modelをクリックします。Create Manuallyを選択したままにしてください。「Import JSON」と「Import OpenRouter」は別のソースから取り込むための項目です。
- Nameには任意の名前を、Model IDには
GET /v1/modelsに記載されているIDと完全に同じものを入力します(例:claude-sonnet-5)。次にContext Lengthを設定します。フォームには128000があらかじめ入力されています。TypingMindはこの値を使って送信する履歴の量を決めるため、モデル一覧ページを確認して実際のコンテキストウィンドウを設定してください。 - Authenticationタブで、API Typeを「OpenAI Chat Completions API」に設定し、完全なEndpoint URLを貼り付けます。Authentication Typeには「API Key via HTTP Header」を設定し、Header Keyに
Authorizationを、Header ValueにBearer sk-kn-...を入力します。これはBearerという語、半角スペース、キーの順です。 - Capabilitiesでは、機能を手動で選ぶか、Auto check capabilities on saveを有効にしたままにします。フォームによると、保存時に「いくつかのテストリクエスト」が送信され、少量のトークンが課金されます。任意で、下の表にある100万トークンあたりの料金をPricingに入力すると、TypingMindのコスト表示を実際の請求額に合わせられます。最後にTest & Saveをクリックします。
- モデルごとに繰り返してください。カスタムエンドポイントにプロバイダーレベルの設定はありません。Claude Sonnet、Claude Haiku、GPTモデルは、同じEndpoint URLとヘッダーを使う3つの個別のカスタムモデルです。
TypingMindのモデルドキュメントで2026年10月1日に確認しました。サードパーティの設定は変更されます。ここに記載されたフィールド名が表示内容と一致しなくなった場合は、このページではなく、そのページを正しい情報源としてください。
クライアントをデバッグする前に確認すること
1回のリクエストで、失敗の原因がエンドポイント、キー、設定ファイルのどれかを特定できます。これがJSONを返すなら、同じベースURLとキーがTypingMindで機能します。
# 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-..."フィールドに入力するモデルID
すべてのテキストモデルにはモデルIDでアクセスできます。現在の一覧はGET /v1/models、価格付きのカタログはモデルページにあります。料金は100万トークンあたりのUSDで、入力 / 出力の順です。
| モデル ID | Kunavo 入力 / 出力 | TypingMindでの位置付け |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | 長時間のチャットやドキュメントに適した日常使いのモデル — コンテキスト長 1000000 |
claude-haiku-4-5 | $0.70 / $3.50 | 簡単な質問やタイトル向けの低コストなサブモデル — コンテキスト長 200000 |
claude-opus-5 | $3.50 / $17.50 | 1回のチャットで難しい推論を慎重に使うモデル — コンテキスト長 1000000 |
その他の3つのAPIタイプ
実際のフォームのAPI Typeドロップダウンには、OpenAI Chat Completions API、OpenAI Responses API、Claude Messages API、Gemini APIがあります。Kunavoが対応しているのは最初の3つです。それぞれのEndpoint URLには、ルートを含む完全なURLが必要です。
- Claude Messages API — Endpoint URL
https://api.kunavo.com/v1/messages。TypingMind独自のClaude形式の例ではx-api-keyヘッダーを使っています。このルートでは、KunavoはそのヘッダーとAuthorization: Bearerのどちらも受け付けます。このルートで利用できるのはClaudeファミリーのIDのみです。 - OpenAI Responses API — Endpoint URL
https://api.kunavo.com/v1/responses。Bearerヘッダーは同じです。TypingMindのドキュメントにはこのタイプの実例がないため、完全なルートを指定する形式は他の3つの例からの推定であり、引用ではありません。 - Gemini API — このエンドポイントでは利用できません。Google独自のリクエスト形式を必要とするため、代わりにChat CompletionsタイプからGeminiモデルを利用してください。
これはTypingMind APIではありません
「TypingMind API」は通常、チャットインスタンスを管理するTypingMind Teamsインスタンス(custom.typingmind.com)のREST APIを指します。モデルのトークンを販売するものではなく、この設定とは関係ありません。カスタムモデルとは、TypingMindから、ユーザーが提供したキーを使って他社のエンドポイントを呼び出すものです。
請求は別々です
TypingMindのライセンス料金はアプリの利用料です。カスタムモデル経由で送信する各メッセージは、ヘッダー内のキーの所有者によってトークン単位で請求されます。ここでは、前払い残高からKunavoが請求します。ライセンスの各プランと、これらの料金で1か月チャットを利用した場合の費用については、TypingMindの料金とAPIコストで詳しく説明しています。
Test & Saveが失敗する場合
- 「POST /v1 is the base URL, not an endpoint」を伴う404(またはURLがホスト名で終わっている場合の「Not found: /」)— Endpoint URLにルートがありません。
/v1/chat/completions(これらのタイプでは/v1/messagesまたは/v1/responses)で終わる必要があります。2026年10月1日より前は、どちらの場合もHTMLページが返されていました。 - 「No such endpoint」を伴う404 — たとえば
/v1/chat/completionのように、ルートの綴りが間違っています。同じメッセージ内に、Kunavoが提供する最も近いルートが表示されます。 - 「Not found: /chat/completions. Kunavo's API lives under /v1」を伴う404 — ルートはありますが、
/v1がありません。Endpoint URLがhttps://api.kunavo.com/chat/completionsになっています。ルートの前に/v1を追加してください。(2026年10月1日に確認。それ以前は、同じ誤りでHTMLページが返されていました。) - 401「Missing or invalid API key」 — ヘッダーが正しくありません。Header Keyは
Authorization、値はBearerで始まる必要があります。または、キーが失効しています。 - モデルが利用できないというエラー — Model IDの綴りが、
GET /v1/modelsに記載されているものと一致していません。IDは小文字で、ハイフン区切りです。 - ブラウザーのコンソールにネットワークエラーまたはCORSエラーが表示される — Endpoint URLが
https://api.kunavo.comであり、ウェブサイトのドメインではないことを確認してください。CORSヘッダーを送信するのはAPIホストです。
よくある質問
TypingMindで自分のAPIキーを使ってカスタムモデルを追加するにはどうすればよいですか?
左側のサイドバーでModelsを開き、Add custom modelをクリックしてからCreate Manuallyを選びます。Name、正確なModel ID、Context Lengthを入力します。AuthenticationタブでAPI Typeを選択し、完全なEndpoint URLを貼り付けます。OpenAI互換プロバイダーの場合、URLの末尾は /v1/chat/completions です。Authentication TypeをAPI Key via HTTP Headerに設定し、Header KeyにAuthorization、Header ValueにBearerとキーを続けて入力します。Test & Saveをクリックしてください。これらのラベルは2026年10月1日に実際のアプリで確認したものです。TypingMindの旧ドキュメントでは、同じ手順が少し異なる表現で説明されています。
TypingMindにはベースURLと完全なエンドポイントのどちらを入力すればよいですか?
完全なエンドポイントです。このフィールド名はEndpoint URLです。TypingMindのドキュメントにあるすべての実例では、https://api.minimax.io/v1/chat/completions や、末尾が /anthropic/v1/messages のAzure URLのように、ルート全体を貼り付けています。TypingMindはパスを追加しません。そのため、https://api.kunavo.com/v1 のようなベースURLだけを指定すると、存在しないルートにリクエストが送られ、404が返されます。
TypingMindはブラウザーからKunavoを直接呼び出せますか?
はい。2026年9月29日にKunavoのAPIがCORSヘッダーの送信を開始して以来、可能です。TypingMindはウェブページ自体からモデルリクエストを送るため、エンドポイントがそのページのオリジンを許可する必要があります。2026年10月1日、typingmind.comからKunavoの /v1/chat/completions、/v1/messages、/v1/models に送信したリクエストは、読み取り可能な本文とともに access-control-allow-origin: * を返しました。これらのリクエストでは意図的に無効なキーを使ったため、ブラウザー経由の通信が可能であることは確認できますが、チャット全体が実行されたことを示すものではありません。
TypingMindのプロキシやTypingMind Cloud経由のルーティングは必要ですか?
Kunavoでは不要です。Request OptionsタブにはRoute requests via TypingMind Cloudの切り替え項目があり、フォームではブラウザーのCORS制限を回避するためにTypingMindのサーバー経由でリクエストをルーティングする機能と説明されています。KunavoのAPIはすでにブラウザーからの呼び出しを許可しているため、オフにしておけばブラウザーからエンドポイントへ直接リクエストが送られます。
KunavoはTypingMindでエンドツーエンドのテストを実施しましたか?
有効なキーを使ったテストは実施していません。2026年10月1日に確認したのは、実際のAdd Custom Modelフォームと、typingmind.comのページからKunavoに無効なキーを使って送信したブラウザーリクエストです。このリクエストはCORSヘッダー付きで読み取り可能な応答を返しました。TypingMindからKunavoへの補完、ストリーミング応答、ツール呼び出しは実行しておらず、Test & Saveボタンも押していません。エンドツーエンドの確認には、ご自身でTest & Saveを実行し、最初のメッセージを送信してください。