|

Zedでモデルを切り替えたい?OpenAI互換エンドポイントでAPIYIに接続:2種類のProvider設定

Zedでモデルを切り替えたい?OpenAI互換エンドポイントでAPIYIに接続:2種類のProvider設定

著者注:Zed の 3 つの Agent 経路を整理し、OpenAI-compatible と Anthropic-compatible の 2 種類のカスタム Provider で APIYI を Zed に接続する方法を説明します。あわせて Base URL、モデル ID、料金、トラブルシューティングの要点も解説します。

Zed の Agent パネルや Inline Assistant でコードを書きながら別のモデルに切り替えたいのに、設定画面には LLM Providers、External Agents、ターミナルスレッドといくつもの入口があり、APIキーをどこに入力すればよいのかわからない。さらによくあるのが、サードパーティ製ゲートウェイを設定したものの、404 や認証失敗がずっと返ってくるケースです。本記事では、Zed のカスタム Provider(OpenAI-compatible / Anthropic-compatible)でサードパーティのモデルゲートウェイに接続するための完全な手順を紹介します。APIYI を例に、設定フローを最後までたどっていきます。

これは「設定をコピー&ペーストすれば終わり」というだけのクイックリファレンスではありません。まず Zed の 3 つの AI 経路について、それぞれモデル接続がどこまで担うのかという境界を整理し、そのうえで実際にそのまま進められる 2 つのルートを示します。Base URL に /v1 を付けるときと付けないときの違い——最も間違えやすいこのポイント——は別途詳しく解説します。

この記事の価値:この記事を読み終えれば、自分が変更すべき設定レイヤーを判断でき、5分以内に Zed Agent で claude-opus-5-5 や claude-sonnet-5-5 といったモデルを使えるようになります。問題が起きたときも、まず何を確認すべきかがわかります。

zed-custom-llm-provider-openai-compatible-apiyi-ja-image-0


Zed のモデル切り替えの要点:まず3つのAgent経路を区別する

Zedは、Atom / Tree-sitterの主要メンバーが開発した高性能なマルチプレイヤー協働エディターです。2026-11-13時点で、GitHubリポジトリ zed-industries/zed は約94,884スター(GitHub API調べ)です。公式リリースページによると、2026-11-11の安定版は1.28.1、同日のPreviewは1.29.1です。macOS、Linux、Windows向けは直接ダウンロードできますが、Web版はまだ正式には利用できません。

Zedでモデルを切り替える前に、まず理解しておきたいことがあります。公式ドキュメントではAI機能を3つの経路に分けており、経路ごとにモデルの接続方法と認証方法が異なります。設定する場所を間違えると構成は有効にならず、キーが別の経路から読み取られることもありません。

経路 モデルの取得元 認証の管理主体 主な用途
Zed Agent LLM Providers(Zedホスト型、ベンダーキー、サブスクリプション、ゲートウェイ、ローカルモデル) Zed本体。キーはシステムキーチェーンに保存 Agentパネル、Inline Assistant、組み込みツール / profiles / skills / MCP
External Agents(ACP) 外部Agentが自らモデルを選択 外部Agentが自ら管理 Zedスレッド内でClaude Agent、Codex、OpenCode、Copilot、Cursorなどを実行
Terminal Threads あなたが実行するCLI / TUIが決定 CLI自身の設定 ターミナルスレッドで各種Agent CLIを直接実行

Zed Agent と External Agent の接続境界

「Zed Agentのモデルを切り替える」とは、LLM Providers、つまりAPI Accessの層を設定することを指します。これが本記事の中心テーマです。公式がファーストクラスとしてサポートしているベンダーはAnthropic、OpenAI、Google AI、Mistral、DeepSeek、xAI、OpenCodeで、さらにAnthropic-compatibleとOpenAI-compatibleという2種類のカスタムエンドポイントも提供しています。サードパーティ製ゲートウェイは、この2種類のカスタムエンドポイント経由で接続します。

パネル内でClaude AgentやOpenCodeを使いたいだけなら、それはExternal Agentに属し、Agent Client Protocol(ACP)を経由します。この場合、スレッドはZedがホストしますが、ランタイム、認証、モデル選択は通常、外部Agent側が管理します。LLM Providersに入力したキーは自動的に共用されるわけではなく、Claude Agentは自身のスレッドで/loginを実行する必要があります。外部Agentはコマンドパレットのzed: acp registryからレジストリを開いてインストールできます。公式ドキュメントによると、ZedはExternal Agentsに対して別途課金せず、請求はAgent提供元で発生します。

zed-custom-llm-provider-openai-compatible-apiyi-ja-image-1


Zed カスタムプロバイダー設定の要点

2種類のカスタムエンドポイントの違いは、主にリクエスト形式にあります。OpenAI互換はChat Completions、Anthropic互換はMessages API(/v1/messages)を使用します。この違いはBase URLの書き方を直接左右し、Prompt Cache課金を利用できるかどうかも決まります。

設定項目 OpenAI互換 Anthropic互換
リクエスト形式 /v1/chat/completions /v1/messages
APIYI api_url https://api.apiyi.com/v1 https://api.apiyi.com(/v1 を付けない)
モデルフィールド available_models[].name + max_tokens available_models
機能スイッチ デフォルトは tools=true、images=false、chat_completions=true capabilities.prompt_caching を設定可能
キャッシュ課金 APIYIのドキュメントでは無効と記載 ネイティブのMessages形式では有効
適した用途 1つのプロバイダーで複数社のモデルをまとめたい 主にClaudeを使用、長いコンテキスト、キャッシュが必要

Base URL が片方だけ /v1 を付ける理由

APIYI Base URL FAQ(ドキュメント確認 2026-11-13)によると、OpenAI互換クライアントは api_url の後ろに直接 /chat/completions を連結するため、api_url は /v1 の階層まで書く必要があります。Anthropic側のクライアントは自分で /v1/messages を連結するので、ルートドメインしか指定できません。https://api.apiyi.com/v1 と書いてしまうと、最終的なリクエストは /v1/v1/messages になり、そのまま404が返ります。

さらに2点、注意が必要です。ZedのAPIキーはシステムのキーチェーンに保存され、settings.jsonには書き込まれません。対応する環境変数が空でない場合、環境変数がキーチェーンより優先されて有効になります。また、Responsesインターフェースのみをサポートするモデルでは、capabilities.chat_completions を false に設定する必要があります。そうしないとZedがChat Completionsとして呼び出してしまいます。


Zed で APIYI に接続するクイックスタート

以下の2つのルートは、どちらか一方だけを選んでも、両方設定しても構いません。モデルセレクターで切り替えられます。作業を始める前にキーを準備しておきましょう。

🚀 クイックスタート:ログイン後、APIYI のトークンページ api.apiyi.com/token でトークンを作成してください。Zed 専用に1つ作成するのがおすすめです。使用量を確認しやすく、いつでも失効させられます。クイックスタートドキュメント docs.apiyi.com/getting-started には skill.md / llms.txt も用意されているので、Agent にプラットフォームの説明を読み込ませるのも簡単です。

ルート A:OpenAI-compatible エンドポイントで Zed に接続

  1. Agent 設定を開きます:コマンドパレットで agent: open settings を実行します。バージョンによって画面上の入口名が多少異なる場合があるので、AI / Agent 設定ページの LLM Providers ブロックを基準にしてください。
  2. LLM Providers ブロックで Add Provider をクリックし、種類として OpenAI-compatible を選びます。
  3. Provider 名は任意で付けます。例えば apiyi にすると、settings.json の language_models.openai_compatible.apiyi に対応します。
  4. API URL には https://api.apiyi.com/v1 を入力します。ここは必ず /v1 を付けてください。APIYI の OpenAI 互換ページに記載されている書き方でもあります。
  5. API Key には先ほど作成したトークンを貼り付けます。Zed がそれをシステムのキーチェーンに保存します。
  6. モデルを追加します:name には APIYI のモデル一覧表にある実際の ID を入力します。例えば claude-opus-5-5、claude-sonnet-5-5 などで、claude-fable-5-2 を加えることもできます。max_tokens はモデルのドキュメントに従って入力してください。不明な場合はまず控えめな値にしておき、動作確認できたら大きくしましょう。
  7. 機能スイッチはデフォルトのままで構いません(tools=true)。画像を送る必要が出てきたら、そのときに手動で images をオンにしてください。
  8. Agent パネルに戻り、モデルセレクターで apiyi またはモデル名を検索します。最近のバージョンのモデルセレクターはあいまい検索に対応しています。選択したらメッセージを1通送って検証しましょう。

このルートの利点は、1つの Provider で複数のモデルを扱えることです。APIYI のドキュメントによると、OpenAI 互換エンドポイント /v1/chat/completions は、モデル文字列を1箇所変更するだけでモデルを切り替えられます。

ルートB:Anthropic互換エンドポイントでZedに接続

  1. 同様に LLM Providers → Add Provider に進み、種類として Anthropic-compatible を選択します。
  2. API URL には https://api.apiyi.com を入力し、ルートドメインのみを書き、/v1 は付けません。実際のリクエストは、APIYI の Anthropic ネイティブエンドポイント https://api.apiyi.com/v1/messages に送られます。
  3. 同じトークンを貼り付けるか、専用のトークンを新たに作成します。
  4. available_models に claude-opus-5-5、claude-sonnet-5-5 などのIDを追加します。
  5. 長いコンテキストの会話でキャッシュを効かせたい場合は、capabilities.prompt_caching をオンにします。APIYI の Claude 機能ページの説明によると、キャッシュの課金はネイティブ Messages 形式でのみ有効です。
  6. モデルセレクターでそのモデルを選択し、メッセージを1通送ってテストします。

💡 選択のヒント:日常的に Claude を中心に使い、会話が長く、同じファイル群を何度も読み返すことが多いなら、ルートBのほうがお得です。複数のモデルを頻繁に切り替える必要があるなら、ルートAのほうが手軽です。2つのルートは同じ APIYI トークンを使えるので、Zed のモデルセレクターでタスクに応じて切り替えられます。

zed-custom-llm-provider-openai-compatible-apiyi-ja-image-2

Claude モデル価格リファレンス(データ日付 2026-11-13)

以下のデータは APIYI のモデル総合表に基づくもので、2026-11-13 にドキュメントを照合済みです。単位は米ドル / 100万トークンあたり、従量課金制です。

モデル ID 入力 出力 キャッシュ読み取り 対応エンドポイント 利用可能プラットフォーム
claude-opus-5-5 $4 $20 $0.2 chat + messages APIYI apiyi.com
claude-opus-5-5-thinking opus-5-5 と同じ opus-5-5 と同じ opus-5-5 と同じ 総合表を基準とする APIYI apiyi.com
claude-sonnet-5-5 $2 $10 $0.1 総合表を基準とする APIYI apiyi.com
claude-fable-5-2 $8 $40 $0.2 総合表を基準とする APIYI apiyi.com

型番と価格はプラットフォームのモデル一覧を基準とします。設定前に docs.apiyi.com/models を開いて、その日の数字とグループを確認してください(総合表の claude-opus-5-5 列には ClaudeCode、Claude_Reverse、Claude_Enterprise、Default、SVIP などのグループが記載されています)。

claude-opus-5-5 の利用制限について、APIYI のリリース情報(2026-09-23)では3点が挙げられています。思考を disabled に設定できないこと、tool_choice を any / tool に設定すると 400 が返ること、effort のデフォルトが medium であることです。Zed Agent でツール呼び出し時に 400 が発生する場合は、まずこれらの項目を確認してください。


Zed カスタムエンドポイントのよくあるエラーと対処

カスタムプロバイダーでエラーが発生するとき、問題のほとんどは URL・キー・モデル名の3点に集中しています。次の表は発生頻度の高い順に並べているので、上から順に確認してみてください。

現象 よくある原因 対処方法
404 Not Found Anthropic-compatible に /v1 を入力してしまい、パスが /v1/v1/messages になっている ルートドメイン https://api.apiyi.com に戻す
404 / パスが不正 OpenAI-compatible で /v1 が抜けている https://api.apiyi.com/v1 に変更する
401 / 認証失敗 トークンが誤っている、削除済み、または環境変数がキーチェーンの設定を上書きしている api.apiyi.com/token で再確認し、競合している環境変数をクリアする
モデルが存在しない ID の綴り間違い、またはエイリアスを使用している docs.apiyi.com/models から元の ID をコピーする
400(ツール呼び出し) tool_choice が any / tool になっている、または思考の無効化を試している 公開時の最新説明に合わせて調整する
画像が無効 OpenAI-compatible ではデフォルトで images=false capabilities で images を有効にする
Responses のみ対応のモデルでエラー 依然として Chat Completions で呼び出している capabilities.chat_completions を false に設定する

🎯 トラブルシューティングのヒント:404 が出たら、まず Zed 設定の api_url と APIYI Base URL FAQ(docs.apiyi.com/faq/base-url-config)を一字一句照らし合わせてください。ほとんどの問題は /v1 を1回多く書いたり、逆に書き忘れたりしているだけです。

zed-custom-llm-provider-openai-compatible-apiyi-ja-image-3

Zed のカスタムプロバイダー利用に関するリスク

  • 公式ホスティングではありません:OpenAI-compatible / Anthropic-compatible のカスタムプロバイダーは Zed が提供する汎用的な接続機能であり、サードパーティのゲートウェイは Zed の公式ホスティングサービスには含まれません。サービスに問題が発生した場合は、ゲートウェイの提供元に連絡する必要があります。
  • APIキーと課金は自己責任です:トークンと使用量の課金はすべてご自身のアカウント内で発生します。Zed 専用のトークンを作成し、定期的に使用量を確認することをおすすめします。また、APIキーを settings.json に書いてリポジトリにコミットしないでください。Zed はデフォルトでキーチェーンに保存するため、このリスクはもともと低く抑えられています。
  • External Agent の規約は提供元に帰属します:Claude Agent や Codex などの外部 Agent のサブスクリプション、クォータ、利用規約はそれぞれの提供元が定めるものであり、Zed Agent のプロバイダー設定とは独立しています。
  • バージョンによる差異:本記事のUI記述は 1.28.x / 1.29.x の公式ドキュメントおよびリリース情報に基づいています(確認日 2026-11-13)。以降のバージョンではメニュー名が変更される可能性があります。

よくある質問(FAQ)

Q1:Zed の OpenAI 互換エンドポイントとは何ですか?

これは LLM Providers に含まれるカスタムプロバイダーの一種です。サーバー側が Chat Completions インターフェースを実装していれば、api_url とモデルリストを指定して Zed Agent に接続できます。Zed 公式の対応を待つ必要はありません。

Q2:LLM Providers に入力したキーは Claude Agent でそのまま使えますか?

いいえ、使えません。Claude Agent は External Agent に分類され、認証はそれ自体で管理するため、そのスレッド内で `/login` を実行する必要があります。LLM Providers のキーは Zed Agent 専用です。

Q3:OpenAI-compatible と Anthropic-compatible はどちらを選ぶべきですか?

メインで Claude を使い、キャッシュ課金を利用したい場合は Anthropic-compatible を選んでください。1つのプロバイダーで複数社のモデルをまとめて扱いたい場合は OpenAI-compatible を選んでください。APIYI のドキュメントによると、キャッシュ課金はネイティブの Messages 形式でのみ有効です。

Q4:モデルIDには何を入力すればよいですか?

プラットフォームの型番一覧に記載されている元のIDを入力してください。例えば `claude-opus-5-5`、`claude-sonnet-5-5`、`claude-fable-5-2` です。docs.apiyi.com/models から直接コピーすることをおすすめします。手入力でミスすると「モデルが存在しない」エラーにつながります。

Q5:設定後ずっと404になる場合はどう切り分けますか?

まず `/v1` を確認してください。OpenAI-compatible では付ける必要があり、Anthropic-compatible では付けてはいけません。パスに問題がなければ、モデルIDが APIYI の型番リストと一致しているか確認します。

Q6:APIキーはどこに保存されますか?リポジトリに同期されますか?

Zed はキーをシステムのキーチェーンに保存し、settings.json には書き込みません。そのため設定ファイルを共有してもキーが漏れることはありません。注意点として、同名の環境変数が空でない場合はキーチェーンより優先されます。401 を調査する際は、環境変数の確認も忘れないでください。

Q7:この設定にはどのような既知の制限がありますか?

OpenAI-compatible はデフォルトで画像機能がオフになっています。`claude-opus-5-5` の思考は無効化できず、`tool_choice` を any / tool に設定すると 400 が返ります。また、カスタムプロバイダーは Zed 公式のホスティングサービスではないため、安定性はゲートウェイ側に依存します。


Zed と APIYI 連携のポイント Key Takeaways

  • まず経路を分ける:Zed Agent は LLM Providers を使い、External Agent は自身で認証を管理します。
  • 2種類のエンドポイント:OpenAI-compatible は chat、Anthropic-compatible は messages を使います。
  • URL ルール:OpenAI 互換は /v1 を入力し、Claude ネイティブはルートドメインのみを入力します。
  • モデル ID:APIYI のモデル一覧表に従って、claude-opus-5-5 などの元の ID をコピーします。
  • キャッシュ課金:キャッシュが必要な場合は Anthropic-compatible を使い、prompt_caching を有効にします。
  • トラブルシューティングの順序:/v1、トークン、モデル ID、ツールパラメータの順に確認します。
  • 始め方:api.apiyi.com/token で専用トークンを作成すれば、5分で設定が完了します。

まとめ

Zed でモデルを切り替える際の鍵は、どの層を変更するのかを確認することです:

  1. Zed Agent のモデル切り替え:LLM Providers で Add Provider を使って OpenAI-compatible または Anthropic-compatible のエンドポイントを追加します。
  2. External Agent:Claude Agent、OpenCode などは自身で認証を行うため、APIキーは Zed Agent と共有されません。
  3. Base URL:OpenAI 互換は https://api.apiyi.com/v1、Anthropic 互換は https://api.apiyi.com を入力します。/v1 を付け足しても省いても 404 になります。

設定の前に、まず docs.apiyi.com/models でその日のモデルと価格を確認し、その後トークンページから Zed 専用の APIキーを作成することをおすすめします。まず claude-sonnet-5-5 で動作確認を行い、その後タスクに応じて claude-opus-5-5 に切り替えてください。APIYI apiyi.com を通じて、同じトークンで2つの Provider の効果を比較できます。


📚 参考資料

  1. Zed GitHub リポジトリ:ソースコードとスター数の観測(2026-11-13)
  2. リンク:github.com/zed-industries/zed
  3. 説明:ライセンスは主に GPL-3.0-or-later で、Apache-2.0 のコンポーネントを含みます

  4. Zed AI Overview:3つのAI経路に関する公式説明

  5. リンク:zed.dev/docs/ai/overview
  6. 説明:Zed Agent、External Agents、Terminal Threads それぞれの範囲

  7. Zed Use API Access:カスタムProviderの設定

  8. リンク:zed.dev/docs/ai/use-api-access
  9. 説明:OpenAI-compatible / Anthropic-compatible のフィールドとキーチェーンへの保存

  10. Zed External Agents:ACP外部Agent

  11. リンク:zed.dev/docs/ai/external-agents
  12. 説明:Claude Agent、Codex、OpenCode などの接続方法

  13. Zed Releases:バージョン更新履歴

  14. リンク:zed.dev/releases/stable
  15. 説明:1.28.1 安定版および Preview 版の更新内容

  16. APIYI モデル一覧表:モデルIDと価格

  17. リンク:docs.apiyi.com/models.md
  18. 説明:入力/出力/キャッシュ読み取りの価格は、その日のリストを基準とします

  19. APIYI Base URL 設定FAQ:/v1 のルール

  20. リンク:docs.apiyi.com/faq/base-url-config.md
  21. 説明:OpenAI互換とClaudeネイティブにおける Base URL の記述方法の違い

  22. APIYI Claude 機能ページ:ネイティブと互換エンドポイント

  23. リンク:docs.apiyi.com/api-capabilities/claude.md
  24. 説明:キャッシュ課金は Messages 形式でのみ有効です

  25. APIYI claude-opus-5-5 リリース情報:利用上の制限

  26. リンク:docs.apiyi.com/live/2026-09/claude-opus-5-5.md
  27. 説明:thinking、tool_choice、effort のデフォルト値に関する説明

作者:APIYI 技術チーム
技術サポート:設定で問題が発生した場合は、docs.apiyi.com のドキュメントセンターをご参照いただくか、APIYI 公式サイトのトップページからお問い合わせください

関連記事

類似投稿