该接口与你在控制台中能做的操作一一对应。你可以读取账户详情和存储空间、请求上传服务器并发送文件、通过 URL 导入视频、列出和查看文件、移动和重命名文件、创建文件夹、搜索视频,并管理远程上传队列。还有一些扩展功能,可通过远程地址添加封面图或字幕。
请求为普通的 HTTP GET 或 POST。API 密钥放在 key 参数中,可在账户设置里找到。每次响应都是 JSON,包含消息、状态码、服务器时间和结果。响应状态为 429 表示已达到每秒 10 次请求的上限;如需更高额度,请联系客服。
典型场景包括:从构建服务器直接推送渲染完成的视频的发布流程、从电子表格导入链接的内容工具、在网站上列出创作者视频库的插件,以及监控编码状态的脚本。官方 PHP 和 Python 客户端即将推出,因此目前请按下方示例直接调用接口。
已公开方法的汇总。
读取个人资料、余额和存储空间,拉取指定日期范围的统计报表,并列出 DMCA 通知。
先请求上传服务器,再以 multipart 表单数据提交文件,获取返回的代码和链接。
添加 URL、列出任务、查看状态和名额,并重启或清除失败的导入。
创建、重命名和列出文件夹及其中的文件。
列出、检查、查看、重命名、移动和克隆文件,并获取其缩略图。
按搜索词查找视频,并通过 URL 添加封面图或字幕。
第一个调用用于检查密钥。第二个调用把文件提交到上传服务器调用返回的服务器地址。
curl "https://filehost.net/api/account/info?key=YOUR_API_KEY"
curl "https://filehost.net/api/upload/server?key=YOUR_API_KEY"
curl -X POST -F 'api_key=YOUR_API_KEY' -F '[email protected]' \
"https://filehost.net/api/upload/server/01?key=YOUR_API_KEY"添加一个远程上传任务并输出文件代码。请对源地址使用 urlencode。
<?php
$key = 'YOUR_API_KEY';
$src = urlencode('https://example.com/video.mp4');
$res = json_decode(file_get_contents(
"https://filehost.net/api/upload/url?key=$key&url=$src"
), true);
echo $res['result']['filecode'] ?? 'failed';适用于 Node 18 或更高版本以及浏览器,前提是把密钥保存在服务器端。
const key = process.env.FILEHOST_KEY;
const code = 'FILE_CODE';
const r = await fetch(
`https://filehost.net/api/file/check?key=${key}&file_code=${code}`
);
const data = await r.json();
console.log(data.result[0].status);请不要把密钥放在客户端代码中,因为任何看到它的人都可以冒用你的账户。请通过队列调用并在收到 429 响应时退避,以遵守每秒 10 个请求的限制。请保存上传返回的文件代码,因为其他所有调用都通过该代码来引用文件。
大文件最好在网络稳定的服务器上上传。对于已经在线上的文件,建议使用 URL 导入,它使用服务器的网络连接,并立即返回任务代码。
请同时检查 HTTP 状态码和 JSON 正文中的 status 字段,并记录消息文本,它通常会说明出了什么问题。缺少文件代码或密钥过期应视为严重失败,而 429 响应则表示应等待后重试。构建批处理任务时,请在本地记录每个返回的文件代码,这样脚本崩溃后可以接着运行,而不会重复上传。
目前没有 Webhook 回调文档,因此需要通过轮询来确认任务是否完成。文档中的上传响应会返回文件代码和链接,官方客户端库尚未发布。如果你需要的功能暂时没有,请通过联系页面告诉客服。
正在评估用于集成的托管服务?请对比各家提供的接口能力。