API การปรับภาพให้เป็นเวกเตอร์

Vectorizer.AI มี API การแปลงบิตแมปเต็มรูปแบบ API จะแปลงพิกเซลเป็นเวกเตอร์อย่างครบถ้วนโดยอัตโนมัติ และมีความเที่ยงตรงเหนือชั้นกว่าเครื่องมืออื่นในระดับเดียวกัน

รับคีย์ API

เริ่มใช้งานได้ทันที

โพสต์ภาพบิตแมปและรอรับผลลัพธ์ที่เป็นภาพเวกเตอร์กลับมา

$ curl https://th.vectorizer.ai/api/v1/vectorize \
 -u xyz123:[secret] \
 -F image=@example.jpeg \
 -o result.svg
// Requires: org.apache.httpcomponents.client5:httpclient5-fluent

Request request = Request.post("https://th.vectorizer.ai/api/v1/vectorize")
   .addHeader("Authorization", "Basic dmt5YzY3a3FhMjd5aWRkOltzZWNyZXRd")
   .body(
      MultipartEntityBuilder.create()
         .addBinaryBody("image", new File("example.jpeg")) // TODO: Replace with your image
         // TODO: Add more upload parameters here
         .build()
      );
ClassicHttpResponse response = (ClassicHttpResponse) request.execute().returnResponse();

if (response.getCode() == 200) {
   // Write result to disk, TODO: or wherever you'd like
   try (FileOutputStream out = new FileOutputStream("result.svg")) {
      response.getEntity().writeTo(out);
   }
} else {
   System.out.println("Request Failed: Status: " + response.getCode() + ", Reason: " + response.getReasonPhrase());
}
using (var client = new HttpClient())
using (var form = new MultipartFormDataContent())
{
   client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "INSERT_API_KEY_HERE");
   form.Add(new ByteArrayContent(File.ReadAllBytes("example.jpeg")), "image", "example.jpeg"); // TODO: Replace with your image
   // TODO: Add more upload parameters here

   var response = client.PostAsync("https://th.vectorizer.ai/api/v1/vectorize", form).Result;

   if (response.IsSuccessStatusCode)
   {
      // Write result to disk, TODO: or wherever you'd like
      FileStream outStream = new FileStream("result.svg", FileMode.Create, FileAccess.Write, FileShare.None);
      response.Content.CopyToAsync(outStream).ContinueWith((copyTask) => { outStream.Close(); });
   }
   else
   {
       Console.WriteLine("Request Failed: Status: " + response.StatusCode + ", Reason: " + response.ReasonPhrase);
   }
}
// Requires "request" to be installed (see https://www.npmjs.com/package/request)
var request = require('request');
var fs = require('fs');

request.post({
  url: 'https://th.vectorizer.ai/api/v1/vectorize',
  formData: {
    image: fs.createReadStream('example.jpeg'), // TODO: Replace with your image
    // TODO: Add more upload options here
  },
  auth: {user: 'xyz123', pass: '[secret]'},
  followAllRedirects: true,
  encoding: null
}, function(error, response, body) {
  if (error) {
    console.error('Request failed:', error);
  } else if (!response || response.statusCode != 200) {
    console.error('Error:', response && response.statusCode, body.toString('utf8'));
  } else {
    // Save result
    fs.writeFileSync("result.svg", body);
  }
});
$ch = curl_init('https://th.vectorizer.ai/api/v1/vectorize');

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
    array('Authorization: Basic dmt5YzY3a3FhMjd5aWRkOltzZWNyZXRd'));
curl_setopt($ch, CURLOPT_POSTFIELDS,
    array(
      'image' => curl_file_create('example.jpeg'),
      // TODO: Add more upload options here
    ));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$data = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200) {
  // Save result
  file_put_contents("result.svg", $data);
} else {
  echo "Error: " . $data;
}
curl_close($ch);
# Either use the sample code below, or this SDK: https://pypi.org/project/vectorizer-ai/
# Requires "requests" to be installed (see https://pypi.org/project/requests/)
import requests

response = requests.post(
    'https://th.vectorizer.ai/api/v1/vectorize',
    files={'image': open('example.jpeg', 'rb')},
    data={
        # TODO: Add more upload options here
    },
    auth=('xyz123', '[secret]')
)
if response.status_code == requests.codes.ok:
    # Save result
    with open('result.svg', 'wb') as out:
        out.write(response.content)
else:
    print("Error:", response.status_code, response.text)
# Requires: gem install httpclient
require 'httpclient'

client = HTTPClient.new default_header: {
  "Authorization" => "Basic dmt5YzY3a3FhMjd5aWRkOltzZWNyZXRd"
}

response = client.post("https://th.vectorizer.ai/api/v1/vectorize", {
  "image" => File.open("example.jpeg", "rb"), # TODO: Replace with your image
  # TODO: Add more upload parameters here
})

if response.status == 200 then
  # Write result to disk, TODO: or wherever you'd like
  File.open("result.svg", 'w') { |file| file.write(response.body) }
else
  puts "Error: Code: " + response.status.to_s + ", Reason: " + response.reason
end
$ curl https://th.vectorizer.ai/api/v1/vectorize \
 -u xyz123:[secret] \
 -F 'image.url=https://example.com/example.jpeg' \
 -o result.svg
// Requires: org.apache.httpcomponents.client5:httpclient5-fluent

Request request = Request.post("https://th.vectorizer.ai/api/v1/vectorize")
   .addHeader("Authorization", "Basic dmt5YzY3a3FhMjd5aWRkOltzZWNyZXRd")
   .body(
      MultipartEntityBuilder.create()
         .addTextBody("image.url", "https://example.com/example.jpeg") // TODO: Replace with your image URL
         // TODO: Add more upload parameters here
         .build()
      );
ClassicHttpResponse response = (ClassicHttpResponse) request.execute().returnResponse();

if (response.getCode() == 200) {
   // Write result to disk, TODO: or wherever you'd like
   try (FileOutputStream out = new FileOutputStream("result.svg")) {
      response.getEntity().writeTo(out);
   }
} else {
   System.out.println("Request Failed: Status: " + response.getCode() + ", Reason: " + response.getReasonPhrase());
}
using (var client = new HttpClient())
using (var form = new MultipartFormDataContent())
{
   client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "INSERT_API_KEY_HERE");
   form.Add(new StringContent("https://example.com/example.jpeg"), "image.url"); // TODO: Replace with your image URL
   // TODO: Add more upload parameters here

   var response = client.PostAsync("https://th.vectorizer.ai/api/v1/vectorize", form).Result;

   if (response.IsSuccessStatusCode)
   {
      // Write result to disk, TODO: or wherever you'd like
      FileStream outStream = new FileStream("result.svg", FileMode.Create, FileAccess.Write, FileShare.None);
      response.Content.CopyToAsync(outStream).ContinueWith((copyTask) => { outStream.Close(); });
   }
   else
   {
       Console.WriteLine("Request Failed: Status: " + response.StatusCode + ", Reason: " + response.ReasonPhrase);
   }
}
// Requires "request" to be installed (see https://www.npmjs.com/package/request)
var request = require('request');
var fs = require('fs');

request.post({
  url: 'https://th.vectorizer.ai/api/v1/vectorize',
  formData: {
    'image.url': 'https://example.com/example.jpeg', // TODO: Replace with your image
    // TODO: Add more upload options here
  },
  auth: {user: 'xyz123', pass: '[secret]'},
  followAllRedirects: true,
  encoding: null
}, function(error, response, body) {
  if (error) {
    console.error('Request failed:', error);
  } else if (!response || response.statusCode != 200) {
    console.error('Error:', response && response.statusCode, body.toString('utf8'));
  } else {
    // Save result
    fs.writeFileSync("result.svg", body);
  }
});
$ch = curl_init('https://th.vectorizer.ai/api/v1/vectorize');

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
    array('Authorization: Basic dmt5YzY3a3FhMjd5aWRkOltzZWNyZXRd'));
curl_setopt($ch, CURLOPT_POSTFIELDS,
    array(
      'image.url' => 'https://example.com/example.jpeg',
      // TODO: Add more upload options here
    ));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

$data = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200) {
  // Save result
  file_put_contents("result.svg", $data);
} else {
  echo "Error: " . $data;
}
curl_close($ch);
# Either use the sample code below, or this SDK: https://pypi.org/project/vectorizer-ai/
# Requires "requests" to be installed (see https://pypi.org/project/requests/)
import requests

response = requests.post(
    'https://th.vectorizer.ai/api/v1/vectorize',
    data={
        'image.url': 'https://example.com/example.jpeg',
        # TODO: Add more upload options here
    },
    auth=('xyz123', '[secret]')
)
if response.status_code == requests.codes.ok:
    # Save result
    with open('result.svg', 'wb') as out:
        out.write(response.content)
else:
    print("Error:", response.status_code, response.text)
# Requires: gem install httpclient
require 'httpclient'

client = HTTPClient.new default_header: {
  "Authorization" => "Basic dmt5YzY3a3FhMjd5aWRkOltzZWNyZXRd"
}

response = client.post("https://th.vectorizer.ai/api/v1/vectorize", {
  "image.url" => "https://example.com/example.jpeg", # TODO: Replace with your image URL
  # TODO: Add more upload parameters here
})

if response.status == 200 then
  # Write result to disk, TODO: or wherever you'd like
  File.open("result.svg", 'w') { |file| file.write(response.body) }
else
  puts "Error: Code: " + response.status.to_s + ", Reason: " + response.reason
end

แชทบอท API

เราได้สร้าง ChatGPT แบบกำหนดเองเพื่อช่วยให้คุณสามารถทำการผนวกรวมแอปด้วย API ได้ แชทบอทนี้สามารถตอบคำถามเกี่ยวกับเอกสารประกอบ API และมอบโค้ดตัวอย่างในภาษาที่คุณต้องการโดยปรับให้เหมาะกับกรณีการใช้งานของคุณ

แชทกับแชทบอท API "Vectorizer.AI"

แชทบอทอยู่ในรุ่นเบต้าจึงอาจเกิดข้อผิดพลาดได้ โปรดตรวจสอบคำตอบอีกครั้ง และขอให้บอทตรวจทานโค้ดเพื่อแก้ไขข้อผิดพลาดและสิ่งที่ละเว้น

วิธีใช้ API นี้

API ได้รับการออกแบบมาเพื่อรองรับกรณีการใช้งานที่แตกต่างกันมากมายหลายแบบ กรณีที่พบบ่อยมีดังนี้:

ภาพเดี่ยว ส่งบิตแมป รับผลลัพธ์ที่เป็นเวกเตอร์ เสร็จแล้ว

ใช้จุดหมาย ปรับให้เป็นเวกเตอร์ และตัวอย่างรหัสข้างต้น

แสดงตัวอย่างก่อน แสดงตัวอย่างให้ผู้ที่อาจเป็นลูกค้าของคุณดูก่อนที่จะซื้อ

หากคุณต้องการเรียก API จำนวนมากเพื่อเพิ่มยอดขาย คุณสามารถใช้การแสดงตัวอย่างแบบต้นทุนต่ำได้จนกว่าคุณจะมีลูกค้าจริง ๆ

  1. ใช้จุดหมาย ปรับให้เป็นเวกเตอร์ พร้อมด้วย mode=preview และ policy.retention_days > 0 เพื่อดูตัวอย่าง โดยต้องแน่ใจว่าเก็บโทเค็นภาพที่ส่งคืนไว้ในส่วนหัวคำตอบกลับ X-Image-Token

  2. หลังจากที่แปลงแล้ว ให้ใช้จุดหมาย ดาวน์โหลด พร้อมด้วยโทเค็นภาพเพื่อดาวน์โหลดผลลัพธ์เต็มรูปแบบ

  3. เลือกได้: หากคุณต้องการรูปแบบผลลัพธ์แบบอื่น (เช่น PNG, PDF ฯลฯ) โปรดเก็บใบเสร็จที่ส่งคืนให้ในส่วนหัวคำตอบกลับการดาวน์โหลด X-Receipt จากนั้นใช้จุดหมาย ดาวน์โหลด พร้อมด้วยโทเค็นภาพและใบเสร็จเพื่อดาวน์โหลดรูปแบบที่เหลือ

หลายรูปแบบ คุณต้องใช้ผลลัพธ์ทั้งในรูปแบบ PNG และ SVG

  1. ใช้จุดหมาย ปรับให้เป็นเวกเตอร์ กับ policy.retention_days > 0 เพื่อให้ได้ผลลัพธ์แรก โดยต้องแน่ใจว่าเก็บโทเค็นภาพที่ส่งคืนในส่วนหัวของคำตอบกลับ X-Image-Token

  2. ใช้จุดหมาย ดาวน์โหลด กับโทเค็นภาพเพื่อดาวน์โหลดรูปแบบอื่น ๆ

หลายตัวเลือก คุณจำเป็นต้องประมวลผลแต่ละภาพด้วยตัวเลือกการประมวลผลที่หลากหลาย

  1. ใช้จุดหมาย ปรับให้เป็นเวกเตอร์ กับ policy.retention_days > 0 เพื่อให้ได้ผลลัพธ์แรก โดยต้องแน่ใจว่าเก็บโทเค็นภาพที่ส่งคืนในส่วนหัวของคำตอบกลับ X-Image-Token

  2. ใช้จุดหมาย ปรับให้เป็นเวกเตอร์ กับโทเค็นภาพเพื่อวนซ้ำตัวเลือกการประมวลผลที่เหลือตามที่คุณต้องการ

  3. หรือคุณอาจประมวลผลแต่ละภาพแยกกันและไม่ต้องกังวลกับโทเค็นภาพ โทเค็นภาพช่วยให้คุณประหยัดแบนด์วิทและเวลาแฝงได้เล็กน้อย

การกำหนดราคา

การกระทำเครดิตคำอธิบาย
การทดสอบ0.00

สามารถผสานรวมและทดสอบ API ได้ฟรี โดยไม่จำเป็นต้องสมัครสมาชิก

ใช้ mode=test และ mode=test_preview เพื่อการพัฒนา

คุณสามารถประเมินคุณภาพผลลัพธ์ได้โดยใช้เว็บแอปแบบโต้ตอบที่หน้าหลัก

ตัวอย่าง0.20

เราเสนอผลลัพธ์ตัวอย่างที่คุณสามารถแสดงให้ผู้ใช้ปลายทางเห็นก่อนตัดสินใจซื้อได้ด้วย

ภาพตัวอย่างคือภาพ PNG ที่มีขนาดใหญ่กว่าภาพอินพุตถึง 4 เท่า และมีลายน้ำกำกับให้เห็นด้วย

ใช้ mode=preview เพื่อรับผลลัพธ์ตัวอย่าง

ปรับให้เป็นเวกเตอร์1.00 ปรับภาพบิตแมปให้เป็นภาพเวกเตอร์
ดูตัวอย่างอัปเกรด0.90 ดาวน์โหลดผลลัพธ์ภาพที่พร้อมออกสื่อหลังจากการเรียก API การแสดงตัวอย่าง ได้ส่วนลด เมื่อเทียบกับการปรับให้เป็นเวกเตอร์ตั้งแต่ต้น
รูปแบบการดาวน์โหลด:0.10 ดาวน์โหลดผลลัพธ์ในอีกรูปแบบหนึ่ง (เช่น SVG, PNG, PDF, ฯลฯ) ได้ส่วนลด เมื่อเทียบกับการปรับให้เป็นเวกเตอร์ตั้งแต่ต้น
จำนวนวันการจัดเก็บ0.01 ราคาต่อวันสำหรับการจัดเก็บผลลัพธ์หลังวันแรกที่เป็นบริการฟรี

โปรดดูหน้าการกำหนดราคาสำหรับแผนบริการสมาชิก

การรับรองความถูกต้องและการรักษาความปลอดภัย

API ใช้ การรับรองความถูกต้องเบื้องต้นของการเข้าถึง HTTP แบบมาตรฐาน คำร้องขอทั้งหมดถึง API ต้องดำเนินการผ่าน HTTPS และมีข้อมูลประจำตัว API ของคุณ โดยมี API Id เป็นผู้ใช้ และรหัสลับ API เป็นรหัสผ่าน

ไลบรารีไคลเอ็นต์ http ของคุณต้องรองรับ การบ่งชี้ชื่อเซิร์ฟเวอร์ (SNI) จึงจะส่งคำขอได้สำเร็จ หากคุณได้รับข้อผิดพลาดการสื่อสารที่ผิดปกติ ก็น่าจะเป็นเพราะเหตุนี้มากที่สุด

การจำกัดอัตรา

การใช้งาน API มีอัตราที่จำกัด โดยเผื่อค่าไว้กว้างและไม่มีขอบเขตบนที่เคร่งครัด

ในระหว่างการดำเนินการที่ผู้ใช้ปลายทางกระทำตามปกตินั้น มีโอกาสน้อยที่คุณจะประสบกับอัตราที่จำกัด เพราะการใช้งานมีแนวโน้มที่จะขึ้น ๆ ลง ๆ ในลักษณะที่บริการจัดการได้อย่างเรียบร้อย

อย่างไรก็ตาม ในกรณีของชุดงาน เราขอแนะนำให้เริ่มต้นด้วยชุดกิจกรรมสูงสุด 5 ชุด โดยเพิ่มใหม่ 1 ชุดทุก ๆ 5 นาที จนกว่าคุณจะไปถึงระดับการทำงานแบบขนานตามที่ต้องการ กรุณาแจ้งให้เราทราบก่อนที่คุณจะเริ่มงาน หากต้องการชุดกิจกรรมมากกว่า 100 ชุดพร้อมกัน

หากคุณส่งคำขอมากเกินไป คุณจะเริ่มได้รับผลตอบกลับ 429 Too Many Requests เมื่อเกิดกรณีเช่นนี้ขึ้น คุณควรปรับใช้กลยุทธ์สุ่มรอเวลาแบบเส้นตรง : ในผลตอบกลับดังกล่าวครั้งแรก รอ 5 วินาที ก่อนส่งคำขอถัดไป ในผลตอบกลับ 429 ที่ต่อเนื่องกันครั้งที่สอง รอ 2*5=10 วินาที ก่อนส่งคำขอถัดไป ส่วนครั้งที่สาม จะรอ 3*5=15 วินาที ฯลฯ

คุณสามารถรีเซ็ตตัวนับการสุ่มรอเวลาหลังจากคำขอประสบผลสำเร็จ และคุณควรนำการสุ่มรอเวลาไปใช้กับแต่ละชุดกิจกรรม (กล่าวคือ ชุดกิจกรรมควรทำหน้าที่โดยอิสระไม่ขึ้นต่อกันและกัน)

การหมดเวลา

แม้ว่าโดยปกติแล้วคำขอ API จะเสร็จสมบูรณ์ภายในเวลาไม่กี่วินาที แต่ก็เป็นไปได้ที่อาจต้องประสบกับเวลาดำเนินการที่นานขึ้นในช่วงที่มีการโหลดข้อมูลเพิ่มขึ้นอย่างรวดเร็วชั่วครู่

เพื่อให้แน่ใจว่าไลบรารีไคลเอนต์ของคุณจะไม่ยุติคำขอ API ก่อนกำหนด ควรกำหนดค่าให้มีการหมดเวลาขณะไม่ได้ใช้งานไว้อย่างน้อย 180 วินาที

JSON ของข้อผิดพลาด

เราใช้สถานะ HTTP แบบปกติ เพื่อบ่งชี้ความสำเร็จหรือความล้มเหลวของคำขอ API และรวมถึงรายละเอียดข้อผิดพลาดที่สำคัญในออบเจ็กต์ JSON ที่ผิดพลาดและถูกส่งคืน

เราพยายามอยู่เสมอที่จะส่งคืนออบเจ็กต์ JSON ที่ผิดพลาดพร้อมด้วยคำขอใด ๆ ที่เป็นปัญหา อย่างไรก็ตาม ในทางทฤษฎี มีความเป็นไปได้เสมอที่เซิร์ฟเวอร์จะเกิดความล้มเหลวภายใน ซึ่งนำไปสู่ผลตอบกลับข้อผิดพลาดที่ไม่ใช่ JSON

ลักษณะเฉพาะ

statusในที่นี้ แสดงสถานะ HTTP ของผลตอบกลับซ้ำอีก เพื่อช่วยในการแก้จุดบกพร่อง
codeรหัสข้อผิดพลาดภายในของ Vectorizer.AI
messageข้อความแสดงข้อผิดพลาดที่มนุษย์สามารถอ่านได้ มีจุดประสงค์เพื่อช่วยในการแก้จุดบกพร่อง

หากสถานะ HTTP สำหรับคำขอของคุณคือ 200 แสดงว่าจะไม่มีการส่งคืนออบเจ็กต์ JSON ที่ผิดพลาด และคุณสามารถสรุปได้ว่า คำขอนั้นสื่อสารได้สำเร็จในวงกว้าง

ไลบรารีไคลเอ็นต์ HTTP บางส่วนทำให้เกิดข้อยกเว้นสำหรับสถานะ HTTP ในช่วง 400-599 คุณจำเป็นจะต้องตรวจจับข้อยกเว้นเหล่านั้นและจัดการตามความเหมาะสม

HTTP Statusความหมาย
200-299

ความสำเร็จ

400-499

มีปัญหาเกิดขึ้นกับข้อมูลที่ให้ไว้ในคำขอ (เช่น พารามิเตอร์ขาดหายไป) กรุณาตรวจสอบข้อความแสดงข้อผิดพลาดเพื่อคิดหาวิธีที่จะจัดการแก้ไข

500-599

ตรวจพบข้อผิดพลาดภายใน Vectorizer.AI กรุณารอสักครู่แล้วลองใหม่อีกครั้ง หากปัญหายังคงมีอยู่ กรุณาส่งอีเมลถึงเรา

ตัวอย่างผลตอบกลับข้อผิดพลาด

{
  "error" : {
    "status" : 400,
    "code" : 1006,
    "message" : "Failed to read the supplied image. "
  }
}

ข้อผิดพลาด API ล่าสุดแสดงอยู่ในหน้าบัญชีของคุณ เพื่อช่วยให้คุณมีความสะดวกในการแก้จุดบกพร่อง

นอกจากนี้ยังมีรายการการข้อความตอบกลับข้อผิดพลาดทั้งหมดที่ API ส่งกลับ

ส่วนหัวผลตอบกลับ

ส่วนหัวคำตอบกลับแบบกำหนดเองที่เราใช้มีดังต่อไปนี้:

ส่วนหัวคำอธิบาย
X-Image-Token

ส่งคืนให้เมื่อคำขอการปรับให้เป็นเวกเตอร์ของคุณมี policy.retention_days > 0 สามารถใช้เพื่อ:

  1. ดาวน์โหลดผลลัพธ์ที่พร้อมออกสื่อหลังจากการเรียก API การแสดงตัวอย่างพร้อมส่วนลด เมื่อเทียบกับการปรับให้เป็นเวกเตอร์ตั้งแต่ต้น

  2. ดาวน์โหลดรูปแบบเพิ่มเติม (เช่น SVG, PNG, PDF ฯลฯ) ของผลลัพธ์ในอัตราที่ลดลงเมื่อเทียบกับการปรับให้เป็นเวกเตอร์ตั้งแต่ต้น

  3. ปรับภาพเดิมให้เป็นเวกเตอร์อีกครั้งด้วยตัวเลือกการประมวลผลที่แตกต่างกัน

X-Receipt

ส่งคืนให้เมื่อคุณดาวน์โหลดผลลัพธ์ที่พร้อมออกสื่อโดยใช้โทเค็นภาพตัวอย่าง สามารถใช้เพื่อดาวน์โหลดผลลัพธ์ในรูปแบบอื่นเพิ่มเติม (เช่น SVG, PNG, PDF ฯลฯ) ที่อัตรารูปแบบการดาวน์โหลดแทนที่จะเป็นอัตราการแสดงตัวอย่างแบบอัปเกรด

X-Credits-Calculated

ส่งคืนให้พร้อมกับคำขอทดสอบเพื่อแสดงค่าใช้จ่ายที่อาจเกิดขึ้นหากเป็นคำขอตามปกติ

X-Credits-Charged

ส่งคืนให้พร้อมกับคำขอทั้งหมดเพื่อแสดงค่าใช้จ่ายที่เกิดขึ้น คำขอทดสอบมีค่าเป็น 0 เสมอ

ปรับให้เป็นเวกเตอร์ POST
https://api.vectorizer.ai/api/v1/vectorize

ในการปรับภาพให้เป็นเวกเตอร์ คุณจะทำการอัปโหลดไฟล์ HTTP POST แบบมาตรฐาน อย่าลืมว่า ประเภท-เนื้อหา ต้องเป็น multipart/form-data เมื่ออัปโหลดไฟล์ไบนารี

ตารางด้านล่างแสดงพารามิเตอร์ทั้งหมดของ API ในแบบฟอร์ม "ลองใช้ตอนนี้" ที่ใช้งานได้ พารามิเตอร์แต่ละตัวมีคำอธิบายสั้น ๆ แต่อย่าลืมอ่านเอกสารที่มีรายละเอียดเกี่ยวกับตัวเลือกเอาต์พุต

พารามิเตอร์

ต้องป้อนภาพอินพุตในแบบใดแบบหนึ่งดังนี้ :


ไบนารี

ไฟล์ไบนารี


สตริง

สตริงที่เข้ารหัสแบบ base64 ขนาดของสตริงต้องไม่เกิน 1 เมกะไบต์ เท่านั้น


สตริง

URL เพื่อเรียกใช้และประมวลผล


โทเค็นรูปภาพที่ส่งคืนในส่วนหัว X-Image-Token ในการเรียก API การปรับให้เป็นเวกเตอร์ก่อนหน้านี้ที่มี policy.retention_days > 0

ต้องเป็นไฟล์ .bmp, .gif, .jpeg, .png, หรือ .tiff

ขนาดสูงสุดของภาพที่จะอัปโหลด (= ความกว้าง × ความสูง) คือ 33,554,432 พิกเซล, ซึ่งจะลดขนาดลงเป็น input.max_pixels


ข้อมูลคงที่, ค่าเริ่มต้น: production
Value Processing Mode Credits
production

โหมดนี้มีไว้เพื่อใช้ในการผลิตภาพที่พร้อมออกสื่อ และรองรับพารามิเตอร์ทั้งหมด

1.00
preview

โหมดนี้มีไว้เพื่อใช้เมื่อคุณต้องการแสดงภาพตัวอย่างให้ผู้ใช้ปลายทางเห็นก่อนตัดสินใจซื้อ

โดยสร้างผลลัพธ์ที่เป็น PNG ใหญ่ 4 เท่า พร้อมลายน้ำให้เห็นได้ และมองข้ามพารามิเตอร์ที่ขัดแย้งกัน

0.20
test, test_preview

โหมดเหล่านี้มีไว้เพื่อให้ผู้พัฒนาซอฟต์แวร์ใช้เมื่อผนวกรวมเข้ากับบริการ โดยรองรับพารามิเตอร์ทั้งหมด แต่มีลายน้ำให้เห็นชัดเจน

คุณสามารถใช้ผลลัพธ์สำหรับทดสอบได้ฟรี และไม่จำเป็นต้องเป็นสมาชิกที่ยังไม่หมดอายุ ดังนั้นคุณจึงสามารถผสานรวมกับบริการได้ฟรี

เรารวมส่วนหัว X-Credits-Calculated ไว้ในคำตอบกลับเพื่อให้คุณทราบได้แน่ชัดว่าจะเรียกเก็บค่าการเรียกภาพที่พร้อมออกสื่อจากคุณเป็นจำนวนเงินเท่าใด

ฟรี

เลขจำนวนเต็ม, 100 ถึง 3145828, ค่าเริ่มต้น: 2097252

ขนาดสูงสุดของภาพอินพุต (= ความกว้าง × ความสูง ในหน่วยพิกเซล) ภาพที่มีขนาดใหญ่กว่านี้จะถูกย่อขนาดลงเป็นขนาดนี้ก่อนการประมวลผล


เลขจำนวนเต็ม, 0 ถึง 30, ค่าเริ่มต้น: 0

จำนวนวัน ซึ่งจะเก็บรักษาภาพอินพุตและภาพผลลัพธ์จากอินพุตนั้นไว้ เมื่อคุณระบุ policy.retention_days > 0 เราจะรวมส่วนหัว X-Image-Token ไว้ในคำตอบกลับ

การใช้งานหลักมีอยู่ 3 ข้อคือ:

  1. หลังจากการเรียก API การแสดงตัวอย่างแล้ว คุณสามารถดาวน์โหลดผลลัพธ์ที่พร้อมออกสื่อได้อย่างรวดเร็วในภายหลัง พร้อมด้วยส่วนลดพิเศษ

  2. หลังจากที่ปรับภาพเป็นเวกเตอร์แล้ว คุณสามารถดาวน์โหลดเอาต์พุตของภาพเดียวกันได้หลายรูปแบบ จากนั้นดำเนินการกับรูปแบบต่าง ๆ ได้โดยไม่ต้องปรับภาพทั้งหมดนั้นเป็นเวกเตอร์ใหม่ตั้งแต่ต้น ซึ่งช่วยประหยัดทั้งเครดิตและเวลาแฝงได้อย่างชัดเจน

  3. เมื่อคุณต้องการปรับภาพเดิมให้เป็นเวกเตอร์ใหม่อีกครั้งด้วยตัวเลือกการประมวลผลที่แตกต่างกัน วิธีนี้ช่วยให้คุณลดเวลาแฝงในการเรียกใช้และประหยัดแบนด์วิดท์

วันแรกในการจัดเก็บจะไม่คิดค่าบริการ หลังจากนั้นจะเรียกเก็บ 0.01 เครดิต ต่อวันที่ใช้

โปรดดูในจุดหมาย ดาวน์โหลด ด้วย


เลขจำนวนเต็ม, 0 ถึง 256, ค่าเริ่มต้น: 0

จำนวนสีสูงสุดที่จะใช้สำหรับผลลัพธ์

0 หมายถึง ไม่จำกัด 1 และ 2 ทั้งคู่หมายถึง สองสี เช่น ดำ-และ-ขาว N>=2 หมายถึงจำนวนสีตามที่ระบุไว้

โปรดทราบว่าหากใช้ output.gap_filler.enabled=true (ค่าเริ่มต้น) ผลลัพธ์จะมีส่วนผสมของสีที่เลือกไว้ด้วย ปิดใช้งานตัวอุดช่องว่างเพื่อรับผลลัพธ์ที่มีเฉพาะสีที่เลือกไว้เท่านั้น


รูปแบบ: '[color][-> remapped][~ tolerance];'
#00000000;
#FFFFFF ~ 0.1;
#0000FF -> #00FF00;
#FF0000 -> #00FF00 ~ 0.1;

ค่าเริ่มต้น:   (ว่างเปล่า)

นี่เป็นกลไกที่มีประสิทธิภาพและความยืดหยุ่นสูงมากเพื่อใช้ควบคุมสีในภาพผลลัพธ์

สีที่ตรวจพบในภาพ ซึ่งอยู่ภายในค่าเผื่อของสีในชุดแบบสีใด ๆ จะถูกปรับให้เป็นสีในชุดแบบสีที่ใกล้ที่สุด และจะเปลี่ยนใหม่หากสีในชุดแบบสีนั้นมีการเปลี่ยนใหม่ที่ระบุไว้แล้ว สีที่ไม่ตรงกันจะไม่มีการเปลี่ยนแปลง

ตัวอย่าง

หากต้องการปรับสีที่ตรวจพบให้เป็นสีแดง สีเขียว และสีน้ำเงินที่ใกล้ที่สุด โปรดใช้:

#FF0000; 
#00FF00; 
#0000FF;

หากต้องการลบสีที่ตรวจพบว่าใกล้กับสีแดง สีเขียว และสีน้ำเงิน แต่ปล่อยสีอื่น ๆ ไว้ตามเดิม โปรดใช้:

#FF0000 ~ 0.02; 
#00FF00 ~ 0.02; 
#0000FF ~ 0.02;

หากต้องการเปลี่ยนสีที่ตรวจพบว่าใกล้กับสีแดงไปเป็นสีเขียว โดยไม่เปลี่ยนแปลงสีอื่น ๆ โปรดใช้:

#FF0000 -> #00FF00 ~ 0.02;

หากต้องการปรับสีใดก็ตามที่ใกล้เคียงกับสีแดง สีเขียว และสีน้ำเงินให้เป็นสีเหล่านั้น แต่ปรับสีอื่น ๆ ทั้งหมดให้เป็นสีดำโปร่งใส (ซึ่งจะลบสีเหล่านั้นออกจากภาพผลลัพธ์) โปรดใช้:

#FF0000 ~ 0.02; 
#00FF00 ~ 0.02; 
#0000FF ~ 0.02; 
#00000000; // Transparent => removed

สี

การระบุสีจะเป็นไปตามระบบสี CSS พื้นฐาน หากต้องการสีโปร่งใส (บางส่วน) เราขอแนะนำให้ใช้ #RRGGBBAA หากต้องการสีทึบ เราขอแนะนำให้ใช้ #RRGGBB

ผลลัพธ์จะละเว้นสีที่โปร่งใสเต็มที่ เมื่อใช้ร่วมกับความสามารถในการเปลี่ยนสีใหม่ คุณสามารถใช้คุณสมบัตินั้นเพื่อลบสีที่เลือกออกจากภาพผลลัพธ์ได้

คุณสามารถใช้ได้สูงสุด 1,024 สี

ค่าเผื่อ

หน่วยอยู่ในระยะสี ARGB แบบเศษส่วน โดยที่ 1.0 คือระยะห่างจากสีแดงทึบ (#FFFF0000) ถึงสีดำทึบ (#FF000000)

ค่าเผื่อสูงสุดคือ 2.0 ซึ่งเป็นระยะห่างจากสีดำโปร่งใส (#00000000) ถึงสีขาวทึบ (#FFFFFFFF)

ค่าเผื่อเริ่มต้นคือ 2.0 ดังนั้นสีที่ตรวจพบตามค่าเริ่มต้นจะปรับเป็นสีในชุดแบบสีที่ใกล้ที่สุด แม้ว่าจะอยู่ห่างกันก็ตาม คุณสามารถจำกัดการปรับไว้แค่สีในชุดแบบสีแต่ละชุดได้โดยการระบุพิกัดความเผื่อแบบกำหนดเอง

หากคุณคุ้นเคยกับการใช้สีในช่วง 0-255 ให้หารด้วย 255 เพื่อให้ได้ค่าเศษส่วน


เลขทศนิยม, 0.0 ถึง 100.0, ค่าเริ่มต้น: 0.125

พื้นที่ขั้นต่ำที่สุดของรูปทรงในหน่วยพิกเซล โดยจะละทิ้งรูปทรงที่เล็กกว่านี้


ข้อมูลคงที่, ค่าเริ่มต้น: svg

รูปแบบไฟล์เอาต์พุต

ตัวเลือก SVG:


ข้อมูลคงที่, ค่าเริ่มต้น: svg_1_1

ระบุแอตทริบิวต์ที่เป็นเวอร์ชันของ SVG ในแท็ก SVG รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

ขึ้นอยู่กับว่าจะรวมแอตทริบิวต์ที่เป็นขนาดภาพในแท็ก SVG หรือไม่ ถ้าเป็น true โดยปกติโปรแกรมดูภาพจะเรนเดอร์ SVG ในขนาดคงที่ ถ้าเป็น false โดยปกติโปรแกรมดูภาพจะปล่อยให้ SVG ปรับขนาดให้พอดีกับพื้นที่ที่มีอยู่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

ถ้าเป็น true เราจะปิดใช้งานตัวเลือกที่ Adobe Illustrator ไม่สามารถนำเข้าได้ รายละเอียด

ตัวเลือก DXF:


ข้อมูลคงที่, ค่าเริ่มต้น: lines_and_arcs

โปรแกรมเปิดไฟล์ DXF มีความสามารถแตกต่างกันไป ตัวเลือกนี้ช่วยให้คุณสามารถจำกัดเอาต์พุตให้อยู่ในรูปแบบภาพทรงเรขาคณิตที่โปรแกรมเปิดไฟล์ DXF ของคุณสามารถรองรับได้ รายละเอียด

ตัวเลือกสำหรับบิตแมป:

ใช้เฉพาะเมื่อ output.file_format=png เท่านั้น


ข้อมูลคงที่, ค่าเริ่มต้น: anti_aliased
Value Anti-Aliasing Mode
anti_aliased พิกเซลตามแนวขอบระหว่างรูปทรงจะมีสีที่ผสมกันตามสัดส่วนของพื้นที่พิกเซลที่แต่ละรูปทรงครอบคลุมอยู่
aliased พิกเซลถูกกำหนดให้เป็นสีของรูปทรงที่มีจุดศูนย์กลางทางเรขาคณิตของพิกเซล

ข้อมูลคงที่, ค่าเริ่มต้น: fill_shapes

ระบุลักษณะที่คุณต้องการให้เอาต์พุตมีการลงสีเส้นขอบหรือเติมสีพื้น การลงสีเส้นขอบรอบรูปทรงและการลงสีเส้นขอบระหว่างรูปทรงมีความแตกต่างเล็กน้อย โปรดอ่านคำอธิบายโดยละเอียดในเอกสารประกอบ


ข้อมูลคงที่, ค่าเริ่มต้น: cutouts

กำหนดว่าให้วางรูปทรงไว้ในคัตเอาต์ภายในรูปทรงด้านล่าง (cutouts) หรือวางซ้อนทับกันและกัน (stacked) รายละเอียด


ข้อมูลคงที่, ค่าเริ่มต้น: none
Value Shape grouping
none ไม่มีการจัดกลุ่ม
color ตามสี มีปฏิสัมพันธ์กับ output.shape_stacking
parent ตามรูปทรงที่ล้อมอยู่
layer ตามเลเยอร์ลำดับภาพ
รายละเอียด

ข้อมูลบูลีน, ค่าเริ่มต้น: false

ปรับรูปวงกลม รูปวงรี รูปสี่เหลี่ยม รูปสามเหลี่ยม และรูปดาวที่ระบุไว้ให้เป็นเส้นโค้งธรรมดา รายละเอียด

เส้นโค้ง:


ข้อมูลบูลีน, ค่าเริ่มต้น: true

อนุญาตให้ใช้เส้นโค้งเบซิเยร์แบบจุดควบคุมสามจุดหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

อนุญาตให้ใช้เส้นโค้งเบซิเยร์แบบจุดควบคุมสี่จุดหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

ยอมให้ใช้เส้นโค้งวงกลมหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

ยอมให้ใช้เส้นโค้งวงรีหรือไม่ รายละเอียด


เลขทศนิยม, 0.001 ถึง 1.0, ค่าเริ่มต้น: 0.1

โดยทั่วไปเราพยายามที่จะแทนที่เส้นโค้งประเภทที่ไม่อนุญาตด้วยเส้นโค้งประเภทที่อนุญาต See the details for the precise fallback sequences.

แต่หากคุณมีประเภทที่ไม่อนุญาตมากพอ เราก็จะต้องประมาณเส้นโค้งเหล่านั้นด้วยส่วนของเส้นตรง พารามิเตอร์นี้ระบุระยะห่างสูงสุดเป็นพิกเซลระหว่างเส้นโค้งและเส้นตรงที่เป็นค่าประมาณเส้นโค้งนั้น รายละเอียด

ตัวอุดช่องว่าง


ข้อมูลบูลีน, ค่าเริ่มต้น: true

จะแก้ไขจุดบกพร่องในการเรนเดอร์เส้นสีขาวที่พบบ่อยในโปรแกรมดูภาพเวกเตอร์หรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

จะคลิปเส้นขอบตัวอุดช่องว่างหรือไม่ เมื่อ output.shape_stacking=stacked คลิปหรือใช้เส้นขอบแบบไม่ปรับขนาด รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

ขึ้นอยู่กับว่าจะใช้เส้นขอบแบบไม่ปรับขนาดกับตัวอุดช่องว่างหรือไม่ เมื่อ output.shape_stacking=stacked คลิปหรือใช้เส้นขอบแบบไม่ปรับขนาด รายละเอียด


เลขทศนิยม, 0.0 ถึง 5.0, ค่าเริ่มต้น: 2.0

ความกว้างของเส้นขอบตัวอุดช่องว่าง รายละเอียด

รูปแบบของเส้นขอบเมื่อ output.draw_style คือ stroke_shapes หรือ stroke_edges


ข้อมูลบูลีน, ค่าเริ่มต้น: true

จะใช้เส้นขอบแบบไม่ปรับขนาดหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

ขึ้นอยู่กับว่าจะใช้สีแทนที่หรือสีโดยประมาณของรูปทรงหรือไม่ รายละเอียด


รูปแบบ: '#RRGGBB', e.g. #FF00FF, ค่าเริ่มต้น: #000000

สีแทนที่ รายละเอียด


เลขทศนิยม, 0.0 ถึง 5.0, ค่าเริ่มต้น: 1.0

ความกว้างของเส้นขอบ รายละเอียด

ขนาดเอาต์พุต:


เลขทศนิยม, 0.0 ถึง 1000.0

ปัจจัยขนาดแบบเดียวกัน หากระบุไว้ ขนาดนี้จะมีความสำคัญมากกว่า output.size.width และ output.size.height


เลขทศนิยม, 0.0 ถึง 1.0E12

ความกว้างในหน่วยที่ output.size.unit กำหนดไว้ หากระบุแค่ความกว้างหรือความสูงเพียงค่าเดียว ระบบจะคำนวณอีกค่าหนึ่งโดยอัตโนมัติเพื่อรักษาอัตราส่วนกว้างยาวไว้


เลขทศนิยม, 0.0 ถึง 1.0E12

ความกว้างที่ output.size.unit กำหนดไว้ หากระบุแค่ความกว้างหรือความสูงเพียงค่าเดียว ระบบจะคำนวณอีกค่าหนึ่งโดยอัตโนมัติเพื่อรักษาอัตราส่วนกว้างยาวไว้


ข้อมูลคงที่, ค่าเริ่มต้น: none

หน่วยวัดความกว้างและความสูง ในบรรดาหน่วยเหล่านี้ pt, in, cm และ mm เป็นหน่วยทางกายภาพ ส่วน none และ px เป็นหน่วยที่ไม่ใช่กายภาพ ความแตกต่างเหล่านี้มีปฏิสัมพันธ์กับ output.size.input_dpi และ output.size.output_dpi


ข้อมูลคงที่, ค่าเริ่มต้น: preserve_inset

ค่า กฎการปรับขนาด
preserve_inset ปรับขนาดอย่างสม่ำเสมอให้พอดีกับขนาดที่กระชับมากกว่า เพื่อไม่ให้มีส่วนที่ล้นเกิน แต่จะมีพื้นที่ว่างในอีกขนาดหนึ่ง
preserve_overflow ปรับขนาดอย่างสม่ำเสมอให้พอดีกับขนาดที่กระชับน้อยกว่า เพื่อให้มีส่วนที่ล้นเกินขนาดที่กระชับมากกว่า
stretch ปรับขนาดอย่างไม่สม่ำเสมอเพื่อให้พอดีกับความกว้างและความสูงที่ระบุไว้
ในตัวเลือก preserve ใด ๆ ค่า output.size.align_x หรือ output.size.align_y จะควบคุมตำแหน่งในขนาดที่ไม่มีข้อจำกัด


เลขทศนิยม, 0.0 ถึง 1.0, ค่าเริ่มต้น: 0.5

การจัดแนวในแนวนอนสำหรับ output.size.aspect_ratiopreserve_inset หรือ preserve_overflow

ค่า การจัดแนวในแนวนอน
0.0 จัดแนวให้ชิดซ้าย
0.5 กึ่งกลางแนวนอน
1.0 จัดแนวให้ชิดขวา
ค่าใด ๆ ก็ได้ระหว่าง 0.0 ถึง 1.0


เลขทศนิยม, 0.0 ถึง 1.0, ค่าเริ่มต้น: 0.5

การจัดแนวในแนวตั้งสำหรับ output.size.aspect_ratiopreserve_inset หรือ preserve_overflow

ค่า การปรับแนวตามแนวตั้ง
0.0 จัดแนวให้ชิดด้านบนสุด
0.5 กึ่งกลางแนวตั้ง
1.0 จัดแนวให้ชิดด้านล่างสุด
ค่าใด ๆ ก็ได้ระหว่าง 0.0 ถึง 1.0


เลขทศนิยม, 1.0 ถึง 1000000.0

ค่า DPI ของภาพอินพุตจะอ่านจากไฟล์หากมีให้อ่านได้ พารามิเตอร์นี้ยอมให้คุณแทนที่ค่านั้นได้ ค่าที่เป็นผลลัพธ์จะใช้ในการคำนวณขนาดทางกายภาพของภาพอินพุต ซึ่งใช้ในการคำนวณขนาดเอาต์พุตหากมีการระบุหน่วยทางกายภาพไว้ให้เอาต์พุต แต่ไม่ได้ระบุความกว้างหรือความสูงไว้อย่างชัดเจน


เลขทศนิยม, 1.0 ถึง 1000000.0

ค่า DPI ของภาพเอาต์พุต ค่านี้ใช้เพื่อคำนวณขนาดพิกเซลของภาพเอาต์พุตที่เป็นบิตแมปเมื่อระบุหน่วยทางกายภาพไว้

ดาวน์โหลด POST
https://api.vectorizer.ai/api/v1/download

จุดหมายนี้ช่วยให้คุณ:

  1. ดาวน์โหลดผลลัพธ์ภาพเต็มรูปแบบที่พร้อมออกสื่อหลังจากการเรียก API การแสดงตัวอย่าง

    เรารวมส่วนหัว X-Receipt ในคำตอบกลับเพื่อให้คุณสามารถดาวน์โหลดรูปแบบเอาต์พุตเพิ่มเติมในจ่ายค่ารูปแบบการดาวน์โหลดด้วยอัตราต่ำลงในภายหลัง

  2. ดาวน์โหลดเอาต์พุตของภาพเดียวกันในหลายรูปแบบและดำเนินการกับรูปแบบต่าง ๆ โดยจ่ายค่ารูปแบบการดาวน์โหลดในอัตราต่ำลง และไม่จำเป็นต้องปรับให้เป็นเวกเตอร์ใหม่ตั้งแต่ต้น

พารามิเตอร์


โทเค็นรูปภาพที่ส่งคืนในส่วนหัว X-Image-Token ในการเรียก API การปรับให้เป็นเวกเตอร์ก่อนหน้านี้ที่มี policy.retention_days > 0


สตริง
เลือกได้

ใบเสร็จ ส่งคืนให้ในส่วนหัว X-Receipt ในการเรียก API ดาวน์โหลดก่อนหน้านี้ ซึ่งคุณได้อัปเกรดการแสดงตัวอย่างเป็นผลลัพธ์ภาพที่พร้อมออกสื่อ

เมื่อส่งโทเค็นภาพตัวอย่าง คุณต้องรวมใบเสร็จไปด้วยจึงจะจ่ายค่ารูปแบบการดาวน์โหลดในอัตราต่ำลงได้


ข้อมูลคงที่, ค่าเริ่มต้น: svg

รูปแบบไฟล์เอาต์พุต

ตัวเลือก SVG:


ข้อมูลคงที่, ค่าเริ่มต้น: svg_1_1

ระบุแอตทริบิวต์ที่เป็นเวอร์ชันของ SVG ในแท็ก SVG รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

ขึ้นอยู่กับว่าจะรวมแอตทริบิวต์ที่เป็นขนาดภาพในแท็ก SVG หรือไม่ ถ้าเป็น true โดยปกติโปรแกรมดูภาพจะเรนเดอร์ SVG ในขนาดคงที่ ถ้าเป็น false โดยปกติโปรแกรมดูภาพจะปล่อยให้ SVG ปรับขนาดให้พอดีกับพื้นที่ที่มีอยู่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

ถ้าเป็น true เราจะปิดใช้งานตัวเลือกที่ Adobe Illustrator ไม่สามารถนำเข้าได้ รายละเอียด

ตัวเลือก DXF:


ข้อมูลคงที่, ค่าเริ่มต้น: lines_and_arcs

โปรแกรมเปิดไฟล์ DXF มีความสามารถแตกต่างกันไป ตัวเลือกนี้ช่วยให้คุณสามารถจำกัดเอาต์พุตให้อยู่ในรูปแบบภาพทรงเรขาคณิตที่โปรแกรมเปิดไฟล์ DXF ของคุณสามารถรองรับได้ รายละเอียด

ตัวเลือกสำหรับบิตแมป:

ใช้เฉพาะเมื่อ output.file_format=png เท่านั้น


ข้อมูลคงที่, ค่าเริ่มต้น: anti_aliased
Value Anti-Aliasing Mode
anti_aliased พิกเซลตามแนวขอบระหว่างรูปทรงจะมีสีที่ผสมกันตามสัดส่วนของพื้นที่พิกเซลที่แต่ละรูปทรงครอบคลุมอยู่
aliased พิกเซลถูกกำหนดให้เป็นสีของรูปทรงที่มีจุดศูนย์กลางทางเรขาคณิตของพิกเซล

ข้อมูลคงที่, ค่าเริ่มต้น: fill_shapes

ระบุลักษณะที่คุณต้องการให้เอาต์พุตมีการลงสีเส้นขอบหรือเติมสีพื้น การลงสีเส้นขอบรอบรูปทรงและการลงสีเส้นขอบระหว่างรูปทรงมีความแตกต่างเล็กน้อย โปรดอ่านคำอธิบายโดยละเอียดในเอกสารประกอบ


ข้อมูลคงที่, ค่าเริ่มต้น: cutouts

กำหนดว่าให้วางรูปทรงไว้ในคัตเอาต์ภายในรูปทรงด้านล่าง (cutouts) หรือวางซ้อนทับกันและกัน (stacked) รายละเอียด


ข้อมูลคงที่, ค่าเริ่มต้น: none
Value Shape grouping
none ไม่มีการจัดกลุ่ม
color ตามสี มีปฏิสัมพันธ์กับ output.shape_stacking
parent ตามรูปทรงที่ล้อมอยู่
layer ตามเลเยอร์ลำดับภาพ
รายละเอียด

ข้อมูลบูลีน, ค่าเริ่มต้น: false

ปรับรูปวงกลม รูปวงรี รูปสี่เหลี่ยม รูปสามเหลี่ยม และรูปดาวที่ระบุไว้ให้เป็นเส้นโค้งธรรมดา รายละเอียด

เส้นโค้ง:


ข้อมูลบูลีน, ค่าเริ่มต้น: true

อนุญาตให้ใช้เส้นโค้งเบซิเยร์แบบจุดควบคุมสามจุดหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

อนุญาตให้ใช้เส้นโค้งเบซิเยร์แบบจุดควบคุมสี่จุดหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

ยอมให้ใช้เส้นโค้งวงกลมหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

ยอมให้ใช้เส้นโค้งวงรีหรือไม่ รายละเอียด


เลขทศนิยม, 0.001 ถึง 1.0, ค่าเริ่มต้น: 0.1

โดยทั่วไปเราพยายามที่จะแทนที่เส้นโค้งประเภทที่ไม่อนุญาตด้วยเส้นโค้งประเภทที่อนุญาต See the details for the precise fallback sequences.

แต่หากคุณมีประเภทที่ไม่อนุญาตมากพอ เราก็จะต้องประมาณเส้นโค้งเหล่านั้นด้วยส่วนของเส้นตรง พารามิเตอร์นี้ระบุระยะห่างสูงสุดเป็นพิกเซลระหว่างเส้นโค้งและเส้นตรงที่เป็นค่าประมาณเส้นโค้งนั้น รายละเอียด

ตัวอุดช่องว่าง


ข้อมูลบูลีน, ค่าเริ่มต้น: true

จะแก้ไขจุดบกพร่องในการเรนเดอร์เส้นสีขาวที่พบบ่อยในโปรแกรมดูภาพเวกเตอร์หรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

จะคลิปเส้นขอบตัวอุดช่องว่างหรือไม่ เมื่อ output.shape_stacking=stacked คลิปหรือใช้เส้นขอบแบบไม่ปรับขนาด รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: true

ขึ้นอยู่กับว่าจะใช้เส้นขอบแบบไม่ปรับขนาดกับตัวอุดช่องว่างหรือไม่ เมื่อ output.shape_stacking=stacked คลิปหรือใช้เส้นขอบแบบไม่ปรับขนาด รายละเอียด


เลขทศนิยม, 0.0 ถึง 5.0, ค่าเริ่มต้น: 2.0

ความกว้างของเส้นขอบตัวอุดช่องว่าง รายละเอียด

รูปแบบของเส้นขอบเมื่อ output.draw_style คือ stroke_shapes หรือ stroke_edges


ข้อมูลบูลีน, ค่าเริ่มต้น: true

จะใช้เส้นขอบแบบไม่ปรับขนาดหรือไม่ รายละเอียด


ข้อมูลบูลีน, ค่าเริ่มต้น: false

ขึ้นอยู่กับว่าจะใช้สีแทนที่หรือสีโดยประมาณของรูปทรงหรือไม่ รายละเอียด


รูปแบบ: '#RRGGBB', e.g. #FF00FF, ค่าเริ่มต้น: #000000

สีแทนที่ รายละเอียด


เลขทศนิยม, 0.0 ถึง 5.0, ค่าเริ่มต้น: 1.0

ความกว้างของเส้นขอบ รายละเอียด

ขนาดเอาต์พุต:


เลขทศนิยม, 0.0 ถึง 1000.0

ปัจจัยขนาดแบบเดียวกัน หากระบุไว้ ขนาดนี้จะมีความสำคัญมากกว่า output.size.width และ output.size.height


เลขทศนิยม, 0.0 ถึง 1.0E12

ความกว้างในหน่วยที่ output.size.unit กำหนดไว้ หากระบุแค่ความกว้างหรือความสูงเพียงค่าเดียว ระบบจะคำนวณอีกค่าหนึ่งโดยอัตโนมัติเพื่อรักษาอัตราส่วนกว้างยาวไว้


เลขทศนิยม, 0.0 ถึง 1.0E12

ความกว้างที่ output.size.unit กำหนดไว้ หากระบุแค่ความกว้างหรือความสูงเพียงค่าเดียว ระบบจะคำนวณอีกค่าหนึ่งโดยอัตโนมัติเพื่อรักษาอัตราส่วนกว้างยาวไว้


ข้อมูลคงที่, ค่าเริ่มต้น: none

หน่วยวัดความกว้างและความสูง ในบรรดาหน่วยเหล่านี้ pt, in, cm และ mm เป็นหน่วยทางกายภาพ ส่วน none และ px เป็นหน่วยที่ไม่ใช่กายภาพ ความแตกต่างเหล่านี้มีปฏิสัมพันธ์กับ output.size.input_dpi และ output.size.output_dpi


ข้อมูลคงที่, ค่าเริ่มต้น: preserve_inset

ค่า กฎการปรับขนาด
preserve_inset ปรับขนาดอย่างสม่ำเสมอให้พอดีกับขนาดที่กระชับมากกว่า เพื่อไม่ให้มีส่วนที่ล้นเกิน แต่จะมีพื้นที่ว่างในอีกขนาดหนึ่ง
preserve_overflow ปรับขนาดอย่างสม่ำเสมอให้พอดีกับขนาดที่กระชับน้อยกว่า เพื่อให้มีส่วนที่ล้นเกินขนาดที่กระชับมากกว่า
stretch ปรับขนาดอย่างไม่สม่ำเสมอเพื่อให้พอดีกับความกว้างและความสูงที่ระบุไว้
ในตัวเลือก preserve ใด ๆ ค่า output.size.align_x หรือ output.size.align_y จะควบคุมตำแหน่งในขนาดที่ไม่มีข้อจำกัด


เลขทศนิยม, 0.0 ถึง 1.0, ค่าเริ่มต้น: 0.5

การจัดแนวในแนวนอนสำหรับ output.size.aspect_ratiopreserve_inset หรือ preserve_overflow

ค่า การจัดแนวในแนวนอน
0.0 จัดแนวให้ชิดซ้าย
0.5 กึ่งกลางแนวนอน
1.0 จัดแนวให้ชิดขวา
ค่าใด ๆ ก็ได้ระหว่าง 0.0 ถึง 1.0


เลขทศนิยม, 0.0 ถึง 1.0, ค่าเริ่มต้น: 0.5

การจัดแนวในแนวตั้งสำหรับ output.size.aspect_ratiopreserve_inset หรือ preserve_overflow

ค่า การปรับแนวตามแนวตั้ง
0.0 จัดแนวให้ชิดด้านบนสุด
0.5 กึ่งกลางแนวตั้ง
1.0 จัดแนวให้ชิดด้านล่างสุด
ค่าใด ๆ ก็ได้ระหว่าง 0.0 ถึง 1.0


เลขทศนิยม, 1.0 ถึง 1000000.0

ค่า DPI ของภาพอินพุตจะอ่านจากไฟล์หากมีให้อ่านได้ พารามิเตอร์นี้ยอมให้คุณแทนที่ค่านั้นได้ ค่าที่เป็นผลลัพธ์จะใช้ในการคำนวณขนาดทางกายภาพของภาพอินพุต ซึ่งใช้ในการคำนวณขนาดเอาต์พุตหากมีการระบุหน่วยทางกายภาพไว้ให้เอาต์พุต แต่ไม่ได้ระบุความกว้างหรือความสูงไว้อย่างชัดเจน


เลขทศนิยม, 1.0 ถึง 1000000.0

ค่า DPI ของภาพเอาต์พุต ค่านี้ใช้เพื่อคำนวณขนาดพิกเซลของภาพเอาต์พุตที่เป็นบิตแมปเมื่อระบุหน่วยทางกายภาพไว้

ลบ POST
https://api.vectorizer.ai/api/v1/delete

ภาพที่ปรับเป็นเวกเตอร์ด้วย policy.retention_days > 0 จะจัดเก็บไว้ตามช่วงเวลาที่ขอไว้ และจะลบออกโดยอัตโนมัติในเวลาไม่นานหลังจากนั้น

โดยปกติแล้วไม่จำเป็นต้องเรียกใช้จุดหมายนี้ มีไว้เพื่อให้คุณสามารถลบภาพออกก่อนที่ระยะเวลาการเก็บรักษาจะหมดอายุ แม้ว่าคุณจะลบภาพออกก่อนกำหนด ก็จะไม่คืนเงินให้ตามจำนวนวันการจัดเก็บที่เหลืออยู่

พารามิเตอร์


โทเค็นรูปภาพที่ส่งคืนในส่วนหัว X-Image-Token ในการเรียก API การปรับให้เป็นเวกเตอร์ก่อนหน้านี้ที่มี policy.retention_days > 0

ลักษณะเฉพาะผลตอบกลับ

success

true ยืนยันว่าได้ลบโทเค็นภาพแล้ว

ตัวอย่างผลตอบกลับ

{
  "success" : true
}

สถานะบัญชี GET
https://api.vectorizer.ai/api/v1/account

ดึงข้อมูลพื้นฐานเกี่ยวกับบัญชีของคุณ เช่น สถานะการสมัครสมาชิกและจำนวนเครดิตที่เหลืออยู่

พารามิเตอร์

ไม่มี

ลักษณะเฉพาะผลตอบกลับ

subscriptionPlan

แผนสมาชิกที่คุณมีอยู่ในขณะนี้ หรือ 'ไม่มี'

subscriptionState

สถานะการเป็นสมาชิกของคุณในขณะนี้ ('ใช้บริการ' หรือ 'ค้างชำระ') หรือ 'สิ้นสุดแล้ว' หากไม่ได้เป็นสมาชิก

credits

จำนวนเครดิต API ที่คงเหลือในบัญชีของคุณ ค่าเท่ากับ 0 ถ้าไม่ได้เป็นสมาชิกในขณะนี้ หรือเป็นสมาชิกแผนบริการที่ไม่ใช่ API ตัวเลขอาจเป็นเศษส่วนก็ได้ ดังนั้นอย่าลืมแยกวิเคราะห์เป็นเลขทศนิยม

ลองใช้ดู

ชื่อผู้ใช้ = API Id, รหัสผ่าน = รหัสลับ API

cURL

$ curl "https://api.vectorizer.ai/api/v1/account" \
 -u vkyc67kqa27yidd:[secret]

ตัวอย่างผลตอบกลับ

{
  "subscriptionPlan" : "none",
  "subscriptionState" : "ended",
  "credits" : 0
}

บันทึกการเปลี่ยนแปลง API

วันที่เปลี่ยน
4 พ.ย. 2024 เพิ่ม processing.shapes.min_area_px
1 ต.ค. 2024 เพิ่มแชทบอท AI เพื่อช่วยในการผนวกรวมแอปด้วย API
23 ก.ย. 2024 ขยาย API ให้มากขึ้นเพื่อเปิดใช้งานโหมดการทำงานเพิ่มเติม เพิ่มโทเค็นภาพ ใบเสร็จ ส่วนหัวการเรียกเก็บเงินต่อการเรียกใช้ และจุดหมายการดาวน์โหลดและจุดหมายการลบ
11 มิ.ย. 2024 ได้เพิ่ม processing.palette
4 มี.ค. 2024 เพิ่มหัวข้อเกี่ยวกับการหมดเวลา
24 ม.ค. 2024 เพิ่มจุดหมายของสถานะบัญชี เพิ่มข้อผิดพลาด API ล่าสุดในหน้าบัญชี เพิ่มรายการข้อความตอบกลับข้อผิดพลาด API ทั้งหมด
16 ม.ค. 2024 ออบเจ็กต์ JSON ของข้อผิดพลาดที่จัดทำเอกสารไว้
3 ต.ค. 2023 ชี้แจงว่า output.gap_filler.enabled=true ทำให้มีสีในผลลัพธ์มากกว่าที่ขอไว้ใน processing.max_colors
20 ก.ย. 2023 ได้เพิ่ม mode
1 ส.ค. 2023 เพิ่มกลุ่มตัวเลือกขนาดเอาต์พุตที่มีคุณสมบัติครบถ้วนด้วยตัวเลือกต่อไปนี้: output.size.scale, output.size.width, output.size.height, output.size.unit, output.size.aspect_ratio, output.size.align_x, output.size.align_y, output.size.input_dpi และ output.size.output_dpi เพิ่มกลุ่มตัวเลือกเอาต์พุตบิตแมปด้วยตัวเลือกเดียว: output.bitmap.anti_aliasing_mode
7 มิ.ย. 2023 ได้เพิ่ม processing.max_colors
31 พ.ค. 2023 เพิ่มพารามิเตอร์ API ให้มากขึ้นอีกมาก อัปเดตให้ URL ที่เป็นจุดหมายของ API
10 มี.ค. 2023 ออกเผยแพร่ครั้งแรก
รับคีย์ API