创建 API Key
进入图床首页的“开发接口”,生成并立即保存 Key。密钥只显示一次,每个 Key 可以绑定不同的默认上传目录。
DEVELOPER DOCUMENTATION
基于 API Key 的文件上传服务。图片、视频、压缩包和任意文件都通过 FTP/FTPS 写入 NAS,并返回可直接使用的访问链接。
{{BASE_URL}}三步拿到第一个文件链接。
进入图床首页的“开发接口”,生成并立即保存 Key。密钥只显示一次,每个 Key 可以绑定不同的默认上传目录。
在请求头中加入 Authorization: Bearer YOUR_API_KEY,也支持 X-API-Key。
单文件使用 url;多文件使用 urls 或 files[i].url。
支持任意文件类型,服务端直接流式写入 NAS。
file。default。curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "folderId=FOLDER_ID" \
-F "file=@image.png" \
{{BASE_URL}}/api/upload用接口读取目录,上传时按需覆盖默认目录。
/api/folders读取当前用户的全部目录与文件数量/api/folders创建目录,JSON:{"name":"screenshots"}/api/files?page=1&pageSize=20&folderId=...分页读取上传记录/api/files/:id删除自己的文件,同时删除 NAS 上的文件所有接口返回 JSON,并包含 success 字段。
{
"success": true,
"url": "{{BASE_URL}}/f/id/photo.png",
"urls": ["{{BASE_URL}}/f/id/photo.png"],
"data": ["{{BASE_URL}}/f/id/photo.png"],
"files": [{
"id": "...", "name": "photo.png",
"size": 48321, "mime": "image/png",
"folderName": "default", "url": "{{BASE_URL}}"
}]
}使用自定义命令,让 Typora 自动上传并把返回 URL 插入文档。
#!/bin/bash
set -euo pipefail
API_KEY='YOUR_API_KEY'
ENDPOINT='{{BASE_URL}}/api/upload'
for file in "$@"; do
response=$(curl -fsS -X POST \
-H "Authorization: Bearer ${API_KEY}" \
-F "file=@${file}" "$ENDPOINT")
python3 -c 'import json,sys; print(json.load(sys.stdin)["url"])' \
<<< "$response"
donefolderId 时自动进入当前 Key 绑定的默认目录;如果需要临时切换目录,在脚本中追加 -F "folderId=目录ID"。目录 ID 可从 GET /api/folders 获取。将 YOUR_API_KEY 替换为创建时保存的 Key。密钥仅在创建时显示一次,服务器不保存可恢复的明文。
import fs from "node:fs";
const form = new FormData();
form.append("file", new Blob([fs.readFileSync("image.png")]), "image.png");
const res = await fetch(
"{{BASE_URL}}/api/upload",
{ method: "POST", headers: { Authorization: "Bearer YOUR_API_KEY" }, body: form }
);
console.log((await res.json()).url);import requests
r = requests.post(
"{{BASE_URL}}/api/upload",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"file": open("image.png", "rb")},
)
print(r.json()["url"])