curl --request GET \
--url https://api.mixroute.ai/v1/models \
--header 'Authorization: Bearer sk-xxxxxxxxxx'
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai/v1"
)
models = client.models.list()
for model in models.data:
print(f"Model ID: {model.id}")
const response = await fetch('https://api.mixroute.ai/v1/models', {
headers: {
'Authorization': 'Bearer sk-xxxxxxxxxx'
}
});
const data = await response.json();
console.log(data.data);
<?php
$client = new GuzzleHttp\Client();
$response = $client->get('https://api.mixroute.ai/v1/models', [
'headers' => [
'Authorization' => 'Bearer sk-xxxxxxxxxx'
]
]);
echo $response->getBody();
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.mixroute.ai/v1/models", nil)
req.Header.Set("Authorization", "Bearer sk-xxxxxxxxxx")
http.DefaultClient.Do(req)
}
import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.mixroute.ai/v1/models"))
.header("Authorization", "Bearer sk-xxxxxxxxxx")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'json'
uri = URI('https://api.mixroute.ai/v1/models')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer sk-xxxxxxxxxx'
response = http.request(request)
puts response.body
{
"object": "list",
"data": [
{
"id": "gpt-5.5",
"object": "model",
"created": 1715232000,
"owned_by": "openai"
},
{
"id": "claude-opus-4-8",
"object": "model",
"created": 1743465600,
"owned_by": "anthropic"
}
]
}
その他
モデル一覧の取得
利用可能なモデルの一覧を取得します
GET
/
v1
/
models
curl --request GET \
--url https://api.mixroute.ai/v1/models \
--header 'Authorization: Bearer sk-xxxxxxxxxx'
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai/v1"
)
models = client.models.list()
for model in models.data:
print(f"Model ID: {model.id}")
const response = await fetch('https://api.mixroute.ai/v1/models', {
headers: {
'Authorization': 'Bearer sk-xxxxxxxxxx'
}
});
const data = await response.json();
console.log(data.data);
<?php
$client = new GuzzleHttp\Client();
$response = $client->get('https://api.mixroute.ai/v1/models', [
'headers' => [
'Authorization' => 'Bearer sk-xxxxxxxxxx'
]
]);
echo $response->getBody();
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.mixroute.ai/v1/models", nil)
req.Header.Set("Authorization", "Bearer sk-xxxxxxxxxx")
http.DefaultClient.Do(req)
}
import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.mixroute.ai/v1/models"))
.header("Authorization", "Bearer sk-xxxxxxxxxx")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'json'
uri = URI('https://api.mixroute.ai/v1/models')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer sk-xxxxxxxxxx'
response = http.request(request)
puts response.body
{
"object": "list",
"data": [
{
"id": "gpt-5.5",
"object": "model",
"created": 1715232000,
"owned_by": "openai"
},
{
"id": "claude-opus-4-8",
"object": "model",
"created": 1743465600,
"owned_by": "anthropic"
}
]
}
はじめに
現在利用可能なモデルの一覧を取得します。このインターフェースは形式の自動検出に対応しており、手動で指定する必要はありません。形式の自動検出
リクエストヘッダーに基づき、Anthropic形式、Gemini形式、またはOpenAI形式で自動的に返します。認証
Bearerトークン。例:Bearer sk-xxxxxxxxxx
リクエストヘッダー
レスポンス形式は、リクエストヘッダーに基づいて自動的に判別されます。string
Anthropic形式のレスポンスを返します
string
Gemini形式のレスポンスを返します
デフォルトではOpenAI形式のレスポンスを返します
コード例
- cURL
- Python
- Node.js
curl https://api.mixroute.ai/v1/models \
-H "Authorization: Bearer sk-xxxxxxxxxx"
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai/v1"
)
models = client.models.list()
for model in models.data:
print(f"Model ID: {model.id}, Provider: {model.owned_by}")
const axios = require('axios');
const response = await axios.get('https://api.mixroute.ai/v1/models', {
headers: {
'Authorization': 'Bearer sk-xxxxxxxxxx'
}
});
console.log(response.data.data);
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
| object | string | listに固定 |
| data | array | モデルリスト |
| data[].id | string | モデルの一意の識別子 |
| data[].object | string | modelに固定 |
| data[].created | integer | モデル作成時のタイムスタンプ(Unixタイムスタンプ) |
| data[].owned_by | string | モデルプロバイダー(例:openai、anthropic、google) |
レスポンス例
{
"object": "list",
"data": [
{
"id": "gpt-5.5",
"object": "model",
"created": 1715232000,
"owned_by": "openai"
},
{
"id": "claude-opus-4-8",
"object": "model",
"created": 1743465600,
"owned_by": "anthropic"
},
{
"id": "gemini-3.5-flash",
"object": "model",
"created": 1746057600,
"owned_by": "google"
}
]
}
HTTPステータスコード
| ステータスコード | 説明 |
|---|---|
| 200 | リクエスト成功 |
| 401 | APIキーが無効または期限切れ |
| 429 | リクエスト頻度が高すぎる |
| 500 | サーバー内部エラー |
エラーレスポンスの例
{
"error": {
"message": "Invalid API key",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
注意事項
- 頻繁なリクエストを避けるため、モデルリストをキャッシュすることをおすすめします(推奨キャッシュ期間は1時間)。
- 返されるモデル一覧は、APIキーの権限に応じて動的に変化します
- アプリケーション起動時にこのインターフェースを呼び出して、利用可否を確認できます
- モデルごとの
createdタイムスタンプは大きく異なる場合があり、モデルのリリース時刻のみを表します - Pythonの例には
openaiライブラリが必要です:pip install openai - Node.jsの例には
axiosライブラリが必要です:npm install axios
curl --request GET \
--url https://api.mixroute.ai/v1/models \
--header 'Authorization: Bearer sk-xxxxxxxxxx'
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai/v1"
)
models = client.models.list()
for model in models.data:
print(f"Model ID: {model.id}")
const response = await fetch('https://api.mixroute.ai/v1/models', {
headers: {
'Authorization': 'Bearer sk-xxxxxxxxxx'
}
});
const data = await response.json();
console.log(data.data);
<?php
$client = new GuzzleHttp\Client();
$response = $client->get('https://api.mixroute.ai/v1/models', [
'headers' => [
'Authorization' => 'Bearer sk-xxxxxxxxxx'
]
]);
echo $response->getBody();
package main
import (
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.mixroute.ai/v1/models", nil)
req.Header.Set("Authorization", "Bearer sk-xxxxxxxxxx")
http.DefaultClient.Do(req)
}
import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.mixroute.ai/v1/models"))
.header("Authorization", "Bearer sk-xxxxxxxxxx")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'json'
uri = URI('https://api.mixroute.ai/v1/models')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer sk-xxxxxxxxxx'
response = http.request(request)
puts response.body
{
"object": "list",
"data": [
{
"id": "gpt-5.5",
"object": "model",
"created": 1715232000,
"owned_by": "openai"
},
{
"id": "claude-opus-4-8",
"object": "model",
"created": 1743465600,
"owned_by": "anthropic"
}
]
}