> ## Documentation Index
> Fetch the complete documentation index at: https://docs.laozhang.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# invalid_api_keyと404の対処：ベースURLの設定

> LaoZhang APIのキーで invalid_api_key、401、404が出るときの原因と、OpenAI・Anthropic・Gemini各SDKのベースURLの正しい設定方法を説明します。

`invalid_api_key` や404のエラーは、リクエストがLaoZhang APIに届いていないか、ベースURLのパスが誤っていることが原因のほとんどで、キー自体の問題であることはまれです。LaoZhang APIのキーは、LaoZhang APIのホストでのみ使えます。次のとおりに設定してください。

| 項目 | 内容 |
| - | - |
| OpenAI SDKのベースURL | `https://api.laozhang.ai/v1` |
| Anthropic SDKのベースURL | `https://api.laozhang.ai`（SDKが `/v1/messages` を付け足します） |
| Google Gen AI SDK | `base_url` を `https://api.laozhang.ai`、`api_version` を `v1beta` に設定 |
| 認証 | `Authorization: Bearer YOUR_LAOZHANG_API_KEY` |
| 簡単な確認 | `GET https://api.laozhang.ai/v1/models` |

## エラーから原因を探す

| 表示されるエラー | 考えられる原因 | 対処 |
| - | - | - |
| `Incorrect API key provided: sk-...` | LaoZhang APIのキーを `api.openai.com` に送っている | ベースURLを `https://api.laozhang.ai/v1` に変更する |
| LaoZhangのホストを使っているのに401 | キーが一部しかコピーされていない、空白が入っている、またはトークンが無効化・期限切れになっている | キーをコピーし直し、[トークン管理](https://api.laozhang.ai/token)でトークンを確認する |
| 404 Not Found | OpenAI SDKで `/v1` がない、またはAnthropic SDKで `/v1` を付けている | 上の表のパスと見比べる |
| リクエストのパスに `//` が入る | ベースURLの末尾に `/` がある、またはパスが二重に結合されている | 末尾のスラッシュを削除し、パスの組み立てはSDKに任せる |
| SSLエラー、接続エラー | `https://` がない、またはお使いのネットワークから既定のホストに接続できない | `https://` を付けるか、下の代替ホストを試す |

## SDKごとの設定

リクエストのパスの組み立て方はSDKごとに異なります。OpenAI SDKはリソース名だけを付け足すため、ベースURLに `/v1` が必要です。Anthropic SDKは `/v1/messages` を自分で付け足すため、`/v1` を付けると `/v1/v1/messages` になり、404になります。

> [tab] OpenAI SDK
>
> ```python theme={null}
> import os
> from openai import OpenAI
>
> client = OpenAI(
>     api_key=os.environ["LAOZHANG_API_KEY"],
>     base_url="https://api.laozhang.ai/v1",
> )
>
> response = client.chat.completions.create(
>     model="gpt-5.4-mini",
>     messages=[{"role": "user", "content": "こんにちは"}],
> )
> print(response.choices[0].message.content)
> ```

> [tab] Anthropic SDK
>
> ```python theme={null}
> import os
> import anthropic
>
> client = anthropic.Anthropic(
>     api_key=os.environ["LAOZHANG_API_KEY"],
>     base_url="https://api.laozhang.ai",  # /v1 は付けない
> )
>
> message = client.messages.create(
>     model="glm-5.2",
>     max_tokens=1024,
>     messages=[{"role": "user", "content": "こんにちは"}],
> )
> print(message.content[0].text)
> ```

> [tab] Google Gen AI SDK
>
> ```python theme={null}
> import os
> from google import genai
>
> client = genai.Client(
>     api_key=os.environ["LAOZHANG_API_KEY"],
>     http_options={"base_url": "https://api.laozhang.ai", "api_version": "v1beta"},
> )
>
> response = client.models.generate_content(model="gemini-3.8-flash", contents="こんにちは")
> print(response.text)
> ```

実行する前に、環境変数 `LAOZHANG_API_KEY` を設定してください。Anthropic形式に対応するモデルは、[Claudeプロトコル](https://docs.laozhang.ai/ja/api-reference/claude.md)のモデル一覧で確認できます。

## 環境変数で設定する

多くのツールはOpenAIの標準の環境変数を読み取るため、コードにベースURLを書かずに済みます。

```bash theme={null}
export OPENAI_API_KEY="YOUR_LAOZHANG_API_KEY"
export OPENAI_BASE_URL="https://api.laozhang.ai/v1"
```

URLを変更してもエラーが続く場合は、設定同士が上書きし合っていないか確認してください。

* コード、`.env` ファイル、シェルのそれぞれに、異なるURLが設定されている。
* サードパーティ製クライアントに、古いプロバイダーの設定が残っている。
* プロセスを再起動しておらず、古い環境変数を読み込んでいる。

サードパーティ製クライアントでは、「Custom API」や「OpenAI互換」のプロバイダーを探してください。APIのURLに `https://api.laozhang.ai/v1`、キーにLaoZhang APIのキー、モデルには[モデルと料金](https://docs.laozhang.ai/ja/models.md)の完全なモデルIDを入力します。

## 1回のリクエストで設定を確認する

```bash theme={null}
curl https://api.laozhang.ai/v1/models \
  -H "Authorization: Bearer $LAOZHANG_API_KEY"
```

`data` 配列が返れば、キーとホストはどちらも正しく、配列にはそのトークンで呼び出せるモデルが並びます。それでも401になる場合は、[トークン管理](https://api.laozhang.ai/token)で、トークンが有効で、期限が切れておらず、クォータが残っているか確認してください。新しいトークンを作成して試すのも有効です。

## 代替ホスト

3つのホストは、同じAPIキー、パス、パラメーターを受け付けます。変わるのはホスト名だけです。

* 既定：`api.laozhang.ai`
* ヨーロッパや北米のサーバーから直接接続する場合：`api-vip.laozhang.ai`
* `api.laozhang.ai` に接続できない場合：`api2.laozhang.ai`

全体の設定手順は、[API接続ガイド](https://docs.laozhang.ai/ja/api-manual.md)を参照してください。

## 解決しない場合

次の内容を添えて、[hi@laozhang.ai](mailto:hi@laozhang.ai) にメールしてください。

* リクエストの時刻とタイムゾーン
* リクエストURLの全体（キーを除く）と、使用しているSDK
* HTTPステータスと、エラーのボディの全文
* キーの先頭6文字と末尾4文字

APIキーの全体は送らないでください。キーがチャット、スクリーンショット、リポジトリに載ってしまった場合は、先に[APIキーの管理](https://docs.laozhang.ai/en/faq/token-management.md)の手順で失効させ、新しいキーに置き換えてください。

## 関連ページ

* [API接続ガイド](https://docs.laozhang.ai/ja/api-manual.md)
* [APIキーの作成・保管・ローテーション・失効](https://docs.laozhang.ai/en/faq/token-management.md)
* [モデルの利用可否の確認](https://docs.laozhang.ai/en/faq/model-availability.md)
* [Models API：利用可能なモデルIDの一覧](https://docs.laozhang.ai/en/api-reference/models.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.