API

PixelToPath API

只需一个 REST 请求即可通过编程方式矢量化图像。上传 PNG、JPG、BMP 或 WebP 文件,即可返回干净、生产级的 SVG。黑白线稿由 Potrace 描摹,彩色图像由 VTracer 描摹 — 引擎与免费在线转换器相同。

每月 10 次免费转换 · 无需信用卡

每月 10 次免费转换 • 1 个 REST 请求 • Potrace + VTracer 引擎 • 积分永不过期

快速入门

只需三步,您就可以从终端、脚本或应用中将图像转换为 SVG。

1 · 创建您的帐户

使用您的电子邮件和密码(10 个字符以上)在客户门户上注册。无需信用卡。

2 · 创建 API 密钥

在门户中创建一个密钥。它仅显示一次 — 请妥善保存。密钥类似于 ptp_live_…,可随时撤销。

3 · 调用 /v1/convert

将图像作为 multipart/form-data 发送,并在 Authorization 标头中附上密钥。SVG 会在响应主体中返回。

您的第一次转换

curl -sS -f -X POST https://api.pixel-to-path.com/v1/convert \
  -H "Authorization: Bearer ptp_live_YOUR_KEY" \
  -F "[email protected]" \
  -F "colormode=binary" \
  -o logo.svg

交互式参考文档:pixel-to-path.com/v1/docs (OpenAPI/Swagger).

身份验证

每个请求都通过 Authorization 标头中的 Bearer 令牌进行身份验证:

Authorization: Bearer ptp_live_0123abc…
  • 密钥是秘密:它们在服务器端经过哈希存储,并且在创建时仅显示一次。丢失密钥?撤销它并创建一个新密钥。
  • 一个帐户,多个密钥:最多可创建 5 个有效密钥以分离您的项目。您的每月免费额度按帐户计算,而不是按密钥计算。
  • 即时撤销:已撤销的密钥会立即停止工作,无论是从门户撤销还是封禁帐户的 API 响应。

POST /v1/convert

在单个无状态调用中完成上传和转换。一次成功的调用最多消耗 1 个积分 — 失败、无效或受速率限制的调用不收费。

请求 (multipart/form-data)

字段 类型 默认值 描述
file file 要转换的图像。PNG、JPEG、BMP 或 WebP · 最大 20 MB · 最大 5000 万像素 · 最小 64×64 像素。
colormode string color <code>color</code> 使用 VTracer 引擎,<code>binary</code> 使用 Potrace(黑白)。
mode string spline 仅限 Color (VTracer) — 在 binary 模式下被忽略。 spline | polygon | none
hierarchical string stacked 仅限 Color (VTracer) — 在 binary 模式下被忽略。 stacked | cutout
filter_speckle int 4 仅限 Color (VTracer) — 在 binary 模式下被忽略。 0–16 — 去除细小的噪点斑块。
color_precision int 6 仅限 Color (VTracer) — 在 binary 模式下被忽略。 1–8 — 每个颜色通道的有效位数。
layer_difference int 16 仅限 Color (VTracer) — 在 binary 模式下被忽略。 0–64 — 颜色图层之间的距离。
corner_threshold int 60 0–180 — 角点检测角度(两种引擎通用)。
length_threshold float 4.0 3.5–10 — 最小分段长度(两种引擎通用)。
splice_threshold int 45 0–180 — 路径拆分角度(两种引擎通用)。
path_precision int 3 0–8 — 路径坐标中的小数位数。
invert bool false 仅限 Binary (Potrace) — 在 color 模式下被忽略。 描摹浅色区域而不是深色区域。
turdsize int 2 仅限 Binary (Potrace) — 在 color 模式下被忽略。 0–20 — 抑制不超过此尺寸的斑点。
alphamax float 1.0 仅限 Binary (Potrace) — 在 color 模式下被忽略。 0–1.334 — 角点平滑阈值。
opttolerance float 0.2 仅限 Binary (Potrace) — 在 color 模式下被忽略。 0–10 — 曲线优化容差。

由 "colormode" 决定的两个引擎

API 运行的引擎与免费在线转换器和桌面应用完全相同:

binary — Potrace

对线稿、扫描件、草图和徽标进行黑白描摹。图像的暗部(灰度 < 50%)将被描摹在白色背景上。可以使用 turdsize(降噪)、alphamax(平滑拐角)和 opttolerance(路径优化)微调输出。

color — VTracer

用于插画、卡通和照片的分层彩色矢量化。通过 filter_specklecolor_precisionlayer_difference 控制细节水平,并通过 mode (spline, polygon, none) 控制曲线拟合。

图像的预处理与网站上完全相同:在转换之前,最长边将被调整为 1500 像素,API 会在 X-Detected-Type 标头中返回检测到的图像类型(line_artlogophotoillustration)。

响应

成功时:200 OK 并且带有 image/svg+xml — 主体即是 SVG 文件本身。包含信息的标头:

标头 描述
X-Credits-Remaining扣除本次调用后,帐户上剩余的付费积分。
X-Free-Remaining本月剩余的免费转换次数。
X-Detected-Type检测到的图像类型 (信息):line_art, logo, photo 或 illustration。
X-Processing-Time服务器处理时间(秒)。

GET /v1/me

用于调用该请求的密钥的帐户状态。免费 — 绝不计入您的额度,绝不扣分。

响应示例

GET /v1/me
Authorization: Bearer ptp_live_…

{
  "key": { "name": "prod", "prefix": "ptp_live_0123abc", … },
  "usage": {
    "month": "2026-09", "free_used": 7, "free_limit": 10,
    "free_remaining": 3, "resets_at": "2026-10-01T00:00:00+00:00"
  },
  "credits": { "balance": 120 }
}

错误

每个错误都会返回一致的 JSON 格式。失败的调用永远不会消耗积分。

HTTP/1.1 402 Payment Required
{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly free quota used and no credits left.",
    "usage": { "free_used": 10, "free_limit": 10, "credits": 0 }
  }
}
HTTP 代码 出现情况
401invalid_api_key缺少、格式错误、未知或已撤销的 API 密钥。
402quota_exceeded每月免费额度已用完,且无剩余积分。
403account_banned该帐户已被封禁 — 其所有密钥均被拒绝。
403ip_blocked调用者 IP 在阻止列表中。
413file_too_large文件大于 20 MB。
422invalid_image / image_too_small / invalid_params图像无效、图像太小或参数值无效。
429rate_limited超出了每个密钥的速率限制 (见下文)。包含 Retry-After 标头。
500internal_error服务器端转换失败 — 不收取积分。

速率限制

限制按 API 密钥应用,而不是按 IP 应用,因此共享办公室或 CI 运行器永远不会因为其他人的流量而受罚。

限制
每分钟请求数 (每个密钥)60
每天请求数 (每个密钥)2 000
并发转换数 (每个密钥)2 (多余的调用将等待,随后返回 429)
最大文件大小 / 分辨率20 MB / 5000 万像素

定价

每个新帐户都会获得每月 10 次免费转换,无需信用卡。需要更多?购买预付费图像 — 任意数量 (以 50 张为一批次),并享受批量折扣。它们永不过期,并可与您的每月免费额度叠加 (优先消耗免费转换次数)。

免费

0 €/ 月

  • 每月 10 次转换
  • 两种引擎 (Potrace + VTracer)
  • 最多 5 个 API 密钥
创建帐户

预付费图像

0.050 €/ 张图像

阶梯定价 — 购买的图像越多,单价越便宜
图片数50–450500–2 4502 500–9 95010 000–49 95050 000+
€/image0.0500.0400.0300.0200.010
  • 购买 1 张图像 = 1 次转换 (积分永不过期)
  • 永不过期,与免费层叠加
  • 任意数量:从 500 张起 0.040 €/张,最低 0.010 €/张
购买图像

自动发放积分:付款后几秒钟内通过付款 webhook 更新您的余额。退款将扣除购买的积分,上限为当前余额。由 Lemon Squeezy 提供安全结账 (自动处理增值税)。

代码示例

复制并修改使用。该 API 使用简单的 multipart/form-data,因此任何 HTTP 客户端均可运行。

cURL

curl -sS -f -X POST https://api.pixel-to-path.com/v1/convert \
  -H "Authorization: Bearer ptp_live_YOUR_KEY" \
  -F "[email protected]" \
  -F "colormode=color" \
  -F "filter_speckle=4" \
  -o photo.svg

Python

import requests

resp = requests.post(
    "https://api.pixel-to-path.com/v1/convert",
    headers={"Authorization": "Bearer ptp_live_YOUR_KEY"},
    files={"file": open("photo.jpg", "rb")},
    data={"colormode": "color", "filter_speckle": 4},
)
resp.raise_for_status()
print(resp.headers["X-Credits-Remaining"], "credits left")
with open("photo.svg", "wb") as f:
    f.write(resp.content)

JavaScript

const form = new FormData();
form.append("file", new Blob([imageBytes]), "photo.jpg");
form.append("colormode", "color");

const resp = await fetch("https://api.pixel-to-path.com/v1/convert", {
  method: "POST",
  headers: { "Authorization": "Bearer ptp_live_YOUR_KEY" },
  body: form,
});
if (!resp.ok) {
  const { error } = await resp.json();
  throw new Error(`${error.code}: ${error.message}`);
}
const svg = await resp.text();
console.log(resp.headers.get("X-Credits-Remaining"), "credits left");

常见问题解答

什么算作一次转换?

一次成功返回 SVG 的 POST /v1/convert 调用。失败的调用 (无效图像、错误参数、速率受限、服务器错误) 和 GET /v1/me 调用永远不会被收费。

如何计算每月免费额度?

按帐户,以 UTC 日历月计算 — 它在 1 日的 00:00 UTC 重置。创建多个 API 密钥不会增加免费额度:一个帐户的所有密钥共享相同的 10 次免费转换。

积分会过期吗?

不会。购买的积分会保留在您的帐户中,直到您使用它们。只有在您的每月 10 次免费转换次数耗尽后,才会消耗它们。

我如何在一个月内获得更多转换次数?

从客户门户购买预付费图像 — 任意数量,以 50 张为一批。您始终能准确看到您获得的图像数量:50 张 2.50 €,500 张 20 €,2,500 张 75 €,10,000 张 200 €,50,000 张 500 €。积分将在付款后几秒钟内自动添加到您的帐户中 — 没有许可证密钥,不需要输入任何内容。

如果我丢失了 API 密钥怎么办?

密钥以哈希形式存储,因此无法恢复。在门户中撤销丢失的密钥并创建一个新密钥 — 它会立即生效。

支持哪些图像格式?

PNG、JPEG、BMP 和 WebP,最大 20 MB 和 5000 万像素,至少 64×64 像素。最长边超过 1500 像素的图像会在转换前调整大小,这与免费网站上完全相同。

选择您的版本

同样强大的引擎 - 选择适合您工作流程的格式。

🌐

在线工具

免费

直接在浏览器中转换图像。无需安装,无需注册。

打开工具
💻

桌面应用

免费 & 开源

在您的计算机上的完整转换器,适用于 Windows & Linux。

免费下载
⌨️

桌面应用 Pro

39 € 一次性付费

热文件夹、批量转换和 CLI,适合繁重的工作负载。

获取 Pro 版
🔌

API

免费套餐 + 积分包

一个 REST 请求:发送图像,获取干净的 SVG。每月 10 次免费。

获取 API 密钥

准备好进行大规模矢量化了吗?

不到两分钟即可创建您的帐户,获取密钥并进行首次调用。

获取免费的 API 密钥