列出网关模型
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.phaseo.app/v1/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.phaseo.app/v1/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.phaseo.app/v1/models \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.phaseo.app/v1/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.phaseo.app/v1/models")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phaseo.app/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.phaseo.app/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"ok": true,
"availability_mode": "active",
"limit": 50,
"offset": 0,
"total": 128,
"models": [
{
"id": "<string>",
"base_model_id": "<string>",
"variant": "<string>",
"variants": {},
"name": "<string>",
"description": "<string>",
"organization": {
"id": "<string>",
"name": "<string>",
"color": "<string>"
},
"aliases": [
"<string>"
],
"lifecycle": {
"status": "active",
"released_at": "<string>",
"deprecated_at": "<string>",
"retires_at": "<string>",
"replacement_id": "<string>",
"message": "<string>"
},
"modalities": {
"input": [
"<string>"
],
"output": [
"<string>"
]
},
"limits": {
"input_tokens": 1,
"output_tokens": 1
},
"capabilities": {
"parameters": [
"<string>"
],
"parameter_details": {},
"endpoints": [
"<string>"
]
},
"availability": {
"status": "active",
"provider_count": 1,
"active_provider_count": 1,
"coming_soon_provider_count": 1,
"inactive_provider_count": 1
},
"pricing": {
"pricing_plan": "standard",
"meters": {}
},
"offers": [
{
"provider": {
"id": "<string>",
"name": "<string>"
},
"model": "<string>",
"status": "active",
"status_reason": "active",
"routable": true,
"endpoints": [
"<string>"
],
"modalities": {
"input": [
"<string>"
],
"output": [
"<string>"
]
},
"capabilities": {
"parameters": [
"<string>"
],
"parameter_details": {},
"endpoints": [
"<string>"
]
},
"routing": {
"provider": "active",
"model": "active",
"capability": "active"
},
"effective": {
"from": "<string>",
"to": "<string>"
},
"pricing": {
"pricing_plan": "standard",
"meters": {}
}
}
]
}
]
}{
"ok": false,
"error": "invalid_request",
"message": "Invalid request parameters.",
"max_offset": 1
}{
"error": "error_type",
"ok": false,
"message": "Human-readable error message",
"description": "Additional error details.",
"generation_id": "G-abc123",
"status_code": 502,
"error_type": "system",
"error_origin": "upstream",
"reason": "all_candidates_failed",
"attempt_count": 2,
"failed_providers": [
"google-ai-studio",
"openai"
],
"failed_statuses": [
403,
429
],
"upstream_error": {
"code": "PERMISSION_DENIED",
"message": "The caller does not have permission.",
"description": "<string>",
"param": "<string>"
},
"failure_sample": [
{
"provider": "<string>",
"type": "<string>",
"status": 123,
"upstream_error_code": "<string>",
"upstream_error_message": "<string>",
"upstream_error_description": "<string>",
"upstream_error_param": "<string>",
"upstream_payload_preview": "<string>",
"retryable": true
}
],
"provider_failure_diagnostics": {
"category": "credentials_not_configured",
"hint": "<string>",
"provider": "<string>"
},
"routing_diagnostics": {
"filterStages": [
{
"stage": "<string>",
"beforeCount": 123,
"afterCount": 123,
"droppedProviders": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
}
]
},
"provider_candidate_diagnostics": {
"totalProviders": 123,
"supportsEndpointCount": 123,
"candidateCount": 123,
"droppedUnsupportedEndpoint": [
"<string>"
],
"droppedMissingAdapter": [
{
"providerId": "<string>",
"endpoint": "<string>"
}
]
},
"provider_enablement": {
"capability": "<string>",
"providersBefore": [
"<string>"
],
"providersAfter": [
"<string>"
],
"dropped": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
},
"missing_pricing_providers": [
"<string>"
],
"provider_payment_required_provider": "openai",
"provider_payment_required_support_notice": "Our upstream provider billing appears to be unavailable. If this persists, contact support.",
"details": [
{}
]
}{
"error": "error_type",
"ok": false,
"message": "Human-readable error message",
"description": "Additional error details.",
"generation_id": "G-abc123",
"status_code": 502,
"error_type": "system",
"error_origin": "upstream",
"reason": "all_candidates_failed",
"attempt_count": 2,
"failed_providers": [
"google-ai-studio",
"openai"
],
"failed_statuses": [
403,
429
],
"upstream_error": {
"code": "PERMISSION_DENIED",
"message": "The caller does not have permission.",
"description": "<string>",
"param": "<string>"
},
"failure_sample": [
{
"provider": "<string>",
"type": "<string>",
"status": 123,
"upstream_error_code": "<string>",
"upstream_error_message": "<string>",
"upstream_error_description": "<string>",
"upstream_error_param": "<string>",
"upstream_payload_preview": "<string>",
"retryable": true
}
],
"provider_failure_diagnostics": {
"category": "credentials_not_configured",
"hint": "<string>",
"provider": "<string>"
},
"routing_diagnostics": {
"filterStages": [
{
"stage": "<string>",
"beforeCount": 123,
"afterCount": 123,
"droppedProviders": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
}
]
},
"provider_candidate_diagnostics": {
"totalProviders": 123,
"supportsEndpointCount": 123,
"candidateCount": 123,
"droppedUnsupportedEndpoint": [
"<string>"
],
"droppedMissingAdapter": [
{
"providerId": "<string>",
"endpoint": "<string>"
}
]
},
"provider_enablement": {
"capability": "<string>",
"providersBefore": [
"<string>"
],
"providersAfter": [
"<string>"
],
"dropped": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
},
"missing_pricing_providers": [
"<string>"
],
"provider_payment_required_provider": "openai",
"provider_payment_required_support_notice": "Our upstream provider billing appears to be unavailable. If this persists, contact support.",
"details": [
{}
]
}模型
列出模型
通过 Phaseo Gateway 浏览 Gateway 原生模型,并可选择查看不可路由模型的可用性详情。
GET
/
models
列出网关模型
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.phaseo.app/v1/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.phaseo.app/v1/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.phaseo.app/v1/models \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.phaseo.app/v1/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.phaseo.app/v1/models")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phaseo.app/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.phaseo.app/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"ok": true,
"availability_mode": "active",
"limit": 50,
"offset": 0,
"total": 128,
"models": [
{
"id": "<string>",
"base_model_id": "<string>",
"variant": "<string>",
"variants": {},
"name": "<string>",
"description": "<string>",
"organization": {
"id": "<string>",
"name": "<string>",
"color": "<string>"
},
"aliases": [
"<string>"
],
"lifecycle": {
"status": "active",
"released_at": "<string>",
"deprecated_at": "<string>",
"retires_at": "<string>",
"replacement_id": "<string>",
"message": "<string>"
},
"modalities": {
"input": [
"<string>"
],
"output": [
"<string>"
]
},
"limits": {
"input_tokens": 1,
"output_tokens": 1
},
"capabilities": {
"parameters": [
"<string>"
],
"parameter_details": {},
"endpoints": [
"<string>"
]
},
"availability": {
"status": "active",
"provider_count": 1,
"active_provider_count": 1,
"coming_soon_provider_count": 1,
"inactive_provider_count": 1
},
"pricing": {
"pricing_plan": "standard",
"meters": {}
},
"offers": [
{
"provider": {
"id": "<string>",
"name": "<string>"
},
"model": "<string>",
"status": "active",
"status_reason": "active",
"routable": true,
"endpoints": [
"<string>"
],
"modalities": {
"input": [
"<string>"
],
"output": [
"<string>"
]
},
"capabilities": {
"parameters": [
"<string>"
],
"parameter_details": {},
"endpoints": [
"<string>"
]
},
"routing": {
"provider": "active",
"model": "active",
"capability": "active"
},
"effective": {
"from": "<string>",
"to": "<string>"
},
"pricing": {
"pricing_plan": "standard",
"meters": {}
}
}
]
}
]
}{
"ok": false,
"error": "invalid_request",
"message": "Invalid request parameters.",
"max_offset": 1
}{
"error": "error_type",
"ok": false,
"message": "Human-readable error message",
"description": "Additional error details.",
"generation_id": "G-abc123",
"status_code": 502,
"error_type": "system",
"error_origin": "upstream",
"reason": "all_candidates_failed",
"attempt_count": 2,
"failed_providers": [
"google-ai-studio",
"openai"
],
"failed_statuses": [
403,
429
],
"upstream_error": {
"code": "PERMISSION_DENIED",
"message": "The caller does not have permission.",
"description": "<string>",
"param": "<string>"
},
"failure_sample": [
{
"provider": "<string>",
"type": "<string>",
"status": 123,
"upstream_error_code": "<string>",
"upstream_error_message": "<string>",
"upstream_error_description": "<string>",
"upstream_error_param": "<string>",
"upstream_payload_preview": "<string>",
"retryable": true
}
],
"provider_failure_diagnostics": {
"category": "credentials_not_configured",
"hint": "<string>",
"provider": "<string>"
},
"routing_diagnostics": {
"filterStages": [
{
"stage": "<string>",
"beforeCount": 123,
"afterCount": 123,
"droppedProviders": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
}
]
},
"provider_candidate_diagnostics": {
"totalProviders": 123,
"supportsEndpointCount": 123,
"candidateCount": 123,
"droppedUnsupportedEndpoint": [
"<string>"
],
"droppedMissingAdapter": [
{
"providerId": "<string>",
"endpoint": "<string>"
}
]
},
"provider_enablement": {
"capability": "<string>",
"providersBefore": [
"<string>"
],
"providersAfter": [
"<string>"
],
"dropped": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
},
"missing_pricing_providers": [
"<string>"
],
"provider_payment_required_provider": "openai",
"provider_payment_required_support_notice": "Our upstream provider billing appears to be unavailable. If this persists, contact support.",
"details": [
{}
]
}{
"error": "error_type",
"ok": false,
"message": "Human-readable error message",
"description": "Additional error details.",
"generation_id": "G-abc123",
"status_code": 502,
"error_type": "system",
"error_origin": "upstream",
"reason": "all_candidates_failed",
"attempt_count": 2,
"failed_providers": [
"google-ai-studio",
"openai"
],
"failed_statuses": [
403,
429
],
"upstream_error": {
"code": "PERMISSION_DENIED",
"message": "The caller does not have permission.",
"description": "<string>",
"param": "<string>"
},
"failure_sample": [
{
"provider": "<string>",
"type": "<string>",
"status": 123,
"upstream_error_code": "<string>",
"upstream_error_message": "<string>",
"upstream_error_description": "<string>",
"upstream_error_param": "<string>",
"upstream_payload_preview": "<string>",
"retryable": true
}
],
"provider_failure_diagnostics": {
"category": "credentials_not_configured",
"hint": "<string>",
"provider": "<string>"
},
"routing_diagnostics": {
"filterStages": [
{
"stage": "<string>",
"beforeCount": 123,
"afterCount": 123,
"droppedProviders": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
}
]
},
"provider_candidate_diagnostics": {
"totalProviders": 123,
"supportsEndpointCount": 123,
"candidateCount": 123,
"droppedUnsupportedEndpoint": [
"<string>"
],
"droppedMissingAdapter": [
{
"providerId": "<string>",
"endpoint": "<string>"
}
]
},
"provider_enablement": {
"capability": "<string>",
"providersBefore": [
"<string>"
],
"providersAfter": [
"<string>"
],
"dropped": [
{
"providerId": "<string>",
"reason": "<string>"
}
]
},
"missing_pricing_providers": [
"<string>"
],
"provider_payment_required_provider": "openai",
"provider_payment_required_support_notice": "Our upstream provider billing appears to be unavailable. If this persists, contact support.",
"details": [
{}
]
}默认情况下,此端点仅返回当前可路由的模型。设置
availability=all 可同时包含已知但当前不可用的模型。
目录响应会缓存五分钟,并可能在缓存重新验证期间继续提供五分钟。这适用于当前目录的 JSON、RSS 和 Atom 表示;发布动态有自己时长更短的轮询缓存。
GET /models/me 为未来根据当前调用方的护栏筛选模型而保留。目前该接口会返回 501 not implemented,因此现在请使用 GET /models 查询共享的 Gateway 目录。
常用筛选条件
endpoints使用公开名称,例如chat.completions、responses和messagesstatus按模型生命周期筛选,例如active、deprecated或retiredprovider按提供商公开 ID 筛选,例如openai、anthropic或google_vertexprovider_status按提供商发布阶段筛选,例如active、beta、alpha或not_readyprovider_routing_status按提供商级路由状态筛选model_routing_status按模型级路由状态筛选capability_status按提供商对所请求端点映射的能力状态筛选provider_availability_status按提供商可用性筛选,例如active、coming_soon或inactiveprovider_availability_reason按提供商可用性原因筛选,例如preview_only、provider_not_ready、gated、access_limited或region_limitedorganisation按公开模型 ID 前缀筛选,例如anthropic/claude-3-haiku中的anthropicavailability=active是默认值availability=all包含状态为coming_soon、inactive或尚未公开路由的模型或提供商input_modalities是input_types的别名output_modalities是output_types的别名supported_parameters是params的别名
GET /models/{author}/{slug}/endpoints。响应会按提供商区分路由,并在每一行中列出公开路径、模态、受支持参数详情、可用性、路由状态、提供商模型标识和价格摘要。
提供商条目还可能包括:
availability_statusavailability_reasonprovider_statusprovider_routing_statusmodel_routing_statuscapability_status
响应
{
"ok": true,
"privacy_scope": "shared",
"availability_mode": "all",
"limit": 50,
"offset": 0,
"total": 99,
"models": [
{
"id": "anthropic/claude-3-haiku",
"canonical_slug": "anthropic/claude-3-haiku",
"model_id": "anthropic/claude-3-haiku",
"name": "anthropic/claude-3-haiku",
"description": "anthropic/claude-3-haiku via Phaseo Gateway. Supports chat.completions, messages, responses.",
"created": null,
"release_date": null,
"deprecation_date": null,
"retirement_date": null,
"status": "active",
"availability": {
"status": "coming_soon",
"provider_count": 1,
"active_provider_count": 0,
"inactive_provider_count": 0
},
"organisation_id": "anthropic",
"organisation_name": null,
"organisation_colour": null,
"aliases": [],
"endpoints": ["chat.completions", "messages", "responses"],
"input_types": ["text"],
"output_types": ["text"],
"architecture": {
"modality": "text->text",
"input_modalities": ["text"],
"output_modalities": ["text"],
"tokenizer": null,
"instruct_type": "chat"
},
"providers": [
{
"api_provider_id": "anthropic",
"api_provider_name": "Anthropic",
"provider_model_slug": "claude-3-haiku-20240307",
"is_active_gateway": false,
"availability_status": "coming_soon",
"availability_reason": "preview_only",
"provider_status": "beta",
"provider_routing_status": "active",
"model_routing_status": "active",
"capability_status": "coming_soon",
"effective_from": "2026-06-01T00:00:00Z",
"effective_to": null,
"endpoints": ["responses"],
"input_modalities": ["text"],
"output_modalities": ["text"],
"params": [
"max_tokens",
"response_format",
"stop",
"structured_outputs",
"temperature",
"tool_choice",
"tools",
"top_k",
"top_p"
],
"supported_parameters": [
"max_tokens",
"response_format",
"stop",
"structured_outputs",
"temperature",
"tool_choice",
"tools",
"top_k",
"top_p"
],
"supported_parameters_detail": {
"temperature": {
"supported": true,
"type": "number",
"minimum": 0,
"maximum": 2
}
}
}
],
"supported_params": [
"max_tokens",
"response_format",
"stop",
"structured_outputs",
"temperature",
"tool_choice",
"tools",
"top_k",
"top_p"
],
"supported_params_detail": {
"temperature": {
"supported": true,
"type": "number",
"minimum": 0,
"maximum": 2,
"providers": ["openai"]
}
},
"supported_parameters": [
"max_tokens",
"response_format",
"stop",
"structured_outputs",
"temperature",
"tool_choice",
"tools",
"top_k",
"top_p"
],
"supported_parameters_detail": {
"temperature": {
"supported": true,
"type": "number",
"minimum": 0,
"maximum": 2,
"providers": ["openai"]
}
},
"top_provider_id": null,
"top_provider": {
"context_length": null,
"max_completion_tokens": null,
"is_moderated": false
},
"pricing": {
"prompt": null,
"completion": null,
"request": null,
"image": null,
"input_cache_read": null,
"input_cache_write": null,
"web_search": null
},
"pricing_detail": {
"pricing_plan": "standard",
"meters": {}
},
"per_request_limits": null
}
]
}
availability_reason 是用于说明提供商条目为何处于活动、仅预览或非活动状态的单一字段。授权
Bearer 令牌身份验证
查询参数
在模型 ID、名称、描述和组织中搜索,不区分大小写。
Maximum string length:
200搜索提供商或模型组织,不区分大小写。
Maximum string length:
100要求支持指定的输入模态。
可用选项:
text, image, audio, video 要求输入上下文至少支持此数量的 token。
必填范围:
x >= 0每百万输入 token 的最高价格(美元)。
必填范围:
x >= 0仅返回至少有一个可路由网关服务的模型。
用于对模型发现结果排序的字段。
可用选项:
relevance, input_price, output_price, context_length, provider_count 可选的排序方向。价格默认升序,其他数值默认降序。
可用选项:
asc, desc 按端点筛选
按组织筛选 组织标识符。
可用选项:
01-ai, adept, ai21, aion-labs, aisingapore, alibaba, allenai, amazon, anthracite-org, anthropic, arcee-ai, baai, baichuan, baidu, bigcode, black-forest-labs, bytedance, bytedance-seed, cogito, cognitivecomputations, cohere, crofai, cursor, cyfragovpl, databricks, decart, deepseek, dots-studio, early-access, eleven-labs, essential-ai, fastino, fish-audio, github, google, gryphe, hexgrad, ibm, ibm-granite, inception, inclusionai, inference-net, inflection, intfloat, jetbrains, kblab, kling, kuaishou, kwaipilot, kwaivgi, lg, lightricks, liquid-ai, mancer, medaibase, meituan, meta, microsoft, mindai, minimax, mistral, mistralai, moonshotai, morph, naver-hyperclova, near-ai, nex-agi, nous, nousresearch, novasearch, nvidia, openai, openbmb, opencompass, opengvlab, orcarouter, ornith, perceptron, perplexity, phala, pixverse, poe, poolside, prime-intellect, prism-ml, qwen, reka, relace, runway, sakana, sao10k, sapiens-ai, sentence-transformers, sference, shanghai-ai-laboratory, shengshu-ai, snowflake, sourceful, spacex-ai, speakleash, stability-ai, stealth, stepfun, suno, tencent, thedrummer, thinking-machines, undi95, upstage, venice, vercel, villanova-ai, voyage, windsurf, writer, xai, xgenerationlab, xiaomi, z-ai, zyphra 按提供商 ID 筛选
按提供商推出状态筛选
按提供商路由状态筛选
按模型路由状态筛选
按提供商能力状态筛选
按提供商可用状态筛选
按提供商可用原因筛选
按模型状态筛选
按输入类型筛选
input_types 的公共别名。
按输出类型筛选
output_types 的公共别名。
按参数筛选
params 的公共别名。
可用性筛选器。active 仅返回可公开路由的模型;all 还包含不可路由的可用性记录。
可用选项:
active, all 限制结果数量
必填范围:
1 <= x <= 250分页偏移量
必填范围:
0 <= x <= 5000响应格式。默认为 json。
可用选项:
json, rss, atom format 的别名。接受 json、rss 或 atom。
可用选项:
json, rss, atom 最后修改于 2026年10月2日