开发者接入与 AI 自动化指南
为 AI 编程助手(Cursor、Claude Code 等)、发布流水线与本地脚本提供图片资产管理能力。支持标准 REST API、OpenAPI 规范与最小权限 Agent Key。
1 快速接入 (cURL)
设置环境变量 SILENTFLOW_API_KEY,使用 multipart 上传图片(公开 v1 API 当前仅管理图片):
export SILENTFLOW_API_KEY="sf_agent_your_scoped_key_here"
curl -X POST https://slnt.dev/v1/files -H "Authorization: Bearer $SILENTFLOW_API_KEY" -F "file=@./screenshot.png"
成功响应 (200 OK)
{
"url": "https://sf-cdn.cc/s/2026/08/screenshot_a7b9.webp",
"key": "2026/08/screenshot_a7b9.webp",
"product": "images",
"usage": {
"used": 15482910,
"limit": 53687091200,
"percent": "0.03%"
}
}
https://sf-cdn.cc(专业版支持自定义域名),主站 slnt.dev 明确拒绝 /s 路径文件读取。客户端必须始终直接使用响应中的 url 字段,严禁根据 API host 自行拼接交付地址。
2 认证机制与 Scoped Agent Key
所有 API 请求必须在 HTTP Header 中携带 Bearer 令牌:
Authorization: Bearer <TOKEN>。
SILENTFLOW_API_KEY)注入凭证。严禁将密钥直接写入命令参数、聊天提示词或公开代码仓库中。
使用账号主密钥(sk_live_...)可以签发权限受限的 Agent Key(sf_agent_...)。服务端仅保存令牌的 SHA-256 哈希摘要,原始令牌在创建成功时仅展示一次。
Agent Key 权限范围 (Scopes)
允许上传新图片资产并计入存储用量。
允许查询配额用量与检索个人文件列表。
允许删除名下已上传文件并释放存储空间。
3 SilentFlow CLI 本地命令行
适用于终端流水线与 Coding Agent 本地任务。零第三方依赖,自动读取环境变量,所有结果输出为 JSON。CLI 源码位于 silentflow-client。
git clone https://github.com/weidlu/skills.git
cd skills/silentflow-client
python3 scripts/silentflow.py upload ./docs/assets/architecture.png
python3 scripts/silentflow.py usage
python3 scripts/silentflow.py list --limit 10
python3 scripts/silentflow.py delete 2026/08/screenshot_a7b9.webp --dry-run
# 核对 exact key 后再执行:
python3 scripts/silentflow.py delete 2026/08/screenshot_a7b9.webp --yes
python3 scripts/silentflow.py keys create --name codex-local --scope files:read --scope files:write
4 REST API 接口规范
上传二进制图片文件,服务端校验 MIME 类型与文件魔数并返回公开链接。
curl -X POST https://slnt.dev/v1/files -H "Authorization: Bearer $SILENTFLOW_API_KEY" -F "file=@./diagram.png"
获取当前用户的套餐类型、存储使用量与本月已用流量。
curl -X GET https://slnt.dev/v1/usage -H "Authorization: Bearer $SILENTFLOW_API_KEY"
分页检索用户已上传的图片列表及公开链接。
curl -X GET "https://slnt.dev/v1/files?limit=20" -H "Authorization: Bearer $SILENTFLOW_API_KEY"
删除指定图片并释放配额;对象存储暂时不可用时返回 202,并由持久清理队列继续重试。
curl -X DELETE "https://slnt.dev/v1/files/2026/08/screenshot_a7b9.webp" -H "Authorization: Bearer $SILENTFLOW_API_KEY"
5 错误结构与状态码
v1 接口在鉴权失败或参数错误时返回标准 application/problem+json 结构:
{
"type": "https://slnt.dev/problems/invalid_file_type",
"title": "invalid_file_type",
"status": 400,
"code": "invalid_file_type",
"detail": "The file content does not match a supported type."
}
| HTTP 状态码 | 含义说明 | 错误 code 标识 |
|---|---|---|
| 401 Unauthorized | Bearer Token 缺失或无效 | unauthorized |
| 403 Forbidden | Agent Key 缺少当前操作所需权限 | insufficient_scope |
| 404 Not Found | 文件不存在或已被删除 | file_not_found |
| 413 Payload Too Large | 单文件尺寸超出当前套餐上限 | file_size_invalid |
| 400 Bad Request | 非允许图片类型或魔数校验失败 | invalid_file_type |
| 415 Unsupported Media Type | v1 接口明确拒绝音频或播客格式 | unsupported_product |
6 协议选择与生态路线
为什么当前优先提供 REST API 与本地 JSON CLI?
REST API 与零依赖本地 CLI 具备确定性、高通用性与最小开销,能够被各类编程助手、发布流水线与终端脚本直接调用,避免了在远端运行非必要长期协议服务的复杂性。
Model Context Protocol (MCP) 说明
当前未发布公开远端 MCP Server,也未提供官方本地 stdio 适配层。需要 MCP 的宿主必须另行实现本地适配层;当前官方交付只有 REST API、OpenAPI 规范与本地 JSON CLI。