شروع سریع
سه مرحله و شما در حال تبدیل تصاویر به 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 | کد | چه زمانی اتفاق میافتد |
|---|---|---|
| 401 | invalid_api_key | کلید API گم شده، بدشکل، ناشناخته یا باطلشده است. |
| 402 | quota_exceeded | سهمیه رایگان ماهانه استفاده شده و اعتباری باقی نمانده است. |
| 403 | account_banned | حساب مسدود شده است — تمام کلیدهای آن رد میشوند. |
| 403 | ip_blocked | آیپی تماسگیرنده در لیست مسدودشدهها است. |
| 413 | file_too_large | حجم فایل بیشتر از ۲۰ مگابایت است. |
| 422 | invalid_image / image_too_small / invalid_params | تصویر نامعتبر، تصویر بسیار کوچک یا مقدار پارامتر نامعتبر است. |
| 429 | rate_limited | محدودیت نرخ (Rate limit) برای هر کلید فراتر رفته است (پایین را ببینید). شامل هدر Retry-After است. |
| 500 | internal_error | تبدیل سمت سرور ناموفق بود — هیچ اعتباری کسر نمیشود. |
محدودیتهای نرخ (Rate limits)
محدودیتها برای هر کلید API اعمال میشوند، نه هر IP، بنابراین یک دفتر مشترک یا سرور CI هرگز بابت ترافیک دیگران جریمه نمیشود.
| محدودیت | مقدار |
|---|---|
| درخواستها در هر دقیقه، برای هر کلید | 60 |
| درخواستها در هر روز، برای هر کلید | 2 000 |
| تبدیلهای همزمان، برای هر کلید | ۲ (فراخوانیهای بیشتر منتظر میمانند، سپس کد 429) |
| حداکثر حجم فایل / رزولوشن | ۲۰ مگابایت / ۵۰ مگاپیکسل |
قیمتگذاری
هر حساب جدید ۱۰ تبدیل رایگان در هر ماه دریافت میکند، بدون نیاز به کارت اعتباری. بیشتر نیاز دارید؟ تصاویر پیشپرداختشده را بخرید — به هر مقدار (در بستههای ۵۰تایی)، با تخفیفهای حجمی. آنها هرگز منقضی نمیشوند و با سهمیه رایگان ماهانه شما ترکیب میشوند (ابتدا تبدیلهای رایگان مصرف میشوند).
تصاویر پیشپرداختشده
۰.۰۵۰ یورو/ تصویر
| تصاویر | 50–450 | 500–2 450 | 2 500–9 950 | 10 000–49 950 | 50 000+ |
|---|---|---|---|---|---|
| €/image | 0.050 | 0.040 | 0.030 | 0.020 | 0.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 برای کارهای سنگین.
دریافت نسخه ProAPI
سطح رایگان + بستههای اعتبار
یک فراخوانی REST: تصویر بفرستید، یک SVG تمیز بگیرید. ۱۰ تبدیل رایگان در ماه.
دریافت کلید APIمقایسه تمام نسخهها و قیمتها →
از قبل حساب کاربری دارید؟ ورود به پورتال مشتریان →
برای وکتورسازی در مقیاس وسیع آمادهاید؟
حساب کاربری خود را ایجاد کنید، یک کلید بگیرید و اولین فراخوانی خود را در کمتر از دو دقیقه انجام دهید.
دریافت کلید API رایگان