Skip to content

API 网关(/v1) ​

网关提供同步模型调用,媒体模型另支持 异步任务,鉴权统一使用 API Key:

text
Authorization: Bearer mf-...

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

GET /v1/models ​

列出当前可用的模型。

bash
curl "$API_BASE/models" -H "Authorization: Bearer $MODELFOLD_API_KEY"
json
{ "object": "list", "data": [
  { "id": "google/imagen4-fast", "modality": "image", "credits": 6 },
  { "id": "kling/v3-turbo-text-to-video", "modality": "video", "credits": 81,
    "pricing": { "unit": "second", "credits_per_second": 27, "min_seconds": 3, "start_params": { "resolution": "720p" } } }
] }

credits 是起价。按秒计费的视频模型带 pricing:credits = 最低档(start_params)× 最短时长(min_seconds)的实扣,credits_per_second 是该档每秒价格;更高分辨率、开音频、更长时长按实际参数计价,实扣以返回的 usage.credits 为准。

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":"seedream/5-pro-text-to-image","prompt":"a paper boat in the rain","aspect_ratio":"1:1","quality":"basic"}'

响应:

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/v3-turbo-text-to-video","prompt":"a paper boat in the rain","duration":"3","resolution":"720p"}'

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

模型专有参数 ​

上表仅列通用字段。不同模型还可能必填 quality、aspect_ratio、image_urls、video_url 或 audio_url 等参数,须按模型完整参数页填写。参数可以放在请求体顶层,也可以放在 params 对象中(params 优先);不要套 input。网关不转发回调地址和出图张数参数,每次按模型默认数量生成。

请求等待生成完成后返回 data[].url,长视频建议客户端超时至少设置为 20 分钟;支持的媒体模型另可使用 异步任务、轮询与回调。

POST /v1/audio/generations ​

语音生成使用此端点。可用 prompt 传入待朗读文本,并按模型支持情况传 voice;对应模型也支持原生 text/voice 或 speakers/dialogue_turns 结构。待朗读文本总长必须非空且不超过 5000 字;各模型必填字段见模型参数页。响应结构与图像生成相同。

POST /v1/chat/completions ​

此端点仅返回完整 JSON,不转发 stream、tools 等上游专有参数;流式和原生智能体协议接入见 AI Agent。

对话补全,请求与响应结构与 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 模型。