# 参数与报价请求

## 查询当前约束

每个模型的输入和销售规格由实时目录发布。先查询 [模型目录](https://api.jisu.fun/v1/models)，再读取 GET /v1/models/{id} 的 input_schema 和 prices。available 表示该模型有已验证路由和销售价，不保证每一种参数组合都有价格；具体请求以报价接口为准。

input_schema 使用 JSON Schema 描述属性、类型、必填字段、枚举、范围与默认值。不要用供应商的模型名替代 jisu 模型 ID，也不要将其他模型的参数直接复用。

## 报价字段

POST /v1/quotes 使用 Bearer 凭证的 read 权限，只计算报价，不预留资金。

| 字段 | 类型 | 要求 |
| --- | --- | --- |
| model | string | 必填，1 至 150 字符，目录中的 jisu 模型 ID |
| capability | string | 必填，1 至 100 字符，必须与模型一致 |
| input | object | 必填，创作输入和稳定资源引用 |
| options | object | 可选，默认为空对象；模型规格和其他选项 |
| currency | string | 可选，默认 CNY，只接受 CNY |

input 与 options 会合并后按模型 schema 校验，不接受 schema 未声明的参数；两者不能包含同名字段，缺省参数使用模型已发布的默认值。改变参数或数量后应重新报价。

## 素材与音色

asset_ids、voice_id 和 consent_attested 必须位于 input。它们也必须出现在所用模型的 schema 中。

- asset_ids：引用本人已上传或已归档的稳定资源 ID；上传步骤见[上传源素材](/uploads)。
- voice_id：引用本人可用的平台音色 ID；音色绑定原供应商渠道。
- consent_attested：音色克隆必须为 true，表示已确认拥有使用该声音的权利。

供应商回调地址由平台生成，不支持通过模型输入覆盖平台接收地址。用户结果通知在[开发页](https://console.jisu.fun/developer)单独配置。

## 接受报价

报价返回 quote_id、model、resolved_model、price_version、quantity、unit、unit_price、estimated_amount、max_amount、expires_at。当前实现的 pricing_mode 为 fixed；所有金额是 CNY 十进制字符串。按 Token 等可变用量的封顶结算尚未开放。

POST /v1/tasks 需要 create 权限和 Idempotency-Key 请求头，JSON 仅包含 quote_id 与可选 title。title 去除首尾空白后为 1 至 200 字符。任务创建时锁定报价、预留资金，并返回 202。

```json
{
  "quote_id": "YOUR_QUOTE_ID",
  "title": "夏日海报"
}
```

同一创作的网络重试必须同时保留原幂等键和原请求体。不要在超时后只换 quote_id 而继续用旧键，也不要换新键重复生成。确认是新的创作后才创建新的报价与幂等键。

## 接口契约

完整请求 schema、分页参数、鉴权和响应码见 [OpenAPI](/openapi.json)。本页描述平台通用规则，具体图片、视频、语音和音乐的模型参数仍由实时目录决定。
