Skip to content

API 网关(/v1) ​

网关是调用模型的唯一入口,鉴权统一使用 API Key:

text
Authorization: Bearer mf-...

所有端点都接受 Content-Type: application/json,请求体上限 1 MB。

GET /v1/models ​

列出当前可用的模型。

bash
curl "$API_BASE/models" -H "Authorization: Bearer $MODELFOLD_API_KEY"
json
{ "object": "list", "data": [ { "id": "nano-banana-2", "modality": "image", "credits": 8 } ] }

POST /v1/images/generations ​

图像生成与图像编辑。

参数类型必填说明
modelstring是图像类模型 ID
promptstring是提示词,最长 2000 字
image_urlstring否参考图 / 待编辑图片地址
resolutionstring否分辨率档位,例如 1K
bash
curl -X POST "$API_BASE/images/generations" \
  -H "Authorization: Bearer $MODELFOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"nano-banana-2","prompt":"a paper boat in the rain","resolution":"1K"}'

响应:

json
{
  "ok": true,
  "created": 1792134000,
  "data": [{ "url": "https://.../result.png" }],
  "usage": { "credits": 8, "balance": 992, "latencyMs": 4310 }
}

POST /v1/videos/generations ​

视频生成,参数与图像端点一致,另支持时长与分辨率。

参数类型必填说明
modelstring是视频类模型 ID
promptstring是提示词,最长 2000 字
image_urlstring否首帧图(图生视频)地址
durationnumber否时长(秒)
resolutionstring否分辨率档位,例如 720p
bash
curl -X POST "$API_BASE/videos/generations" \
  -H "Authorization: Bearer $MODELFOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"kling-2.6/text-to-video","prompt":"a paper boat in the rain","duration":5,"resolution":"720p"}'

返回结构与图像端点相同,data[0].url 指向生成的视频。

POST /v1/chat/completions ​

对话补全,请求与响应结构与 OpenAI 的 chat/completions 兼容。

参数类型必填说明
modelstring是对话类模型 ID
messagesarray是非空数组,元素为 { role, content }
max_tokensnumber否默认 1024
temperaturenumber否采样温度
bash
curl -X POST "$API_BASE/chat/completions" \
  -H "Authorization: Bearer $MODELFOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6","messages":[{"role":"user","content":"你好"}],"max_tokens":512}'

响应:

json
{
  "ok": true,
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1792134000,
  "model": "claude-sonnet-4-6",
  "choices": [{ "index": 0, "message": { "role": "assistant", "content": "..." }, "finish_reason": "stop" }],
  "usage": { "input_tokens": 18, "output_tokens": 96, "credits": 1, "balance": 991 }
}

计费与保护 ​

网关对每个请求执行同样的流程:

  1. 先查余额:不足直接返回 402,不消耗上游额度、也不记账。
  2. 扣费:媒体类按模型固定积分扣;对话类按预估 token 预扣。
  3. 调用上游。
  4. 结算:对话类按上游返回的真实用量多退少补,每一笔都写流水。
  5. 失败退款:上游报错时自动原路退还本次积分,并返回 502。
  6. 留痕:无论成功与否都写一条调用记录,可在控制台的调用记录中查看。

积分与上游用量的关系 ​

媒体类模型的积分是按上游成本加价得到的固定值,每个模型页都会列出它的上游成本与计价单位;对话类模型在模型页列出输入 / 输出每百万 token 的积分单价。具体口径见 定价。

错误 ​

HTTPerror.type说明
400unsupported_model模型不存在或与端点不匹配
400invalid_promptprompt 缺失或超过 2000 字
400invalid_messagesmessages 缺失或为空
401unauthorizedKey 无效或已吊销
402insufficient_credits余额不足
429rate_limited超过每分钟 60 次
502upstream_failed上游失败,已退款
503upstream_unavailable该模型的上游未配置

ModelFold — 一个 API,接入所有主流 AI 模型。