← 返回首页 | English | 中文

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+xmlimage/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 对象,其中包含特定于错误的上下文。