文件转换 API
用一个 HTTP 请求完成 Office 转 PDF、PDF 转图片、PDF 合并。免费注册即可使用。
API Key 鉴权
登录后在 Dashboard 创建
每日 50 次
每个 Key 独立计额,北京时间 0 点重置
转完即焚
文件仅在内存中处理,不存储
快速开始
- 登录后前往 Dashboard → API Keys 创建 Key(明文只显示一次)
- 请求头携带 Authorization: Bearer mk_xxx
- 成功时响应体就是转换后的文件;失败时返回 JSON { code, msg }
端点
| 端点 | 说明 | 参数 |
|---|---|---|
POST/api/v1/convert/office-to-pdf | Office 文档转 PDF(docx / doc / pptx / ppt / xlsx / xls / odt / odp / ods / rtf / txt / csv) | file:要转换的文件(multipart) |
POST/api/v1/convert/html-to-pdf | HTML 文件或网页 URL 转 PDF | file:.html 文件;或 url:网页地址(二选一,内网地址会被拒绝) |
POST/api/v1/convert/markdown-to-pdf | Markdown 转 PDF(带默认排版样式) | file:.md 文件(multipart) |
POST/api/v1/convert/pdf-to-images | PDF 转图片(150 DPI;单页返回图片,多页返回 zip) | file:PDF 文件;format:jpg(默认)或 png |
POST/api/v1/convert/merge-pdf | 多个 PDF 按顺序合并为一个 | files:两个以上 PDF 文件(按字段顺序合并) |
GET/api/v1/usage | 查询当前 Key 今日用量与剩余额度 | 无参数 |
示例代码
curl
# docx 转 PDF
curl -X POST "https://tools.cooconsbit.com/api/v1/convert/office-to-pdf" \
-H "Authorization: Bearer mk_your_api_key" \
-F "file=@report.docx" \
-o report.pdf
# PDF 转 PNG 图片
curl -X POST "https://tools.cooconsbit.com/api/v1/convert/pdf-to-images" \
-H "Authorization: Bearer mk_your_api_key" \
-F "file=@report.pdf" -F "format=png" \
-o pages.zip
# 查询额度
curl "https://tools.cooconsbit.com/api/v1/usage" -H "Authorization: Bearer mk_your_api_key"Python (requests)
import requests
API_KEY = "mk_your_api_key"
BASE = "https://tools.cooconsbit.com"
# docx 转 PDF
with open("report.docx", "rb") as f:
resp = requests.post(
f"{BASE}/api/v1/convert/office-to-pdf",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"file": ("report.docx", f)},
timeout=120,
)
resp.raise_for_status()
with open("report.pdf", "wb") as out:
out.write(resp.content)
# 合并两个 PDF
resp = requests.post(
f"{BASE}/api/v1/convert/merge-pdf",
headers={"Authorization": f"Bearer {API_KEY}"},
files=[
("files", ("a.pdf", open("a.pdf", "rb"))),
("files", ("b.pdf", open("b.pdf", "rb"))),
],
timeout=120,
)
resp.raise_for_status()
open("merged.pdf", "wb").write(resp.content)Node.js
// Node.js 18+(内置 fetch / FormData)
import { readFile, writeFile } from "node:fs/promises";
const API_KEY = "mk_your_api_key";
const BASE = "https://tools.cooconsbit.com";
const form = new FormData();
form.append(
"file",
new Blob([await readFile("report.docx")]),
"report.docx"
);
const resp = await fetch(`${BASE}/api/v1/convert/office-to-pdf`, {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}` },
body: form,
});
if (!resp.ok) {
console.error(await resp.json()); // { code, msg }
process.exit(1);
}
await writeFile("report.pdf", Buffer.from(await resp.arrayBuffer()));错误码
| 401 | API Key 无效或缺失 |
| 422 | 参数错误:文件缺失 / 类型不支持 / 超过 20MB / 内容与扩展名不符 |
| 429 | 超出当日额度 |
| 500 | 转换失败(文件损坏等) |
| 503 | 转换服务暂不可用 |
限制
- 单文件最大 20MB
- 每个 API Key 每日 50 次,每账号最多 5 个 Key
- 转换超时 60 秒
- 文件不落盘、不存储:转换在内存中完成,响应返回后即释放
网页版(免 Key,匿名可用):文件格式转换大全