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

# モデルの検出（AI SDK）

> AI SDK プロバイダーで使用する最新のモデル ID を取得する方法。

Vercel AI SDK プロバイダーには組み込みの `listModels()` ヘルパーがありません。次のいずれかの方法でモデル ID を最新の状態に保てます。

## 方法 1: Gateway API から取得する

```ts theme={null}
const response = await fetch("https://api.phaseo.app/v1/models", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.PHASEO_API_KEY}`,
  },
});

const filteredResponse = await fetch(
  "https://api.phaseo.app/v1/models?provider=anthropic&status=active,deprecated&availability=all",
  {
    headers: {
      Authorization: `Bearer ${process.env.PHASEO_API_KEY}`,
    },
  },
);

if (!response.ok || !filteredResponse.ok) {
  throw new Error("Failed to load models");
}

const models = await response.json();
const filteredModels = await filteredResponse.json();
console.log(models, filteredModels);
```

## 方法 2: 公式 TypeScript SDK を使う

```ts theme={null}
import Phaseo from "@phaseo/sdk";

const client = new Phaseo({ apiKey: process.env.PHASEO_API_KEY! });
const models = await client.getModels({
  provider: ["anthropic"],
  status: ["active", "deprecated"],
  availability: "all",
});

console.log(models);
```

## 検出した ID を AI SDK で使う

```ts theme={null}
import { phaseo } from "@phaseo/ai-sdk-provider";
import { generateText } from "ai";

const result = await generateText({
  model: phaseo("openai/gpt-5-nano"),
  prompt: "Hello from a discovered model ID.",
});

console.log(result.text);
```

## 補足

* モデル ID は `provider/model` 形式です。
* `/v1/models` は `provider`、`status`、`organisation`、`endpoints`、`availability` などのフィルターに対応しています。
* ルーティングや非推奨化の変更を把握するため、モデルの利用可否を定期的に再確認してください。
* ID を長期的にコードへ固定するより、`/v1/models` から選ぶ方法をおすすめします。


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