管理员

GET /core/v1/admin/model-catalog

管理员统一模型目录,包含停用和无可用渠道型号

原生配置优先,用户目录按当前分组及实际可路由能力过滤。有效登录会话可选;提供无效会话返回401,不降级匿名。不请求供应商,available不是实时服务承诺。售价只读当前管理员配置,quote_locked=false,正式提交时重新报价。草稿隐藏资料,不隐藏原生可用型号。 需要当前会话用户 admin=true。业务变更与审计在同一事务提交;读取不新增操作日志。

身份要求

管理员. 会话/管理写操作不在公共 Playground 执行。

接口

curl --request GET 'https://api.oneaster.ai/core/v1/admin/model-catalog' \
  --header 'Authorization: Bearer '"$ONEASTER_SESSION_TOKEN"

参数

- page (query, 可选): {"type":"integer","minimum":1,"maximum":1000000,"default":1}

- size (query, 可选): {"type":"integer","minimum":1,"maximum":100,"default":20}

- kind (query, 可选): {"enum":["text","image","video"]}

- search (query, 可选): {"type":"string","minLength":1,"maxLength":120}

- vendor (query, 可选): {"type":"string","minLength":1,"maxLength":100}

- tag (query, 可选): {"type":"string","minLength":1,"maxLength":40}

- enabled (query, 可选): {"enum":["true","false"]}

- published (query, 可选): {"enum":["true","false"]}

响应

200

管理员统一模型目录,包含停用和无可用渠道型号

{
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "success": {
            "const": true
          },
          "data": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "model": {
                      "type": "string"
                    },
                    "kind": {
                      "enum": [
                        "text",
                        "image",
                        "video"
                      ]
                    },
                    "display_name": {
                      "type": "string"
                    },
                    "available": {
                      "type": "boolean"
                    },
                    "profile": {
                      "anyOf": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "properties": {
                            "version": {
                              "type": "integer",
                              "minimum": 1
                            },
                            "published": {
                              "type": "boolean"
                            },
                            "data": {
                              "type": "object",
                              "additionalProperties": false,
                              "properties": {
                                "display_name": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "zh": {
                                      "type": "string",
                                      "maxLength": 100
                                    },
                                    "en": {
                                      "type": "string",
                                      "maxLength": 100
                                    }
                                  },
                                  "required": []
                                },
                                "vendor": {
                                  "type": "string",
                                  "maxLength": 100
                                },
                                "summary": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "zh": {
                                      "type": "string",
                                      "maxLength": 500
                                    },
                                    "en": {
                                      "type": "string",
                                      "maxLength": 500
                                    }
                                  },
                                  "required": []
                                },
                                "description": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "zh": {
                                      "type": "string",
                                      "maxLength": 20000
                                    },
                                    "en": {
                                      "type": "string",
                                      "maxLength": 20000
                                    }
                                  },
                                  "required": []
                                },
                                "tags": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 40
                                  },
                                  "maxItems": 20,
                                  "uniqueItems": true
                                },
                                "features": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "properties": {
                                      "zh": {
                                        "type": "string",
                                        "maxLength": 500
                                      },
                                      "en": {
                                        "type": "string",
                                        "maxLength": 500
                                      }
                                    },
                                    "required": []
                                  },
                                  "maxItems": 10
                                },
                                "icon_url": {
                                  "type": "string",
                                  "maxLength": 2000
                                },
                                "documentation_url": {
                                  "type": "string",
                                  "maxLength": 2000
                                }
                              },
                              "required": []
                            }
                          },
                          "required": [
                            "version",
                            "published",
                            "data"
                          ]
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "pricing": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "source": {
                          "const": "administrator"
                        },
                        "price_version": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "currency": {
                          "const": "CREDITS"
                        },
                        "micro_per_credit": {
                          "const": 10000
                        },
                        "credits_per_usd": {
                          "const": 100
                        },
                        "quote_locked": {
                          "const": false
                        },
                        "rows": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "unit": {
                                "enum": [
                                  "million_tokens",
                                  "image",
                                  "second"
                                ]
                              },
                              "price_micro": {
                                "type": "string",
                                "pattern": "^[0-9]+$",
                                "description": "整数账务单位;1 积分 = 10000 单位,1 USD = 100 积分。前端用 BigInt。"
                              },
                              "price_credits": {
                                "type": "string",
                                "pattern": "^[0-9]+[.][0-9]{4}$"
                              },
                              "price_usd": {
                                "type": "string",
                                "pattern": "^[0-9]+[.][0-9]{6}$"
                              },
                              "resolution": {
                                "enum": [
                                  "480p",
                                  "720p",
                                  "1080p",
                                  "1K",
                                  "1.5K",
                                  "2K",
                                  "4K",
                                  "4k"
                                ]
                              },
                              "durations": {
                                "type": "array",
                                "items": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 30
                                }
                              },
                              "generate_audio": {
                                "type": "boolean"
                              },
                              "price_key": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "code",
                              "unit",
                              "price_micro",
                              "price_credits",
                              "price_usd"
                            ]
                          }
                        }
                      },
                      "required": [
                        "source",
                        "price_version",
                        "currency",
                        "micro_per_credit",
                        "credits_per_usd",
                        "quote_locked",
                        "rows"
                      ]
                    },
                    "capabilities": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "endpoints": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "properties": {
                          "method": {
                            "const": "POST"
                          },
                          "path": {
                            "enum": [
                              "/v1/chat/completions",
                              "/v1/responses",
                              "/v1/messages",
                              "/v1/tasks",
                              "/v1/videos"
                            ]
                          },
                          "authentication": {
                            "const": "api_key"
                          },
                          "idempotency_key_required": {
                            "type": "boolean"
                          },
                          "example_body": {
                            "type": "object",
                            "additionalProperties": true
                          }
                        },
                        "required": [
                          "method",
                          "path",
                          "authentication",
                          "idempotency_key_required",
                          "example_body"
                        ]
                      }
                    },
                    "management": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "model_id": {
                          "type": "string",
                          "pattern": "^[0-9]+$"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "profile_version": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "price_revisions_path": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "model_id",
                        "enabled",
                        "profile_version",
                        "price_revisions_path"
                      ]
                    },
                    "model_id": {
                      "type": "string"
                    },
                    "model_name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200,
                      "description": "管理员配置的公开调用名称;默认沿用现有型号。C端使用该名称,内部身份仅管理员可见。"
                    },
                    "model_name_version": {
                      "type": "integer",
                      "minimum": 0
                    }
                  },
                  "required": [
                    "model",
                    "kind",
                    "display_name",
                    "available",
                    "profile",
                    "pricing",
                    "capabilities",
                    "endpoints",
                    "management",
                    "model_id",
                    "model_name",
                    "model_name_version"
                  ]
                }
              },
              "total": {
                "type": "string",
                "pattern": "^[0-9]+$"
              },
              "page": {
                "type": "integer",
                "minimum": 0
              },
              "size": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "items",
              "total",
              "page",
              "size"
            ]
          }
        },
        "required": [
          "success",
          "data"
        ]
      }
    }
  },
  "headers": {}
}

default

错误代码见 core-api.md;供应商/数据库错误已隐藏。

{
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "success": {
            "const": false
          },
          "error": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "type": {
                "const": "oneaster_error"
              }
            },
            "required": [
              "code",
              "message",
              "type"
            ]
          },
          "data": {
            "type": "null"
          }
        },
        "required": [
          "success",
          "error",
          "data"
        ]
      }
    }
  },
  "headers": {}
}