התחלה מהירה
שלושה צעדים ואתם ממירים תמונות ל-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…
- מפתחות הם סודות: הם נשמרים מוצפנים (hash) בשרת ומוצגים רק פעם אחת ביצירה. איבדתם מפתח? שללו אותו וצרו חדש.
- חשבון אחד, כמה מפתחות: צרו עד 5 מפתחות פעילים להפרדת הפרויקטים שלכם. מכסת החינם החודשית נספרת לחשבון, לא למפתח.
- שלילה מיידית: מפתח שנשלל מפסיק לעבוד מיד, מהפורטל או מתגובת ה-API של חשבון חסום.
POST /v1/convert
העלאה + המרה בקריאה אחת חסרת מצב. כל קריאה מוצלחת עולה לכל היותר קרדיט 1 — קריאות שנכשלו, לא תקינות או שחסמו מהירותן לא עולות דבר.
הבקשה (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 |
מצב צבע (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
שרטוט שחור-לבן של איורי קו, סריקות, סקיצות ולוגואים. החלק הכהה של התמונה (גווני אפור < 50%) שורטט על רקע לבן. כווננו את הפלט עם turdsize (הסרת רעשים), alphamax (עיגול פינות) ו-opttolerance (אופטימיזציית נתיבים).
color — VTracer
וקטוריזציית צבע בשכבות לאיורים, לקריקטורות ולצילומים. שלטו ברמת הפירוט עם filter_speckle, color_precision, layer_difference ובהתאמת העקומות עם mode (ספליין, מצולע, ללא).
תמונות עוברות עיבוד מקדים בדיוק כמו באתר: הצלע הארוכה משונה ל-1500 פיקסל לפני ההמרה, וה-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 | כתובת ה-IP של הקורא נמצאת ברשימה חסומה. |
| 413 | file_too_large | קובץ גדול מ-20 מ״ב. |
| 422 | invalid_image / image_too_small / invalid_params | תמונה לא תקינה, תמונה קטנה מדי או ערך פרמטר לא תקין. |
| 429 | rate_limited | חריגה מהגבלת הקצב למפתח (ראו למטה). כולל כותרת Retry-After. |
| 500 | internal_error | ההמרה נכשלה בשרת — לא נגבה קרדיט. |
הגבלות קצב
ההגבלות חלות למפתח ולא לכתובת IP, כך שמשרד משותף או ריצת CI לא ייפגעו מהתנועה של מישהו אחר.
| הגבלה | ערך |
|---|---|
| בקשות לדקה, למפתח | 60 |
| בקשות ליום, למפתח | 2 000 |
| המרות במקביל, למפתח | 2 (קריאות נוספות ממתינות, ואז 429) |
| גודל קובץ / רזולוציה מקסימליים | 20 מ״ב / 50 מגפיקסל |
מחירון
כל חשבון חדש מקבל 10 המרות חינם בכל חודש, בלי כרטיס אשראי. צריכים יותר? קנו תמונות בתשלום מראש — בכל כמות (בחבילות של 50), עם הנחות כמות. הן לעולם לא פגות ומצטברות עם מכסת החינם החודשית (ההמרות החינמיות נצרכות קודם).
תמונות בתשלום מראש
€0.050/ תמונה
| תמונות | 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 |
- תמונה שנקנתה = המרה אחת (הקרדיטים ללא תפוגה)
- לא פגות לעולם, מצטברות עם החבילה החינמית
- בכל כמות: €0.040 לתמונה מ-500, ועד €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");
שאלות נפוצות
מה נחשב המרה אחת?
קריאת POST /v1/convert מוצלחת אחת שמחזירה SVG. קריאות שנכשלו (תמונה לא תקינה, פרמטרים שגויים, חסימת קצב, שגיאת שרת) וקריאות 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?
מפתחות נשמרים מוצפנים (hash), ולכן אי אפשר לשחזר אותם. שללו את המפתח שאבד בפורטל וצרו חדש — השינוי נכנס לתוקף מיד.
אילו פורמטי תמונה נתמכים?
PNG, JPEG, BMP ו-WebP, עד 20 מ״ב ו-50 מגפיקסל, לפחות 64×64 פיקסל. תמונות שצלען הארוכה עולה על 1500 פיקסל משונות לפני ההמרה, בדיוק כמו באתר החינמי.
בחרו את הגרסה שלכם
אותו מנוע חזק – בחרו את הפורמט שמתאים לזרימת העבודה שלכם.
כלי אונליין
חינם
המירו תמונות ישירות בדפדפן. בלי התקנה, בלי חשבון.
פתחו את הכליאפליקציית דסקטופ
חינם וקוד פתוח
הממיר המלא על המחשב שלכם, ל-Windows ו-Linux.
הורידו חינםאפליקציית דסקטופ Pro
€39 חד-פעמי
תיקייה חמה, המרה באצווה ו-CLI לעומסי עבודה כבדים.
לרכישת ProAPI
חבילה חינמית + חבילות קרדיטים
קריאת REST אחת: שולחים תמונה, מקבלים SVG נקי. 10 חינם בחודש.
הוציאו מפתח APIהשוו בין כל הגרסאות והמחירים ←
כבר יש לכם חשבון? כניסה לפורטל לקוחות ←
מוכנים להמיר לווקטור בקנה מידה?
צרו חשבון, קחו מפתח ובצעו את הקריאה הראשונה שלכם בפחות משתי דקות.
קבלו מפתח API חינם