← 返回网盘

开放 API 文档

面向需要在自有网站、图床脚本、客户端程序里调用本云盘上传 / 管理文件的开发者

一、概述

项值
统一入口http://pan.6665q.com/api.php?action=接口名
请求方式POST(部分接口同时支持 GET)
鉴权Authorization: Bearer <Token> 请求头,或 ?token=<Token> 参数
返回格式统一 JSON:{ "code": 0, "msg": "...", "data": {...} }

code = 0 表示成功,data 为业务数据;code != 0 表示失败,msg 为原因(常见 401 未登录 / 403 无权限 / 400 参数错误)。

获取 Token:登录网盘 → 右上角头像 → API 管理 → 复制「API Token」(可随时重置,重置后旧 Token 立即失效)。
⚠️ Token 等同于账号密码,请勿泄露。后端「站点设置 → API 设置」可关闭开放 API、限制单文件大小、限定可调用等级。

二、图床式上传(核心接口)

POSTapi_upload — 单文件直传,返回直链

用于图床 / 文件服务器场景:一个请求上传一张图(或任意文件),直接拿到可公开访问的 URL。

POST http://pan.6665q.com/api.php?action=api_upload
Authorization: Bearer <Token>
Content-Type: multipart/form-data

file      = 文件二进制(multipart 表单,必填)
folder_id = 目标文件夹 ID(可选,默认 0 根目录)

成功返回

{
  "code": 0,
  "msg": "上传成功",
  "data": {
    "file_id": 13,
    "name": "图片.png",
    "size": 92160,
    "md5": "ab8717f458d557f82ad26e6a9fa3cd7a",
    "instant": false,
    "url": "http://pan.6665q.com/uploads/202609/njawg08xPrhxFSFK.png"
  }
}

失败返回

{ "code": 401, "msg": "未登录", "data": null }
{ "code": 400, "msg": "缺少文件(字段名 file)", "data": null }
{ "code": 403, "msg": "空间不足:已用 1.2 MB,剩余 0 B", "data": null }

三、缩略图与图片处理

上传图片时系统会自动生成缩略图(JPEG),返回中的 thumb 即缩略图地址,可直接用于列表预览、图床引用。

GETthumb.php — 动态缩略图

GET http://pan.6665q.com/thumb.php?id={file_id}              默认缩略图(长边 300)
GET http://pan.6665q.com/thumb.php?id={file_id}&w=200        指定宽(高按比例)
GET http://pan.6665q.com/thumb.php?id={file_id}&w=200&h=200  指定宽高(等比不裁剪)
GET http://pan.6665q.com/thumb.php?id={file_id}&webp=1       输出 WebP(体积更小)
GET http://pan.6665q.com/thumb.php?id={file_id}&q=90         质量 1-100

返回图片二进制(非 JSON),浏览器缓存 7 天。图片处理基于服务器 GD 库,支持 JPEG / PNG / GIF / WebP / BMP 输入。

上传返回字段说明
url原图直链(可当图床)
thumb缩略图地址(静态 JPEG,体积小)
thumb_raw缩略图原文件直链(无则空)

四、Token 管理

接口说明参数返回
api_token_info查询当前 Token无{ token, masked, enabled }
api_token_reset重置 Token(旧 Token 立即失效)无{ token }

这两个接口同样需要已登录状态(会话或 Bearer Token)。

五、文件管理接口

以下接口均需登录态(会话或 Bearer Token)。

接口说明关键参数
files_list文件列表folder_id(0)、search、type(all/image/video/audio/doc/archive)、sort、page、page_size
folders_list文件夹列表无
folder_create新建文件夹name
file_rename重命名id、name
file_move移动ids(逗号分隔)、folder_id
file_delete删除(入回收站)ids(逗号分隔)
trash_list回收站列表page
trash_restore恢复ids
trash_purge彻底删除ids
trash_empty清空回收站无
file_set_desc编辑描述id、desc
files_stats文件统计无

files_list 返回示例

{
  "code": 0,
  "data": {
    "total": 12,
    "page": 1,
    "list": [
      {
        "id": 13, "name": "图片.png", "folder_id": 0, "is_dir": false,
        "size": 92160, "size_text": "90 KB", "ext": "png", "kind": "image",
        "created_at": "2026-09-22 10:00:00", "time_ago": "3 小时前"
      }
    ]
  }
}

六、分享接口

接口说明关键参数
share_create创建分享file_id、code(提取码,可选)、expire_days(0=永久)、max_downloads(0=不限)
share_update更新分享token、code、expire_days、max_downloads
share_delete删除分享token
share_list分享列表无

share_create 返回

{
  "code": 0,
  "data": {
    "share": {
      "token": "AbCdEf123456",
      "code": "",
      "url": "http://pan.6665q.com/s/AbCdEf123456",
      "download_url": "http://pan.6665q.com/download.php?token=AbCdEf123456"
    }
  }
}

七、预览接口

接口说明参数
preview_url获取文件预览地址id
preview_text获取文本/代码内容id

八、多语言调用示例(图床上传)

cURL

curl -X POST "http://pan.6665q.com/api.php?action=api_upload" \
  -H "Authorization: Bearer 你的Token" \
  -F "file=@/path/to/image.png"

PHP

<?php
$token = '你的Token';
$ch = curl_init('http://pan.6665q.com/api.php?action=api_upload');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"],
    CURLOPT_POSTFIELDS => ["file" => new CURLFile("/path/to/img.png")],
]);
$res = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $res["code"] === 0 ? $res["data"]["url"] : $res["msg"];

Python

import requests

token = "你的Token"
url = "http://pan.6665q.com/api.php?action=api_upload"
headers = {"Authorization": f"Bearer {token}"}

with open("image.png", "rb") as f:
    r = requests.post(url, headers=headers, files={"file": f})

res = r.json()
print(res["data"]["url"] if res["code"] == 0 else res["msg"])

JavaScript(浏览器 fetch)

const token = '你的Token';
const form = new FormData();
form.append('file', fileInput.files[0]);

fetch('http://pan.6665q.com/api.php?action=api_upload', {
    method: 'POST',
    headers: { 'Authorization': 'Bearer ' + token },
    body: form,
})
.then(r => r.json())
.then(res => {
    if (res.code === 0) console.log(res.data.url);
    else console.error(res.msg);
});

HTML 表单(最简单,适合临时测试)

表单方式需把 Token 放在 URL 参数里(浏览器表单无法设置自定义请求头)。
<form action="http://pan.6665q.com/api.php?action=api_upload&token=你的Token"
      method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <button type="submit">上传</button>
</form>

九、常见问题

Q:返回 401「未登录」?
A:Token 错误或已失效。请在「API 管理」重新复制 Token;若重置过,需用新 Token。

Q:返回 403「开放 API 已关闭」或「无权使用」?
A:管理员在「站点设置 → API 设置」关闭了开放 API,或限制了调用等级。

Q:上传大文件失败?
A:图床接口 api_upload 走单文件直传,受「API 设置」的 api_max_size(默认 20MB)限制。更大文件请用网盘内的分片上传。

Q:直链访问不了(404)?
A:若文件被删除,直链失效。图床直链指向物理文件,删除文件即失效。

十、授权开放接口(网站 / 插件)

面向「你的客户网站/插件」的授权校验接口。客户站点不登录本站,通过 授权码 + 域名 校验。所有响应带 HMAC-SHA256 签名(后台授权管理生成密钥后启用)。

1. 在线校验

GET/api.php?action=lic_verify

参数必选说明
product是产品标识(pkey),后台授权管理查看
license是授权码
domain二选一站点域名(域名绑定模式)
fingerprint二选一设备指纹(指纹绑定模式)
version否当前程序版本(配合 max_version 限高)

响应 payload.valid = true 即授权有效;失败会自动进入黑名单(盗版检测)。

2. 激活 / 换绑 / 吊销

POST/api.php?action=lic_activate — 激活绑定站点(消费绑定名额)

POST/api.php?action=lic_deactivate — 主动解绑(自助换绑,受次数限制)

GET/api.php?action=lic_offline — 离线授权包(完全断网站点用,本地验签)

十一、授权接口在线测试台

填好参数点「发送请求」,实时查看响应(借鉴奇云 docs_api 的在线测试模式)。

等待请求…