เริ่มต้นใช้งานด่วน
เพียงสามขั้นตอน คุณก็สามารถแปลงภาพเป็น SVG จากเทอร์มินัล, สคริปต์ หรือแอปพลิเคชันของคุณได้ทันที
1 · สร้างบัญชีของคุณ
ลงทะเบียนในพอร์ทัลไคลเอนต์ด้วยอีเมลและรหัสผ่าน (10 ตัวอักษรขึ้นไป) ไม่ต้องใช้บัตรเครดิต
2 · สร้าง API key
ในพอร์ทัล ให้สร้างคีย์ คีย์จะแสดงเพียงครั้งเดียว — โปรดเก็บรักษาให้ปลอดภัย คีย์จะมีรูปแบบเช่น ptp_live_… และสามารถยกเลิกได้ตลอดเวลา
3 · เรียกใช้งาน /v1/convert
ส่งภาพของคุณในรูปแบบ multipart/form-data พร้อมแนบคีย์ของคุณใน Authorization header คุณจะได้รับ SVG กลับมาใน response 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).
การยืนยันตัวตน (Authentication)
ทุกคำขอ (request) ต้องยืนยันตัวตนด้วย Bearer token ใน Authorization header:
Authorization: Bearer ptp_live_0123abc…
- คีย์คือความลับ: คีย์จะถูกจัดเก็บแบบแฮช (hashed) บนเซิร์ฟเวอร์ และแสดงเพียงครั้งเดียวเมื่อสร้าง หากทำคีย์หาย? ให้ยกเลิกและสร้างใหม่
- หนึ่งบัญชี, หลายคีย์: สร้างคีย์ที่ใช้งานได้สูงสุด 5 คีย์ เพื่อแยกการใช้งานในแต่ละโปรเจกต์ โควตาใช้งานฟรีรายเดือนของคุณจะนับรวมต่อบัญชี ไม่ใช่ต่อคีย์
- ยกเลิกได้ทันที: คีย์ที่ถูกยกเลิกจะหยุดทำงานทันที ไม่ว่าจะยกเลิกจากพอร์ทัล หรือเป็นการตอบสนองของ API ต่อบัญชีที่ถูกแบน
POST /v1/convert
อัปโหลด + แปลงไฟล์ในการเรียกแบบไร้สถานะ (stateless) เพียงครั้งเดียว การเรียกที่สำเร็จหนึ่งครั้งจะใช้เครดิตอย่างมากที่สุด 1 เครดิต — หากการเรียกล้มเหลว, ไม่ถูกต้อง หรือติดขีดจำกัดการใช้งาน (rate-limited) จะไม่เสียเครดิต
คำขอ (multipart/form-data)
| ฟิลด์ | ชนิดข้อมูล | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
file |
file | — | ภาพที่ต้องการแปลง PNG, JPEG, BMP หรือ WebP · สูงสุด 20 MB · สูงสุด 50 Mpx · ขั้นต่ำ 64×64 px |
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"
API รันด้วยเอนจินเดียวกันกับเครื่องมือแปลงไฟล์ออนไลน์ฟรีและแอปพลิเคชันบนเดสก์ท็อป:
binary — Potrace
การเทรซลายเส้นขาวดำสำหรับภาพวาดลายเส้น, ภาพสแกน, สเก็ตช์ และโลโก้ ส่วนที่มืดของภาพ (ระดับสีเทา < 50%) จะถูกเทรซบนพื้นหลังสีขาว คุณสามารถปรับแต่งผลลัพธ์ได้อย่างละเอียดด้วย turdsize (การลบสัญญาณรบกวน), alphamax (การปรับมุมให้เรียบ) และ opttolerance (การเพิ่มประสิทธิภาพของเส้นพาธ)
color — VTracer
การแปลงเป็นเวกเตอร์สีแบบแยกเลเยอร์สำหรับภาพประกอบ, การ์ตูน และภาพถ่าย ควบคุมระดับรายละเอียดด้วย filter_speckle, color_precision, layer_difference และควบคุมการปรับเส้นโค้งด้วย mode (spline, polygon, none)
รูปภาพจะถูกประมวลผลล่วงหน้า (preprocess) ในลักษณะเดียวกับบนเว็บไซต์: ด้านที่ยาวที่สุดจะถูกปรับขนาดเป็น 1500 px ก่อนการแปลง และ API จะคืนค่าประเภทของภาพที่ตรวจพบ (line_art, logo, photo หรือ illustration) ใน X-Detected-Type header
การตอบสนอง (Response)
เมื่อสำเร็จ: 200 OK พร้อมกับ image/svg+xml — โดยเนื้อหา (body) จะเป็นไฟล์ SVG ข้อมูลเพิ่มเติมใน header:
| Header | คำอธิบาย |
|---|---|
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 }
}
ข้อผิดพลาด (Errors)
ทุกข้อผิดพลาดจะส่งคืน 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 | รหัส (Code) | สาเหตุ (When) |
|---|---|---|
| 401 | invalid_api_key | ไม่มี API key, รูปแบบไม่ถูกต้อง, ไม่รู้จักคีย์ หรือคีย์ถูกยกเลิก |
| 402 | quota_exceeded | โควตาฟรีรายเดือนหมดแล้ว และไม่มีเครดิตเหลือ |
| 403 | account_banned | บัญชีถูกแบน — คีย์ทั้งหมดของบัญชีนี้จะถูกปฏิเสธ |
| 403 | ip_blocked | IP ของผู้เรียกอยู่ในบัญชีดำ (blocklisted) |
| 413 | file_too_large | ไฟล์มีขนาดใหญ่กว่า 20 MB |
| 422 | invalid_image / image_too_small / invalid_params | รูปภาพไม่ถูกต้อง, รูปภาพมีขนาดเล็กเกินไป หรือค่าพารามิเตอร์ไม่ถูกต้อง |
| 429 | rate_limited | เกินขีดจำกัดการเรียกใช้งานต่อคีย์ (ดูด้านล่าง) รวม <code>Retry-After</code> header มาด้วย |
| 500 | internal_error | การแปลงไฟล์ล้มเหลวที่ฝั่งเซิร์ฟเวอร์ — ไม่มีการหักเครดิต |
ขีดจำกัดการใช้งาน (Rate limits)
ขีดจำกัดจะมีผลกับแต่ละ API key ไม่ใช่ต่อ IP ดังนั้น การใช้งานร่วมกันในออฟฟิศ หรือ CI runner จะไม่ถูกจำกัดสิทธิ์จากการใช้งานของผู้อื่น
| ข้อจำกัด (Limit) | ค่า (Value) |
|---|---|
| จำนวนคำขอต่อนาที, ต่อคีย์ | 60 |
| จำนวนคำขอต่อวัน, ต่อคีย์ | 2 000 |
| การแปลงไฟล์พร้อมกัน (Concurrent), ต่อคีย์ | 2 (คำขอที่เกินจะรอ จากนั้นส่งคืน 429) |
| ขนาดไฟล์สูงสุด / ความละเอียด | 20 MB / 50 Mpx |
ราคา
บัญชีใหม่ทุกบัญชีจะได้รับสิทธิ์แปลงไฟล์ฟรี 10 ครั้งทุกเดือน ไม่ต้องใช้บัตรเครดิต หากต้องการใช้งานมากขึ้น? สามารถซื้อภาพแบบเติมเงิน — ในจำนวนใดก็ได้ (เป็นชุดละ 50 ภาพ) พร้อมส่วนลดเมื่อซื้อจำนวนมาก เครดิตไม่มีวันหมดอายุ และจะใช้ร่วมกับโควตาฟรีรายเดือนของคุณ (โดยจะใช้สิทธิ์แปลงไฟล์ฟรีให้หมดก่อนเสมอ)
ฟรี
€0/เดือน
- แปลงฟรี 10 ครั้ง / เดือน
- ใช้งานได้ทั้ง 2 เอนจิน (Potrace + VTracer)
- สูงสุด 5 API keys
รูปภาพแบบเติมเงิน
€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 |
- ซื้อ 1 ภาพ = สิทธิ์แปลง 1 ครั้ง (เครดิตไม่มีวันหมดอายุ)
- ไม่มีวันหมดอายุ ใช้ร่วมกับแพ็กเกจฟรีได้
- ซื้อจำนวนเท่าใดก็ได้: ลดเหลือ €0.040/ภาพ เมื่อซื้อ 500 ภาพ และลดลงได้สูงสุดถึง €0.010/ภาพ
เครดิตเข้าอัตโนมัติ: ยอดเงินคงเหลือของคุณจะได้รับการอัปเดตภายในไม่กี่วินาทีหลังจากการชำระเงินผ่าน payment webhook การขอคืนเงินจะถูกหักออกจากเครดิตที่ซื้อ โดยหักสูงสุดไม่เกินยอดเงินคงเหลือปัจจุบัน ชำระเงินอย่างปลอดภัยด้วย Lemon Squeezy (จัดการภาษีมูลค่าเพิ่มให้อัตโนมัติ)
ตัวอย่างโค้ด
คัดลอก-วาง และปรับแต่งตามต้องการ API รองรับรูปแบบ multipart/form-data ธรรมดา ดังนั้นสามารถใช้กับ HTTP client ใดก็ได้
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");
คำถามที่พบบ่อย (FAQ)
การแปลงไฟล์ 1 ครั้ง หมายถึงอะไร?
การเรียก POST /v1/convert ที่สำเร็จและส่งคืน SVG กลับมา หากการเรียกล้มเหลว (รูปภาพไม่ถูกต้อง, พารามิเตอร์ผิด, ถูกจำกัดด้วย rate limit, ข้อผิดพลาดของเซิร์ฟเวอร์) และการเรียก GET /v1/me จะไม่มีการหักเครดิต
โควตาใช้งานฟรีรายเดือน นับอย่างไร?
นับต่อบัญชี ตามปฏิทินเดือนเวลา UTC — โดยจะรีเซ็ตทุกวันที่ 1 เวลา 00:00 UTC การสร้าง API key หลายคีย์จะไม่เพิ่มจำนวนโควตาฟรี: คีย์ทั้งหมดในบัญชีจะใช้สิทธิ์แปลงไฟล์ฟรี 10 ครั้งร่วมกัน
เครดิตมีวันหมดอายุหรือไม่?
ไม่มี เครดิตที่ซื้อจะอยู่ในบัญชีจนกว่าคุณจะใช้งาน เครดิตจะถูกหักก็ต่อเมื่อคุณใช้สิทธิ์แปลงฟรี 10 ครั้งในเดือนนั้นหมดแล้ว
ฉันจะเพิ่มจำนวนครั้งการแปลงไฟล์ในแต่ละเดือนได้อย่างไร?
ซื้อรูปภาพแบบเติมเงินจากพอร์ทัลไคลเอนต์ — ในจำนวนใดก็ได้ เป็นชุด ชุดละ 50 ภาพ คุณจะเห็นเสมอว่าคุณได้รับกี่ภาพอย่างชัดเจน: 50 ภาพ €2.50, 500 ภาพ €20, 2,500 ภาพ €75, 10,000 ภาพ €200, 50,000 ภาพ €500 เครดิตจะถูกเพิ่มเข้าบัญชีของคุณอัตโนมัติภายในไม่กี่วินาทีหลังการชำระเงิน — ไม่ต้องมี license key ไม่มีข้อมูลต้องกรอกเพิ่มเติม
จะทำอย่างไรถ้าฉันทำ API key หาย?
คีย์จะถูกเก็บแบบแฮช (hashed) ดังนั้นจึงไม่สามารถกู้คืนได้ ให้ยกเลิกคีย์ที่หายไปในพอร์ทัล แล้วสร้างใหม่ — การเปลี่ยนแปลงจะมีผลทันที
รองรับรูปภาพรูปแบบใดบ้าง?
PNG, JPEG, BMP และ WebP ขนาดสูงสุด 20 MB และ 50 ล้านพิกเซล โดยมีขนาดอย่างน้อย 64×64 พิกเซล รูปภาพที่มีด้านยาวที่สุดเกิน 1500 px จะถูกลดขนาดก่อนแปลง เช่นเดียวกับบริการฟรีบนเว็บไซต์
เลือกเวอร์ชันของคุณ
เครื่องมือทรงพลังตัวเดียวกัน - เลือกรูปแบบที่เหมาะกับขั้นตอนการทำงานของคุณ
เครื่องมือออนไลน์
ฟรี
แปลงรูปภาพโดยตรงในเบราว์เซอร์ของคุณ ไม่ต้องติดตั้ง ไม่ต้องมีบัญชี
เปิดเครื่องมือแอปเดสก์ท็อป
ฟรี & โอเพนซอร์ส
ตัวแปลงไฟล์ตัวเต็มบนเครื่องของคุณ สำหรับ Windows & Linux
ดาวน์โหลดฟรีแอปเดสก์ท็อป Pro
€39 จ่ายครั้งเดียว
Hot folder, แปลงไฟล์จำนวนมาก และ CLI สำหรับงานระดับโปรดักชัน
รับ ProAPI
แพ็กเกจฟรี + ซื้อเครดิตเพิ่ม
เรียก REST ครั้งเดียว: ส่งภาพ รับ SVG ที่คมชัด แปลงฟรี 10 ครั้ง/เดือน
รับ API keyเปรียบเทียบทุกเวอร์ชัน & ราคา →
มีบัญชีผู้ใช้แล้วใช่ไหม? เข้าสู่ระบบพอร์ทัลไคลเอนต์ →
พร้อมที่จะแปลงไฟล์เป็นเวกเตอร์จำนวนมากแล้วหรือยัง?
สร้างบัญชีของคุณ รับคีย์ และเรียกใช้งานครั้งแรกภายในเวลาไม่ถึงสองนาที
รับ API key ฟรีของคุณ