Models
获取当前账号下可用的所有模型列表,返回每个模型的标识信息。
Endpoint
GET /v1/modelsMethod
GET
Authentication
需要 Bearer Token 认证:
Authorization: Bearer $API_KEYRequest Headers
| Header | 是否必需 | 说明 |
|---|---|---|
Authorization | 是 | Bearer <API_KEY> |
Content-Type | 否 | application/json |
Request Body
无。该接口为 GET 请求,不需要请求体。
Response
返回一个 JSON 对象,包含 object 字段和 data 数组。data 数组中每个元素为一个模型对象。
{ "object": "list", "data": [ { "id": "gpt-4o", "object": "model", "created": 1686935002, "owned_by": "openai" }, { "id": "gpt-4o-mini", "object": "model", "created": 1686935002, "owned_by": "openai" } ]}模型对象结构
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 模型标识,调用接口时传入此值 |
object | string | 固定为 model |
created | integer | 模型创建时间(Unix 时间戳) |
owned_by | string | 模型所属组织 |
错误码
| 状态码 | 说明 |
|---|---|
| 401 | API Key 无效或缺失 |
| 403 | 无权限访问 |
| 429 | 请求频率超限 |
| 500 | 服务器内部错误 |
详见 Errors。
代码示例
import { Tabs, TabItem } from ‘@astrojs/starlight/components’;
curl "$BASE_URL/v1/models" \ -H "Authorization: Bearer $API_KEY"import osimport requests
base_url = os.environ.get("BASE_URL")api_key = os.environ.get("API_KEY")
response = requests.get( f"{base_url}/v1/models", headers={ "Authorization": f"Bearer {api_key}", },)
print(response.status_code)print(response.json())const baseURL = process.env.BASE_URL;const apiKey = process.env.API_KEY;
const response = await fetch(`${baseURL}/v1/models`, { headers: { Authorization: `Bearer ${apiKey}`, },});
console.log(response.status);console.log(await response.json());package main
import ( "encoding/json" "fmt" "io" "net/http" "os")
func main() { baseURL := os.Getenv("BASE_URL") apiKey := os.Getenv("API_KEY")
req, _ := http.NewRequest("GET", baseURL+"/v1/models", nil) req.Header.Set("Authorization", "Bearer "+apiKey)
resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var result struct { Object string `json:"object"` Data []struct { ID string `json:"id"` OwnedBy string `json:"owned_by"` } `json:"data"` } json.Unmarshal(body, &result)
fmt.Println(resp.StatusCode) for _, m := range result.Data { fmt.Printf("- %s (%s)\n", m.ID, m.OwnedBy) }}