API

رابط برنامه‌نویسی (API) PixelToPath

وکتورسازی برنامه‌ریزی‌شده تصاویر تنها با یک فراخوانی REST. یک فایل PNG، JPG، BMP یا WebP آپلود کنید و یک SVG تمیز و آماده برای تولید دریافت کنید. خطوط سیاه و سفید توسط Potrace و تصاویر رنگی توسط VTracer ردیابی می‌شوند — همان موتورهای مبدل رایگان آنلاین.

۱۰ تبدیل رایگان در هر ماه · بدون نیاز به کارت اعتباری

۱۰ تبدیل رایگان در ماه • ۱ فراخوانی REST • موتورهای Potrace + VTracer • اعتبارها هرگز منقضی نمی‌شوند

شروع سریع

سه مرحله و شما در حال تبدیل تصاویر به SVG از ترمینال، اسکریپت‌ها یا برنامه‌تان هستید.

۱ · ایجاد حساب کاربری

با ایمیل و یک رمز عبور (حداقل ۱۰ کاراکتر) در پورتال مشتریان ثبت‌نام کنید. نیازی به کارت اعتباری نیست.

۲ · ایجاد کلید API

در پورتال، یک کلید ایجاد کنید. این کلید فقط یک‌بار نمایش داده می‌شود — آن را در جای امنی نگه دارید. کلیدها شبیه ptp_live_… هستند و در هر زمانی قابل ابطال می‌باشند.

۳ · فراخوانی /v1/convert

تصویر خود را به صورت multipart/form-data با کلید خود در هدر Authorization ارسال کنید. فایل SVG در بدنه (body) پاسخ برمی‌گردد.

اولین تبدیل شما

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).

احراز هویت

هر درخواست با یک توکن Bearer در هدر Authorization احراز هویت می‌شود:

Authorization: Bearer ptp_live_0123abc…
  • کلیدها محرمانه هستند: آن‌ها به صورت هش‌شده در سرور ذخیره می‌شوند و فقط یک‌بار هنگام ایجاد نمایش داده می‌شوند. کلید را گم کرده‌اید؟ آن را باطل کنید و کلید جدیدی بسازید.
  • یک حساب، چند کلید: تا ۵ کلید فعال ایجاد کنید تا پروژه‌های خود را از هم جدا کنید. سهمیه رایگان ماهانه شما بر اساس حساب محاسبه می‌شود، نه هر کلید.
  • ابطال فوری: یک کلید باطل‌شده، بلافاصله چه از طریق پورتال و چه در پاسخ API (برای حساب مسدودشده) از کار می‌افتد.

POST /v1/convert

آپلود + تبدیل در یک فراخوانی بدون حالت (stateless). هر فراخوانی موفق حداکثر ۱ اعتبار هزینه دارد — فراخوانی‌های ناموفق، نامعتبر یا محدودشده هزینه‌ای ندارند.

درخواست (multipart/form-data)

فیلد نوع پیش‌فرض توضیحات
file file تصویر برای تبدیل. فرمت‌های PNG، JPEG، BMP یا WebP · حداکثر ۲۰ مگابایت · حداکثر ۵۰ مگاپیکسل · حداقل ۶۴×۶۴ پیکسل.
colormode string color گزینه <code>color</code> از موتور VTracer و <code>binary</code> از Potrace (سیاه و سفید) استفاده می‌کند.
mode string spline فقط برای حالت رنگی (VTracer) — در حالت باینری نادیده گرفته می‌شود. spline | polygon | none
hierarchical string stacked فقط برای حالت رنگی (VTracer) — در حالت باینری نادیده گرفته می‌شود. stacked | cutout
filter_speckle int 4 فقط برای حالت رنگی (VTracer) — در حالت باینری نادیده گرفته می‌شود. 0–16 — لکه‌های نویز کوچک را حذف می‌کند.
color_precision int 6 فقط برای حالت رنگی (VTracer) — در حالت باینری نادیده گرفته می‌شود. 1–8 — تعداد بیت‌های معنادار در هر کانال رنگ.
layer_difference int 16 فقط برای حالت رنگی (VTracer) — در حالت باینری نادیده گرفته می‌شود. 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 فقط برای حالت باینری (Potrace) — در حالت رنگی نادیده گرفته می‌شود. به‌جای نواحی تاریک، نواحی روشن را ردیابی می‌کند.
turdsize int 2 فقط برای حالت باینری (Potrace) — در حالت رنگی نادیده گرفته می‌شود. 0–20 — لکه‌ها را تا این اندازه سرکوب می‌کند.
alphamax float 1.0 فقط برای حالت باینری (Potrace) — در حالت رنگی نادیده گرفته می‌شود. 0–1.334 — آستانه نرم‌کردن گوشه‌ها.
opttolerance float 0.2 فقط برای حالت باینری (Potrace) — در حالت رنگی نادیده گرفته می‌شود. 0–10 — تلورانس بهینه‌سازی منحنی.

دو موتور، بر اساس انتخاب "colormode"

API دقیقاً از همان موتورهای مبدل رایگان آنلاین و برنامه دسکتاپ استفاده می‌کند:

binary — موتور Potrace

ردیابی سیاه و سفید برای خطوط هنری، اسکن‌ها، طرح‌های اولیه و لوگوها. قسمت تیره تصویر (خاکستری کمتر از ۵۰٪) روی پس‌زمینه سفید ردیابی می‌شود. می‌توانید خروجی را با پارامترهای turdsize (حذف نویز)، alphamax (صاف‌کردن گوشه‌ها) و opttolerance (بهینه‌سازی مسیر) تنظیم دقیق کنید.

color — موتور VTracer

وکتورسازی رنگی لایه‌ای برای تصویرسازی‌ها، کارتون‌ها و عکس‌ها. کنترل سطح جزئیات با filter_speckle، color_precision، layer_difference و برازش منحنی با پارامتر mode (اسپلاین، چندضلعی، هیچکدام).

تصاویر دقیقاً مانند وب‌سایت پیش‌پردازش می‌شوند: طولانی‌ترین ضلع قبل از تبدیل به ۱۵۰۰ پیکسل تغییر اندازه می‌دهد، و API نوع شناسایی‌شده تصویر (line_art، logo، photo یا illustration) را در هدر X-Detected-Type برمی‌گرداند.

پاسخ

در صورت موفقیت: کد 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آی‌پی تماس‌گیرنده در لیست مسدودشده‌ها است.
413file_too_largeحجم فایل بیشتر از ۲۰ مگابایت است.
422invalid_image / image_too_small / invalid_paramsتصویر نامعتبر، تصویر بسیار کوچک یا مقدار پارامتر نامعتبر است.
429rate_limitedمحدودیت نرخ (Rate limit) برای هر کلید فراتر رفته است (پایین را ببینید). شامل هدر Retry-After است.
500internal_errorتبدیل سمت سرور ناموفق بود — هیچ اعتباری کسر نمی‌شود.

محدودیت‌های نرخ (Rate limits)

محدودیت‌ها برای هر کلید API اعمال می‌شوند، نه هر IP، بنابراین یک دفتر مشترک یا سرور CI هرگز بابت ترافیک دیگران جریمه نمی‌شود.

محدودیت مقدار
درخواست‌ها در هر دقیقه، برای هر کلید60
درخواست‌ها در هر روز، برای هر کلید2 000
تبدیل‌های همزمان، برای هر کلید۲ (فراخوانی‌های بیشتر منتظر می‌مانند، سپس کد 429)
حداکثر حجم فایل / رزولوشن۲۰ مگابایت / ۵۰ مگاپیکسل

قیمت‌گذاری

هر حساب جدید ۱۰ تبدیل رایگان در هر ماه دریافت می‌کند، بدون نیاز به کارت اعتباری. بیشتر نیاز دارید؟ تصاویر پیش‌پرداخت‌شده را بخرید — به هر مقدار (در بسته‌های ۵۰تایی)، با تخفیف‌های حجمی. آن‌ها هرگز منقضی نمی‌شوند و با سهمیه رایگان ماهانه شما ترکیب می‌شوند (ابتدا تبدیل‌های رایگان مصرف می‌شوند).

رایگان

۰ یورو/ماه

  • ۱۰ تبدیل / ماه
  • هر دو موتور (Potrace + VTracer)
  • تا ۵ کلید API
ایجاد حساب کاربری

تصاویر پیش‌پرداخت‌شده

۰.۰۵۰ یورو/ تصویر

قیمت‌گذاری حجمی — هرچه تصاویر بیشتری بخرید، هرکدام ارزان‌تر می‌شود
تصاویر50–450500–2 4502 500–9 95010 000–49 95050 000+
€/image0.0500.0400.0300.0200.010
  • ۱ تصویر خریداری شده = ۱ تبدیل (اعتبارها هرگز منقضی نمی‌شوند)
  • بدون انقضا، با سطح رایگان ترکیب می‌شود
  • به هر تعداد: ۰.۰۴۰ یورو/تصویر از ۵۰۰تا، تا ۰.۰۱۰ یورو/تصویر
خرید تصویر

اعتباردهی خودکار: موجودی شما در عرض چند ثانیه پس از پرداخت از طریق وب‌هوک پرداخت به‌روز می‌شود. بازپرداخت‌ها، اعتبارهای خریداری‌شده را تا سقف موجودی فعلی کسر می‌کنند. پرداخت امن توسط 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

پایتون

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)

جاوا اسکریپت

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");

سوالات متداول

چه چیزی به عنوان یک تبدیل به حساب می‌آید؟

یک فراخوانی موفق POST /v1/convert که فایل SVG برمی‌گرداند. فراخوانی‌های ناموفق (تصویر نامعتبر، پارامترهای اشتباه، محدودیت نرخ، خطای سرور) و فراخوانی‌های GET /v1/me هرگز هزینه‌ای ندارند.

سهمیه رایگان ماهانه چگونه محاسبه می‌شود؟

بر اساس حساب کاربری، در تقویم ماهانه UTC — در روز اول هر ماه ساعت 00:00 UTC بازنشانی می‌شود. ایجاد چندین کلید API سهمیه رایگان را چند برابر نمی‌کند: تمام کلیدهای یک حساب همان ۱۰ تبدیل رایگان را به اشتراک می‌گذارند.

آیا اعتبارها منقضی می‌شوند؟

خیر. اعتبارهای خریداری‌شده تا زمانی که از آن‌ها استفاده کنید در حساب شما باقی می‌مانند. آن‌ها تنها پس از اتمام ۱۰ تبدیل رایگان ماهانه شما مصرف می‌شوند.

چگونه می‌توانم تبدیل‌های بیشتری در یک ماه داشته باشم؟

تصاویر پیش‌پرداخت‌شده را از پورتال مشتریان بخرید — به هر مقداری، در بسته‌های ۵۰تایی. شما همیشه دقیقاً می‌بینید که چه تعداد تصویر دریافت می‌کنید: ۵۰ تصویر ۲.۵۰ یورو، ۵۰۰ تصویر ۲۰ یورو، ۲,۵۰۰ تصویر ۷۵ یورو، ۱۰,۰۰۰ تصویر ۲۰۰ یورو، ۵۰,۰۰۰ تصویر ۵۰۰ یورو. اعتبارها به طور خودکار در عرض چند ثانیه پس از پرداخت به حساب شما اضافه می‌شوند — بدون کلید لایسنس، بدون نیاز به وارد کردن چیزی.

اگر کلید API خود را گم کنم چه اتفاقی می‌افتد؟

کلیدها به صورت هش‌شده ذخیره می‌شوند، بنابراین قابل بازیابی نیستند. کلید گم‌شده را در پورتال باطل کنید و یک کلید جدید بسازید — تغییرات بلافاصله اعمال می‌شوند.

کدام فرمت‌های تصویری پشتیبانی می‌شوند؟

فرمت‌های PNG، JPEG، BMP و WebP، تا حجم ۲۰ مگابایت و ۵۰ مگاپیکسل، حداقل ۶۴×۶۴ پیکسل. تصاویر بزرگتر از ۱۵۰۰ پیکسل در طولانی‌ترین ضلع خود، دقیقاً مانند وب‌سایت رایگان قبل از تبدیل کوچک‌تر می‌شوند.

نسخه خود را انتخاب کنید

همان موتور قدرتمند - فرمتی را انتخاب کنید که با گردش کار شما مطابقت دارد.

🌐

ابزار آنلاین

رایگان

تبدیل تصاویر مستقیماً در مرورگر شما. بدون نیاز به نصب یا حساب کاربری.

باز کردن ابزار
💻

برنامه دسکتاپ

رایگان و متن‌باز

مبدل کامل روی رایانه شما، برای ویندوز و لینوکس.

دانلود رایگان
⌨️

اپ دسکتاپ Pro

۳۹ یورو یک‌بار پرداخت

پوشه داغ (Hot folder)، تبدیل دسته‌ای و CLI برای کارهای سنگین.

دریافت نسخه Pro
🔌

API

سطح رایگان + بسته‌های اعتبار

یک فراخوانی REST: تصویر بفرستید، یک SVG تمیز بگیرید. ۱۰ تبدیل رایگان در ماه.

دریافت کلید API

برای وکتورسازی در مقیاس وسیع آماده‌اید؟

حساب کاربری خود را ایجاد کنید، یک کلید بگیرید و اولین فراخوانی خود را در کمتر از دو دقیقه انجام دهید.

دریافت کلید API رایگان