API

PixelToPath API

قم بتحويل الصور إلى متجهات برمجيًا من خلال استدعاء REST واحد. قم برفع ملف PNG أو JPG أو BMP أو WebP، واحصل على SVG نظيف جاهز للإنتاج. يتم تتبع الرسومات الخطية بالأبيض والأسود بواسطة Potrace، والصور الملونة بواسطة VTracer — نفس المحركات الموجودة في المحول المجاني عبر الإنترنت.

10 تحويلات مجانية كل شهر · لا يتطلب بطاقة ائتمان

10 تحويلات مجانية / شهر • استدعاء 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).

المصادقة

تتم مصادقة كل طلب باستخدام رمز Bearer في ترويسة Authorization:

Authorization: Bearer ptp_live_0123abc…
  • المفاتيح أسرار: يتم تخزينها مجزأة من جانب الخادم وتُعرض مرة واحدة فقط عند الإنشاء. هل فقدت مفتاحك؟ قم بإبطاله وأنشئ واحدًا جديدًا.
  • حساب واحد، مفاتيح متعددة: أنشئ حتى 5 مفاتيح نشطة لفصل مشاريعك. يتم حساب حصتك المجانية الشهرية لكل حساب، وليس لكل مفتاح.
  • إبطال فوري: يتوقف المفتاح المُبطل عن العمل فورًا، من البوابة أو من استجابة API لحساب محظور.

POST /v1/convert

رفع + تحويل في استدعاء واحد عديم الحالة (stateless). الاستدعاء الناجح يكلف رصيدًا واحدًا على الأكثر — الاستدعاءات الفاشلة أو غير الصالحة أو المحدودة المعدل لا تكلف شيئًا.

الطلب (multipart/form-data)

الحقل النوع الافتراضي الوصف
file file الصورة المراد تحويلها. PNG أو JPEG أو BMP أو WebP · بحد أقصى 20 ميغابايت · بحد أقصى 50 ميغابكسل · بحد أدنى 64×64 بكسل.
colormode string color <code>color</code> يستخدم محرك VTracer، و <code>binary</code> يستخدم Potrace (أبيض وأسود).
mode string spline Color (VTracer) فقط — يتم تجاهله في الوضع الثنائي. spline | polygon | none
hierarchical string stacked Color (VTracer) فقط — يتم تجاهله في الوضع الثنائي. stacked | cutout
filter_speckle int 4 Color (VTracer) فقط — يتم تجاهله في الوضع الثنائي. 0–16 — إزالة بقع الضوضاء الصغيرة.
color_precision int 6 Color (VTracer) فقط — يتم تجاهله في الوضع الثنائي. 1–8 — عدد البتات المعنوية لكل قناة لون.
layer_difference int 16 Color (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 Binary (Potrace) فقط — يتم تجاهله في وضع الألوان. تتبع المناطق الفاتحة بدلاً من المناطق الداكنة.
turdsize int 2 Binary (Potrace) فقط — يتم تجاهله في وضع الألوان. 0–20 — إزالة البقع حتى هذا الحجم.
alphamax float 1.0 Binary (Potrace) فقط — يتم تجاهله في وضع الألوان. 0–1.334 — حد تمهيد الزوايا.
opttolerance float 0.2 Binary (Potrace) فقط — يتم تجاهله في وضع الألوان. 0–10 — حد تحسين المنحنيات.

محركان، يتم اختيارهما بواسطة "colormode"

تشغل واجهة برمجة التطبيقات نفس المحركات تمامًا مثل المحول المجاني عبر الإنترنت وتطبيق سطح المكتب:

binary — Potrace

تتبع بالأبيض والأسود للرسومات الخطية والمسوحات الضوئية والرسومات التخطيطية والشعارات. يتم تتبع الجزء المظلم من الصورة (تدرج الرمادي < 50%) على خلفية بيضاء. قم بضبط المخرجات بدقة باستخدام turdsize (إزالة الضوضاء) و alphamax (تنعيم الزوايا) و opttolerance (تحسين المسار).

color — VTracer

تحويل متجه ملون متعدد الطبقات للرسوم التوضيحية والرسوم المتحركة والصور. تحكم في مستوى التفاصيل باستخدام filter_speckle و color_precision و layer_difference وملاءمة المنحنى باستخدام mode (spline, polygon, none).

تتم معالجة الصور مسبقًا تمامًا كما هو الحال في الموقع: يتم تغيير حجم الجانب الأطول إلى 1500 بكسل قبل التحويل، وتُرجع واجهة برمجة التطبيقات نوع الصورة المكتشف (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عنوان IP للمتصل مدرج في القائمة السوداء.
413file_too_largeحجم الملف أكبر من 20 ميغابايت.
422invalid_image / image_too_small / invalid_paramsصورة غير صالحة، أو صورة صغيرة جدًا، أو قيمة معلمة غير صالحة.
429rate_limitedتم تجاوز حد المعدل لكل مفتاح (انظر أدناه). يتضمن ترويسة Retry-After.
500internal_errorفشل التحويل من جانب الخادم — لا يتم خصم أي رصيد.

حدود المعدل

تُطبق الحدود لكل مفتاح API، وليس لكل IP، لذلك لا يتم معاقبة مكتب مشترك أو مشغل CI أبدًا بسبب حركة مرور شخص آخر.

الحد القيمة
الطلبات في الدقيقة، لكل مفتاح60
الطلبات في اليوم، لكل مفتاح2 000
التحويلات المتزامنة، لكل مفتاح2 (الاستدعاءات الإضافية تنتظر، ثم 429)
أقصى حجم / دقة للملف20 ميغابايت / 50 ميغابكسل

التسعير

يحصل كل حساب جديد على 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
  • شراء صورة واحدة = تحويل واحد (الأرصدة لا تنتهي صلاحيتها أبدًا)
  • لا تنتهي صلاحيتها أبدًا، تتراكم مع الباقة المجانية
  • أي كمية: 0.040 يورو/صورة من 500، وتصل إلى 0.010 يورو/صورة
شراء الصور

إضافة رصيد تلقائي: يتم تحديث رصيدك في غضون ثوانٍ من الدفع، عبر خطاف الدفع (webhook). تقوم المبالغ المستردة بخصم الأرصدة المشتراة، وبحد أقصى للرصيد الحالي. إتمام دفع آمن عبر Lemon Squeezy (يتم التعامل مع ضريبة القيمة المضافة تلقائيًا).

أمثلة برمجية

انسخ والصق وقم بالتعديل. تتحدث واجهة برمجة التطبيقات بصيغة 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");

الأسئلة الشائعة

ما الذي يُحسب كتحويل واحد؟

استدعاء POST /v1/convert ناجح واحد يُرجع SVG. الاستدعاءات الفاشلة (صورة غير صالحة، معلمات خاطئة، حد المعدل، خطأ في الخادم) واستدعاءات GET /v1/me لا يتم فرض رسوم عليها أبدًا.

كيف يتم حساب الحصة المجانية الشهرية؟

لكل حساب، في الشهر التقويمي بالتوقيت العالمي المنسق (UTC) — يتم إعادة تعيينه في اليوم الأول الساعة 00:00 بالتوقيت العالمي المنسق. إن إنشاء عدة مفاتيح API لا يضاعف الحصة المجانية: تشترك جميع مفاتيح الحساب في نفس الـ 10 تحويلات المجانية.

هل تنتهي صلاحية الأرصدة؟

لا. تبقى الأرصدة المشتراة في حسابك حتى تستخدمها. يتم استهلاكها فقط بعد استنفاد التحويلات الـ 10 المجانية الشهرية الخاصة بك.

كيف يمكنني الحصول على المزيد من التحويلات في الشهر؟

اشترِ صورًا مسبقة الدفع من بوابة العملاء — أي كمية، في دفعات من 50. ترى دائمًا بالضبط عدد الصور التي تحصل عليها: 50 صورة بـ 2.50 يورو، 500 صورة بـ 20 يورو، 2,500 بـ 75 يورو، 10,000 بـ 200 يورو، 50,000 بـ 500 يورو. يتم إضافة الأرصدة إلى حسابك تلقائيًا في غضون ثوانٍ من الدفع — لا يوجد مفتاح ترخيص ولا شيء لإدخاله.

ماذا يحدث إذا فقدت مفتاح API الخاص بي؟

يتم تخزين المفاتيح مجزأة، لذلك لا يمكن استردادها. قم بإبطال المفتاح المفقود في البوابة وأنشئ مفتاحًا جديدًا — يتم تفعيله على الفور.

ما هي صيغ الصور المدعومة؟

PNG و JPEG و BMP و WebP، بحجم يصل إلى 20 ميغابايت و 50 ميغابكسل، وبحد أدنى 64×64 بكسل. يتم تغيير حجم الصور الأكبر من 1500 بكسل على أطول جوانبها قبل التحويل، تمامًا كما هو الحال في الموقع المجاني.

اختر نسختك

نفس المحرك القوي - اختر التنسيق الذي يناسب سير عملك.

🌐

أداة عبر الإنترنت

مجاني

قم بتحويل الصور مباشرة في متصفحك. لا يوجد تثبيت، ولا حساب.

افتح الأداة
💻

تطبيق سطح المكتب

مجاني ومفتوح المصدر

المحول الكامل على جهازك، لأنظمة Windows و Linux.

تنزيل مجاني
⌨️

تطبيق سطح المكتب Pro

39€ لمرة واحدة

مجلد نشط (Hot folder)، وتحويل جماعي وواجهة سطر أوامر (CLI) لأعباء العمل الثقيلة.

احصل على Pro
🔌

API

باقة مجانية + باقات أرصدة

استدعاء REST واحد: أرسل صورة، واحصل على SVG نظيف. 10 مجانًا/شهريًا.

احصل على مفتاح API

هل أنت جاهز لتحويل المتجهات على نطاق واسع؟

أنشئ حسابك، واحصل على مفتاح وقم بإجراء استدعائك الأول في أقل من دقيقتين.

احصل على مفتاح API المجاني الخاص بك