AllBeAPI API 参考
本部分提供了 AllBeAPI 中所有可用 API 端点的详细文档。每个端点都包含请求/响应格式、参数和示例。
简介
AllBeAPI 提供了一组 RESTful API 端点,用于访问各种第三方库的功能。这些 API 设计简单且易于集成。
基础 URL
所有 API 请求的基础 URL 是:
https://res.allbeapi.top
SDK 会自动处理此基础 URL。如果您直接进行 HTTP 调用,请确保在请求中使用此 URL。
请求格式
所有 POST
请求都应将数据作为 JSON 对象在请求体中发送,并将 Content-Type
标头设置为 application/json
。
POST /service/action
Content-Type: application/json
{
"parameter1": "value1",
"parameter2": "value2"
}
响应格式
所有 API 响应都遵循标准的 JSON 结构:
成功响应
{
"success": true,
"data": {
"result": "处理后的输出"
// ... 特定于端点的其他数据
},
"metadata": {
"processing_time": 0.125, // 处理时间(秒)
"library_version": "1.0.0" // 使用的库版本
}
}
错误响应
{
"success": false,
"error": {
"code": "VALIDATION_ERROR", // 错误代码
"message": "无效的输入参数", // 错误消息
"details": { /* 特定于错误的详细信息 */ }
},
"request_id": "req_123456789" // 可选的请求 ID,用于跟踪
}
认证
目前,大多数 AllBeAPI 端点都是公开的,不需要认证。但是,将来可能会为某些端点或更高的速率限制引入 API 密钥。
如果需要 API 密钥,您需要在请求的 Authorization
标头中将其作为持有者令牌传递:
Authorization: Bearer your-api-key-here
SDK 提供了在初始化期间配置 API 密钥的选项。
文本处理
POST /marked/render
使用 Marked.js 将 Markdown 文本转换为 HTML。
参数
markdown
(string, 必需): 要转换的 Markdown 字符串。options
(object, 可选): Marked.js 选项对象。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/marked/render \
-H "Content-Type: application/json" \
-d '{
"markdown": "# 你好世界\n\n这是 **粗体** 文本。",
"options": { "gfm": true, "breaks": false }
}'
示例响应
{
"success": true,
"data": {
"html": "<h1 id=\"你好世界\">你好世界</h1>\n<p>这是 <strong>粗体</strong> 文本。</p>"
},
"metadata": {
"processing_time": 0.03,
"library_version": "[email protected]"
}
}
POST /beautifulsoup/parse
使用 BeautifulSoup 解析 HTML 并使用 CSS 选择器或 XPath 表达式提取数据。
参数
html
(string, 必需): 要解析的 HTML 字符串。selector
(string, 必需): 用于元素选择的 CSS 选择器或 XPath 表达式。action
(string, 可选, 默认:"get_text"
): 要执行的操作。可以是"get_text"
,"get_html"
,"get_attribute"
。attribute_name
(string, 可选): 如果action
是"get_attribute"
,则为要获取的属性名称。base_url
(string, 可选): 用于解析相对 URL 的基础 URL。parser
(string, 可选, 默认:"html.parser"
): 要使用的解析器 (例如,"lxml"
,"html5lib"
)。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/beautifulsoup/parse \
-H "Content-Type: application/json" \
-d '{
"html": "<div class=\"content\"><h1>标题</h1><p>内容在此</p></div>",
"selector": "h1",
"action": "get_text"
}'
示例响应
{
"success": true,
"data": {
"result": ["标题"],
"count": 1
},
"metadata": {
"processing_time": 0.05,
"library_version": "[email protected]"
}
}
POST /sanitize-html/clean
使用 sanitize-html 清理 HTML 内容以防止 XSS 攻击。
参数
html
(string, 必需): 要清理的 HTML 字符串。options
(object, 可选): sanitize-html 选项对象。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/sanitize-html/clean \
-H "Content-Type: application/json" \
-d '{
"html": "<p>安全内容</p><script>alert(\"xss\")</script>",
"options": { "allowedTags": ["p", "strong", "em"], "allowedAttributes": {} }
}'
示例响应
{
"success": true,
"data": {
"html": "<p>安全内容</p>"
},
"metadata": {
"processing_time": 0.02,
"library_version": "[email protected]"
}
}
POST /diff/compare
使用 diff 库比较两个文本块并生成差异。
参数
text1
(string, 必需): 第一个文本字符串。text2
(string, 必需): 第二个文本字符串。type
(string, 可选, 默认:"chars"
): 差异类型。可以是"chars"
,"words"
,"lines"
,"json"
。options
(object, 可选): 特定于差异类型的其他选项。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/diff/compare \
-H "Content-Type: application/json" \
-d '{
"text1": "这是旧文本。",
"text2": "这是新文本。",
"type": "words"
}'
示例响应
{
"success": true,
"data": {
"diff": [
{ "value": "这是 ", "added": false, "removed": false },
{ "value": "旧", "added": false, "removed": true },
{ "value": "新", "added": true, "removed": false },
{ "value": "文本。", "added": false, "removed": false }
]
},
"metadata": {
"processing_time": 0.01,
"library_version": "[email protected]"
}
}
代码工具
POST /prettier/format
使用 Prettier 格式化代码片段。
参数
code
(string, 必需): 要格式化的代码字符串。parser
(string, 必需): 要使用的 Prettier 解析器 (例如,"babel"
,"typescript"
,"css"
,"html"
,"markdown"
,"python"
等)。请参阅 Prettier 解析器选项。options
(object, 可选): Prettier 选项对象。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/prettier/format \
-H "Content-Type: application/json" \
-d '{
"code": "const x=1;function test(){return x;}",
"parser": "babel",
"options": { "semi": true, "singleQuote": true }
}'
示例响应
{
"success": true,
"data": {
"formatted": "const x = 1;\nfunction test() {\n return x;\n}\n"
},
"metadata": {
"processing_time": 0.15,
"library_version": "[email protected]"
}
}
POST /eslint/analyze
使用 ESLint 分析 JavaScript 或 TypeScript 代码以查找错误和代码质量问题。
参数
code
(string, 必需): 要分析的代码字符串。config
(object, 可选): ESLint 配置对象。如果未提供,则使用默认配置。filePath
(string, 可选): 用于 ESLint 的虚拟文件路径,以帮助解析配置和插件。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/eslint/analyze \
-H "Content-Type: application/json" \
-d '{
"code": "var x = 1; console.log(x)",
"config": { "rules": { "no-console": "warn", "no-unused-vars": "error" } }
}'
示例响应
{
"success": true,
"data": {
"results": [
{
"filePath": "<text>",
"messages": [
{
"ruleId": "no-console",
"severity": 1,
"message": "Unexpected console statement.",
"line": 1,
"column": 13
}
],
"errorCount": 0,
"warningCount": 1,
"fixableErrorCount": 0,
"fixableWarningCount": 0
}
],
"errorCount": 0,
"warningCount": 1
},
"metadata": {
"processing_time": 0.2,
"library_version": "[email protected]"
}
}
POST /pygments/highlight
使用 Pygments 为各种语言的代码添加语法高亮。
参数
code
(string, 必需): 要高亮的代码字符串。lexer
(string, 必需): 要使用的 Pygments 词法分析器 (例如,"python"
,"javascript"
,"html"
)。请参阅 Pygments 词法分析器列表。formatter
(string, 可选, 默认:"html"
): 要使用的 Pygments 格式化程序 (例如,"html"
,"rtf"
)。options
(object, 可选): 特定于格式化程序的选项。对于 HTML 格式化程序,可以包括"noclasses"
,"cssclass"
,"linenos"
。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/pygments/highlight \
-H "Content-Type: application/json" \
-d '{
"code": "def hello():\n print(\"Hello, World!\")",
"lexer": "python",
"options": { "cssclass": "syntax", "linenos": "table" }
}'
示例响应
{
"success": true,
"data": {
"highlighted": "<div class=\"syntax\"><table><tr><td>...</td><td>...</td></tr></table></div>" // 实际的 HTML 输出会更长
},
"metadata": {
"processing_time": 0.1,
"library_version": "[email protected]"
}
}
数据处理
POST /csv-parser/parse
将 CSV 格式的字符串转换为 JSON 对象数组或数组的数组。
参数
csv
(string, 必需): 要解析的 CSV 字符串。options
(object, 可选): csv-parse 选项对象 (例如,"delimiter"
,"columns"
,"skip_empty_lines"
)。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/csv-parser/parse \
-H "Content-Type: application/json" \
-d '{
"csv": "name,age\nAlice,30\nBob,24",
"options": { "columns": true, "skip_empty_lines": true }
}'
示例响应
{
"success": true,
"data": {
"json": [
{ "name": "Alice", "age": "30" },
{ "name": "Bob", "age": "24" }
]
},
"metadata": {
"processing_time": 0.02,
"library_version": "[email protected]"
}
}
POST /ajv/validate
使用 Ajv 根据 JSON 模式验证 JSON 数据。
参数
schema
(object, 必需): JSON 模式对象。data
(any, 必需): 要根据模式验证的 JSON 数据。options
(object, 可选): Ajv 选项。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/ajv/validate \
-H "Content-Type: application/json" \
-d '{
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer", "minimum": 0 }
},
"required": ["name", "age"]
},
"data": { "name": "Alice", "age": 30 }
}'
示例响应 (有效)
{
"success": true,
"data": {
"valid": true,
"errors": null
},
"metadata": {
"processing_time": 0.01,
"library_version": "[email protected]"
}
}
示例响应 (无效)
{
"success": true, // 请求成功,但验证失败
"data": {
"valid": false,
"errors": [
{
"instancePath": "/age",
"schemaPath": "#/properties/age/minimum",
"keyword": "minimum",
"params": { "limit": 0 },
"message": "must be >= 0"
}
]
},
"metadata": {
"processing_time": 0.01,
"library_version": "[email protected]"
}
}
媒体生成
POST /python-qrcode/generate-qrcode
使用 Python qrcode 库生成二维码图像。
参数
data
(string, 必需): 要编码到二维码中的数据。version
(integer, 可选): 控制二维码大小的整数,从 1 到 40。error_correction
(string, 可选, 默认:"M"
): 错误纠正级别。可以是"L"
,"M"
,"Q"
,"H"
。box_size
(integer, 可选, 默认:10
): 每个“盒子”的像素大小。border
(integer, 可选, 默认:4
): 边框的厚度(盒子数)。fill_color
(string, 可选, 默认:"black"
): 填充颜色。back_color
(string, 可选, 默认:"white"
): 背景颜色。image_format
(string, 可选, 默认:"png"
): 输出图像格式 (例如,"png"
,"jpeg"
)。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/python-qrcode/generate-qrcode \
-H "Content-Type: application/json" \
-d '{
"data": "https://allbeapi.com",
"box_size": 10,
"border": 2,
"image_format": "png"
}' \
--output qrcode.png
注意: 此端点直接返回图像文件 (例如, image/png
)。SDK 会将其作为 Blob (浏览器) 或字节 (Python) 处理。
POST /mermaid-cli/render
使用 Mermaid CLI 将 Mermaid 图表定义渲染为 SVG 或 PNG 图像。
参数
definition
(string, 必需): Mermaid 图表定义字符串。format
(string, 可选, 默认:"svg"
): 输出格式。可以是"svg"
或"png"
。theme
(string, 可选, 默认:"default"
): Mermaid 主题 (例如,"forest"
,"dark"
,"neutral"
)。width
(integer, 可选): 输出图像的宽度(像素)。height
(integer, 可选): 输出图像的高度(像素)。backgroundColor
(string, 可选): 背景颜色 (例如,"transparent"
,"#FFFFFF"
)。puppeteerConfig
(object, 可选): Puppeteer 启动选项。
示例请求 (cURL)
curl -X POST https://res.allbeapi.top/mermaid-cli/render \
-H "Content-Type: application/json" \
-d '{
"definition": "graph TD; A-->B; B-->C;",
"format": "svg",
"theme": "forest"
}' \
--output diagram.svg
注意: 此端点根据请求的 format
返回图像文件 (image/svg+xml
或 image/png
)。SDK 会将其作为文本 (SVG) 或 Blob/字节 (PNG) 处理。
POST /pdfkit/create
使用 PDFKit 从文本或 HTML 内容生成 PDF 文档。
参数
content
(string, 必需): 要包含在 PDF 中的主要内容。可以是纯文本或简单的 HTML (支持基本标签)。type
(string, 可选, 默认:"text"
): 内容类型。可以是"text"
或"html"
。options
(object, 可选): PDFKit 文档选项 (例如,"size"
,"margins"
,"layout"
)。operations
(array, 可选): 一个操作数组,用于向 PDF 添加更复杂的内容 (例如, 图像、表格)。每个操作都是一个对象,包含action
(例如,"addText"
,"addImage"
) 和特定于操作的参数。
示例请求 (cURL) - 简单文本
curl -X POST https://res.allbeapi.top/pdfkit/create \
-H "Content-Type: application/json" \
-d '{
"content": "你好,这是一个 PDF 文档!\n这是第二行。",
"options": { "size": "A4", "margins": { "top": 50, "bottom": 50, "left": 72, "right": 72 } }
}' \
--output document.pdf
示例请求 (cURL) - 带操作
curl -X POST https://res.allbeapi.top/pdfkit/create \
-H "Content-Type: application/json" \
-d '{
"content": "文档标题\n",
"type": "text",
"options": { "size": "LETTER" },
"operations": [
{ "action": "setFont", "params": ["Helvetica-Bold", 20] },
{ "action": "addText", "params": ["主要内容部分", { "align": "center" }] },
{ "action": "moveDown" },
{ "action": "setFont", "params": ["Helvetica", 12] },
{ "action": "addText", "params": ["这是一些常规文本,包含一个列表:\n- 项目 1\n- 项目 2"] }
]
}' \
--output document_ops.pdf
注意: 此端点返回 PDF 文件 (application/pdf
)。SDK 会将其作为 Blob (浏览器) 或字节 (Python) 处理。
POST /pillow/{action}
使用 Pillow (PIL Fork) 执行各种图像处理操作。常见的操作包括 resize
, rotate
, convert
(格式), filter
(例如, BLUR, SHARPEN), thumbnail
。
请求应为 multipart/form-data
,包含一个名为 image
的图像文件和 JSON 格式的 options
字段。
通用参数
image
(file, 必需): 要处理的图像文件。options
(JSON string, 可选): 包含特定于操作的参数的 JSON 字符串。
示例: 调整大小 (/pillow/resize
)
options
JSON: { "width": 100, "height": 100, "resample": "LANCZOS" }
(resample 可选)
示例: 转换格式 (/pillow/convert
)
options
JSON: { "format": "JPEG", "quality": 85 }
(quality 特定于 JPEG)
示例请求 (cURL - 调整大小)
# 注意:cURL 发送 multipart/form-data 可能比较复杂。
# 以下是一个概念性示例,实际使用中建议使用 SDK 或编程语言的 HTTP 客户端。
curl -X POST https://res.allbeapi.top/pillow/resize \
-F "image=@/path/to/your/image.png" \
-F "options={\"width\":200,\"height\":150,\"output_format\":\"jpeg\"}" \
--output resized_image.jpg
注意: 此端点返回处理后的图像文件。输出格式可以由 options
中的 output_format
指定,否则将尝试保留原始格式或默认为 PNG/JPEG。
错误代码
API 可能会返回以下常见错误代码:
代码 | 描述 |
---|---|
BAD_REQUEST |
请求格式错误或缺少必需参数。 |
VALIDATION_ERROR |
输入数据未能通过验证(例如,无效的 Markdown,不正确的 JSON 模式)。 |
UNAUTHORIZED |
缺少或无效的 API 密钥(如果需要)。 |
FORBIDDEN |
API 密钥无权访问此资源。 |
NOT_FOUND |
请求的端点或资源不存在。 |
INTERNAL_SERVER_ERROR |
服务器端发生意外错误。 |
SERVICE_UNAVAILABLE |
底层服务暂时不可用或超时。 |
LIBRARY_ERROR |
集成的第三方库在处理过程中引发错误。 |
错误响应通常包含一个 message
字段,提供有关错误的更多详细信息,有时还包含一个 details
对象,其中包含特定于错误的上下文。