המדריך הזה בונה את השרשרת שבית דפוס באמת קונה: הסרת רקע, קו חיתוך במילימטרים וייצוא DXF — הגשה אחת, ציטוט אחד, חיוב אחד.
מפתח sk_test_ חינמי ומוגבל ל-1 מגה-פיקסל, ולא מחייב. מפתח sk_live_ מחייב קרדיטים. שניהם נוצרים בלוח הבקרה.
# Keep it in an environment variable, never in the source. export VECTORFY_KEY=sk_test_…
כל שלב עובר דרך רישום המנועים, לא רק הראשון — וההערכה, התקרה והחיוב נגזרים מהשרשרת כולה.
curl -X POST http://localhost:8080/v1/pipeline \ -H "Authorization: Bearer $VECTORFY_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -F file=@artwork.png \ -F 'steps=[{"operation":"cutout"}, {"operation":"cutline","params":{"output":"svg","bleed_mm":2}}, {"operation":"export","params":{"output":"dxf"}}]'
התשובה חוזרת מיד עם מזהה והערכת מחיר. עבודה אמיתית אורכת יותר מ-timeout ברירת המחדל של רוב הלקוחות, ולכן היא לא מוחזרת בתוך הבקשה.
{
"id": "job_29ab70d8e6d0f14f",
"status": "queued",
"estimated_credits": 4.25,
"credits_charged": 0
}
או הירשם ל-webhook וקבל את אותו גוף בדחיפה, חתום ב-HMAC. עבודה שנכשלה לא מחויבת וההחזקה משתחררת במלואה.
curl http://localhost:8080/v1/jobs/job_29ab70d8e6d0f14f \ -H "Authorization: Bearer $VECTORFY_KEY" # A chain reports PER STEP. Copied from a real run of the call above. { "status": "succeeded", "credits_charged": 4.25, "duration_ms": 436, "result": { "url": "https://…/out.dxf" }, "diagnostics": { "steps": [ { "step": 1, "operation": "cutout", "engine": "grabcut", "diagnostics": { "confidence": 1.0, "subject_fraction": 0.609 } }, { "step": 2, "operation": "cutline", "diagnostics": { "cut_mm": [78.77, 78.75], "cut_paths": 1, "bleed_mm": 2.0, "dpi_source": "chain" } }, { "step": 3, "operation": "export", "diagnostics": { "layer": "CutContour", "cut_mm": [78.74, 78.74] } } ] } }
cut_mm הוא הגודל שהפלוטר יחתוך בפועל במילימטרים — מדדו אותו מול השרטוט לפני ריצת ייצור.
כל שגיאה היא RFC 9457 עם קוד יציב, הסבר, ושדה retryable שאומר אם יש טעם לנסות שוב. לכל קוד יש דף משלו.
{ "type": "https://…/errors/output_exceeds_plan_cap",
"code": "output_exceeds_plan_cap",
"status": 400,
"retryable": false,
"detail": "61.4 MP exceeds the 32 MP cap…" }