Vector Hóa API Ảnh

Vectorizer.AI đưa ra API truy xuất bitmap được phát triển đầy đủ. API tự động truy xuất pixel đến các vector đầy đủ và với độ trung thực tốt nhất trong lớp.

Nhận Khóa API

Bắt Đầu Nhanh

ĐĂNG một ảnh bitmap và nhận lại kết quả vector.

$ curl https://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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://vi.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 Chatbot

Chúng tôi đã tạo một ChatGPT tùy chỉnh có thể giúp bạn tích hợp API của bạn. Nó có thể trả lời các câu hỏi về tài liệu API và cung cấp mã mẫu bằng ngôn ngữ ưa thích của bạn phù hợp với trường hợp sử dụng của bạn.

Chat with the Vectorizer.AI API Chatbot

Chatbot đang trong giai đoạn beta và mắc lỗi. Kiểm tra kỹ các câu trả lời và yêu cầu nó sửa đổi mã để sửa lỗi và thiếu sót.

Cách sử dụng API này

API được thiết kế để hỗ trợ nhiều trường hợp sử dụng khác nhau. Dưới đây là một vài cái phổ biến:

Hình ảnh duy nhất Gửi bitmap, nhận kết quả vector, hoàn thành

Sử dụng điểm cuối Vectorize và các mẫu mã ở trên.

Xem trước Hiển thị bản xem trước cho khách hàng tiềm năng của bạn trước khi họ mua

Nếu bạn cần thực hiện nhiều lệnh gọi API để bán hàng, bạn có thể sử dụng các bản xem trước chi phí thấp hơn cho đến khi bạn thực sự chuyển đổi khách hàng.

  1. Use the Vectorize endpoint with mode=preview and policy.retention_days > 0 to get the preview, making sure to retain the Image Token returned in the X-Image-Token response header.

  2. Sau khi chuyển đổi, hãy sử dụng điểm cuối Tải xuống với Mã thông báo hình ảnh để tải xuống kết quả đầy đủ.

  3. Optional: if you need additional result formats (e.g. PNG, PDF, etc), be sure to retain the Receipt returned in the X-Receipt download response header. Sau đó sử dụng điểm cuối Tải xuống với Mã thông báo hình ảnh và Biên nhận để tải xuống các định dạng còn lại.

Đa định dạng Bạn cần ví dụ: cả kết quả PNG và SVG

  1. Use the Vectorize endpoint with policy.retention_days > 0 to get the first result, making sure to retain the Image Token returned in the X-Image-Token response header.

  2. Sử dụng điểm cuối Tải xuống với Mã thông báo hình ảnh để tải xuống các định dạng khác.

Đa Tùy chọn Bạn cần xử lý từng hình ảnh với nhiều tùy chọn xử lý

  1. Use the Vectorize endpoint with policy.retention_days > 0 to get the first result, making sure to retain the Image Token returned in the X-Image-Token response header.

  2. Sử dụng điểm cuối Vectorize với Mã thông báo hình ảnh để lặp lại các tùy chọn xử lý còn lại mà bạn cần.

  3. Ngoài ra, bạn có thể xử lý từng hình ảnh riêng lẻ và không lo lắng về Mã thông báo hình ảnh. Image Token giúp bạn tiết kiệm một chút băng thông và độ trễ.

Giá

Tác vụĐiểmMô Tả
Thử nghiệm0.00

Nó hoàn toàn miễn phí để tích hợp và kiểm tra API, không cần đăng ký.

Use mode=test and mode=test_preview for development.

Bạn có thể đánh giá chất lượng kết quả bằng cách dùng Ứng Dụng Trang Web Tương Tác Qua Lại ở trang bìa.

Xem Trước0.20

Chúng tôi cung cấp kết quả xem trước mà bạn có thể hiển thị cho người dùng cuối của mình trước khi họ mua hàng.

Xem trước là hình ảnh PNG lớn hơn bốn lần so với đầu vào của bạn và đi kèm với hình mờ kín đáo.

Use mode=preview to get a preview result.

Vector Hoá1.00 Vectơ hóa hình ảnh bitmap thành hình ảnh vector.
Xem trước nâng cấp0.90 Tải xuống kết quả sản xuất sau khi gọi API xem trước. Giảm giá so với vectơ hóa nó từ đầu.
Định dạng tải xuống0.10 Tải xuống một định dạng khác (ví dụ: SVG, PNG, PDF, v.v.) của kết quả. Giảm giá so với vectơ hóa nó từ đầu.
Ngày lưu trữ0.01 Giá mỗi ngày để lưu trữ kết quả sau ngày đầu tiên, miễn phí.

Vui lòng xem trang giá cho gói đăng ký.

Xác Thực & Bảo Mật

API sử dụng xác thực truy cập cơ bản HTTP tiêu chuẩn. Tất cả các yêu cầu đối với API phải được thực hiện qua HTTPS và bao gồm API của bạn. Các chứng nhận, có Id API là người dùng và Bí mật API là mật khẩu.

Thư viện khách hàng http của bạn phải hỗ trợ Chỉ Định Tên Máy Chủ (SNI) để thực hiện thành công các yêu cầu. Nếu bạn nhận được các lỗi giao tiếp lạ, việc thiếu hỗ trợ SNI có thể chính là lý do.

Giới Hạn Tốc Độ

Việc sử dụng API bị giới hạn tốc độ với các hạn mức cho phép mang tính hào phóng và không có giới hạn trần vượt.

Trong quá trình hoạt động thông thường do người dùng cuối điều khiển, bạn sẽ ít gặp phải bất kỳ giới hạn tốc độ nào vì việc sử dụng có xu hướng tăng giảm theo cách mà dịch vụ xử lý một cách ổn thoả.

Dù vậy, đối với các công việc hàng loạt chúng tôi khuyến khích bắt đầu nhiều nhất là 5 chuỗi, tăng thêm 1 chuỗi mới mỗi 5 phút cho đến khi bạn đạt đến mức độ song song mong muốn. Nếu bạn cần hơn 100 chuỗi cùng lúc, vui lòng liên hệ trước khi bắt đầu.

Nếu bạn gửi quá nhiều yêu cầu thì bạn sẽ bắt đầu nhận các phản hồi 429 Too Many Requests. Khi điều này xảy ra, bạn nên áp dụng linear back off//: trước phản hồi đầu tiên đó, đợi 5 giây cho đến khi gửi yêu cầu tiếp theo. Đối với 429 phản hồi liên tục thứ hai/, hãy đợi 2*5= 10 giây cho đến khi gửi yêu cầu tiếp theo. Đối với thứ bạ, đợi 3*5=15 giây, v.v.

Bạn có thể đặt lại bộ đếm back off sau khi yêu cầu thành công và bạn nên sử dụng back off trên cơ sở mỗi chuỗi (chẳng hạn các chuỗi nên hoạt động độc lập với nhau).

Thời gian chờ

Trong khi các yêu cầu của API thông thường được nhanh chóng làm xong, có thể trong suốt thời gian đột ngột tăng hoặc giảm tải tạm thời của người dùng đê trải nghiệm thời gian xử lý lâu hơn.

Nhằm để đảm bảo thư viện khách hàng của bạn không chấm dứt các yêu cầu API trước thời hạn, nên cấu hình có thời gian chờ không hoạt động ít nhất 180giây

Lỗi JSON

Chúng tôi sử dụng nguyên trạng HTTP quy ước để cho thấy sự thành công hay thất bại của một yêu cầu API và bao gồm những thông tin lỗi quan trọng trong Đối tượng Lỗi JSON (Error JSON Object) được trả về.

Chúng tôi luôn cố gắng trả về Đối tượng Lỗi JSON (Error JSON Object) với bất kỳ yêu nào có vấn đề. Tuy nhiên, có những thất bại của máy chủ nội bộ luôn luôn có thể về mặt lý thuyết mà việc đó dẫn đến phản hồi không không phải do lỗi JSON.

Các Thuộc Tính

statusTrạng thái phản hồi của HTTP được lập lại ở đây để giúp cho việc gỡ lỗi.
codeVectorizer.AI mã lỗi nội bộ.
messageTin nhắn lỗi người có thể đọc được, dự định có ích trong việc gỡ lỗi.

Nếu trạng thái HTTP đối với yêu cầu của bạn là 200 thì sẽ không có Đối Tượng Lỗi JSON (Error JSON Object) nào được trả về và bạn có thể giả định một cách an toàn nói chung là yêu cầu đã thành công/.

Một số Thư Viện Khách Hàng HTTP đưa ra các lỗi/ về nguyên trạng HTTP/ trong phạm vi 400-599. Bạn sẽ cần nắm lấy các lỗi này và xử lý chúng phù hợp.

HTTP StatusÝ nghĩa
200-299

Thành Công

400-499

Có vấn đề với thông tin được cung cấp trong yêu cầu (chẳng hạn đã mất một tham số). Vui lòng xem xét tin nhắn lỗi để tìm ra cách sửa nó.

500-599

Đã có Vectorizer.AI mã lỗi nội bộ. Đợi 1 chút rồi thử lại và nếu sự cố cứ tiếp tục tồn tại, vui lòng email cho chúng tôi.

Example Error Response

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

Lỗi API gần đây được liệt kê trên trang tài khoản của bạn để tiện cho bạn gỡ lỗi.

Cũng có một danh sách tất cả các phản ứng lỗi được API trả về .

Các Tiêu Đề Phản Hồi

Dưới đây là các tiêu đề phản hồi tùy chỉnh mà chúng tôi sử dụng:

Tiêu đềMô Tả
X-Image-Token

Returned when your vectorization request has policy.retention_days > 0. Có thể được sử dụng để:

  1. Tải xuống kết quả sản xuất sau khi gọi API xem trước với mức chiết khấu so với vectơ hóa từ đầu.

  2. Tải xuống các định dạng bổ sung (ví dụ: SVG, PNG, PDF, v.v.) của kết quả với tốc độ giảm so với vectơ hóa chúng từ đầu.

  3. Vectơ hóa lại cùng một hình ảnh với các tùy chọn xử lý khác nhau.

X-Receipt

Trả về khi bạn tải xuống kết quả sản xuất bằng Mã thông báo hình ảnh xem trước. Có thể được sử dụng để tải xuống các định dạng bổ sung (ví dụ: SVG, PNG, PDF, v.v.) của kết quả ở tốc độ định dạng tải xuống thay vì tốc độ xem trước nâng cấp.

X-Credits-Calculated

Trả về với các yêu cầu kiểm tra để hiển thị chi phí sẽ phát sinh nếu đó là yêu cầu thông thường.

X-Credits-Charged

Trả lại với tất cả các yêu cầu để hiển thị chi phí phát sinh. Luôn luôn 0 cho các yêu cầu kiểm tra.

Vector Hoá POST
https://api.vectorizer.ai/api/v1/vectorize

Để tạo vector cho một hình ảnh, bạn tải lên một tệp HTTP POST chuẩn. Hãy ghi nhớ rằng Loại-Nội Dung phải là multipart/form-data khi tải các tệp nhị phân lên.

Bảng dưới đây bố trí tất cả các thông số API trong một mẫu làm việc thử nó ngay. Mỗi thông số có một mô tả chính, nhưng hãy chắc chắc đến kiểm tra Tài Liệu Tùy Chọn Đầu Ra chi tiết.

Các tham số

Phải cung cấp hình ảnh đầu vào là hình ảnh của:


Nhị phân

Tệp nhị phân.


Chuỗi

Chuỗi được mã hóa base64. Dãy thông tin này có dung lượng nhiều nhất là 1 megabyte.


Chuỗi

URL tìm nạp và xử lý.


An Image Token, returned in the X-Image-Token header in an earlier vectorization API call where policy.retention_days > 0.

Phải là tệp .bmp, .gif, .jpeg, .png, hoặc .tiff.

Kích thước tải lên của ảnh tối đa (= chiều dài ×chiều cao) là 33.554.432pixels, mà bị co rút tới input.max_pixels.


Số đếm, mặc định: production
Value Processing Mode Credits
production

Phương thức này dự kiến để sử dụng cho sản xuất và hỗ trợ tất cả các thông số.

1.00
preview

Phương thức này dự kiến dành cho khi bạn muốn cho thấy người dùng cuối của bạn xem trước trước khi họ mua hàng.

Nó tạo ra kết quả PNG 4x với hình mờ kín đáo, bỏ qua bất kỳ thông số trái ngược nào.

0.20
test, test_preview

Các chế độ này dành cho nhà phát triển sử dụng khi tích hợp với dịch vụ. Hỗ trợ tất cả các thôn số, nhưng có vết mờ khá rõ.

Kết quả kiểm tra miễn phí và không cần đăng ký mua đang hoạt động, thế nên bạn có thể tích hợp với dịch vụ miễn phí.

We include an X-Credits-Calculated header in the response so you can affirmatively know what you would have been charged for the corresponding production calls.

Miễn Phí

Số nguyên, 100 đến 3145828, mặc định: 2097252

Kích cỡ ảnh đầu vào tối đa (= chiều rộng × chiều cao bằng pixel). Các ảnh lớn hơn ảnh này sẽ bị co lại tới kích thước này trước khi xử lý.


Số nguyên, 0 đến 30, mặc định: 0

Số ngày để giữ lại hình ảnh đầu vào và kết quả của nó. When you specify policy.retention_days > 0 we include an X-Image-Token header in the response.

Điều này có ba cách sử dụng chính:

  1. Sau khi thực hiện cuộc gọi API xem trước, sau đó bạn có thể tải xuống kết quả sản xuất một cách nhanh chóng và giảm giá.

  2. Sau khi vectơ hóa một hình ảnh, bạn có thể tải xuống nhiều định dạng đầu ra cho cùng một hình ảnh và các tùy chọn xử lý mà không cần phải vectơ hóa tất cả chúng từ đầu. Điều này tiết kiệm đáng kể cả tín dụng và độ trễ.

  3. Khi bạn muốn vectơ hóa lại cùng một hình ảnh với các tùy chọn xử lý khác nhau. Điều này cho phép bạn giảm độ trễ cuộc gọi và tiết kiệm băng thông.

The first day of storage is free, then a charge of 0,01 credits per day applies.

Xem thêm Điểm cuối tải xuống.


Số nguyên, 0 đến 256, mặc định: 0

Số lượng màu tối đa để dùng cho kết quả.

0 có nghĩa là không giới hạn. 12 cả hai có nghĩa là hai màu, chắng hạn đen trắng. N>=2 là số màu.

Hãy lưu ý rằng nếu output.gap_filler.enabled=true (mặc định) thì kết quả cũng sẽ có hỗn hợp mà đã chọn. Vô hiệu hóa việc lấp đầy khoảng trống để nhận được kết quả chỉ với những màu đã chọn.


Format: '[color][-> remapped][~ tolerance];'
#00000000;
#FFFFFF ~ 0.1;
#0000FF -> #00FF00;
#FF0000 -> #00FF00 ~ 0.1;

Default:   (empty)

Đây là một cơ chế rất mạnh mẽ và linh hoạt để kiểm soát màu sắc trong kết quả.

Màu sắc được phát hiện trong hình ảnh nằm trong dung sai của bất kỳ màu nào trong bảng màu sẽ được gắn vào màu bảng gần nhất và được vẽ lại nếu màu bảng đó có ánh xạ lại được chỉ định. Màu sắc chưa từng có được không thay đổi.

Các Hình Mẫu

Để chụp các màu được phát hiện với màu đỏ, xanh lá cây và xanh lam gần nhất, hãy sử dụng:

#FF0000; 
#00FF00; 
#0000FF;

Để làm sạch các màu được phát hiện gần với màu đỏ, xanh lá cây và xanh lam, nhưng để những màu khác không thay đổi, hãy sử dụng:

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

Để biến các màu được phát hiện gần với màu đỏ thành màu xanh lá cây, để mọi thứ khác không thay đổi, hãy sử dụng:

#FF0000 -> #00FF00 ~ 0.02;

Để ghép bất cứ thứ gì gần với màu đỏ, xanh lá cây và xanh lam vào những màu đó, nhưng ghép tất cả các màu khác thành màu đen trong suốt (do đó loại bỏ chúng khỏi kết quả), hãy sử dụng:

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

Các Màu

Màu sắc được chỉ định bằng cú pháp màu CSS cơ bản. Đối với màu trong suốt (một phần), chúng tôi khuyên bạn nên sử dụng #RRGGBBAA. Đối với màu mờ, chúng tôi khuyên bạn nên sử dụng #RRGGBB.

Màu sắc hoàn toàn trong suốt được bỏ qua khỏi kết quả. Cùng với khả năng ánh xạ lại màu, bạn có thể sử dụng nó để loại bỏ các màu đã chọn khỏi kết quả.

You can use a maximum of 1.024 colors.

Khoan dung

Đơn vị nằm trong khoảng cách màu ARGB phân số, trong đó 1.0 là khoảng cách từ màu đỏ đục (#FFFF0000) đến màu đen đục (#FF000000).

Dung sai tối đa là 2.0, là khoảng cách từ màu đen trong suốt (#00000000) đến màu trắng đục (#FFFFFFFF).

The default tolerance is 2,0, so by default detected colors will snap to their nearest palette color, even if it is far away. Bạn có thể hạn chế việc gắn vào các màu bảng riêng lẻ bằng cách chỉ định dung sai tùy chỉnh.

Nếu bạn đã quen làm việc với các màu trong phạm vi 0-255, thì chỉ cần chia cho 255 để có được giá trị phân số.


Số đếm, mặc định: svg

Định dạng tập tin đầu ra.

Các Tuỳ Chọn SVG:


Số đếm, mặc định: svg_1_1

Định rõ thuộc tính phiên bản SVG trong thẻ SVG. Chi Tiết


Boolean, mặc định: false

Cho dù có các thuộc tính kích thước hình ảnh trong thẻ SVG hay không. Khi true người xem thông thường sẽ đưa ra SVG ở kích cỡ cố định. Khi người xem false thông thường sẽ để tỷ lệ SVG phù hợp với khoảng trống có sẵn. Chi Tiết


Boolean, mặc định: false

Khi true chúng ta vô hiệu hóa các tùy chọn mà Adobe Illustrator không thể nhập. Chi Tiết

Các Tùy Chọn DXF:


Số đếm, mặc định: lines_and_arcs

Khả năng người đọc DXF thay đổi khả năng. Tùy chọn này cho phép bạn hạn chế ảnh đầu ra đối với các màu vẽ gốc mà người đọc DXF của bạn hỗ trợ thực sự. Chi Tiết

Các Tùy Chọn Bitmap:


Số đếm, mặc định: anti_aliased
Value Anti-Aliasing Mode
anti_aliased Các pixel dọc theo ranh giới giữa các hình dạng có màu pha trộn theo tỷ lệ vùng của pixel có trong mỗi hình dạng đó.
aliased Các pixel được ấn định mà hình dạng có ở trung tâm hình học của pixel.

Số đếm, mặc định: fill_shapes

Định rõ cách bạn muốn ảnh đầu ra được vuốt hay được lấp đầy. Có sự khác biệt khó thấy giữa việc vuốt hình dạng và vuốt rìa giữa các ảnh. Vui lòng xem văn kiện giải thích chi tiết.


Số đếm, mặc định: cutouts

Xác định xem hình dạng được đặt trong các ảnh cắt ra theo hình dạng dưới đây cutouts hoặc xem các ảnh cắt ra đó có được sắp xếp trên cùng của nhau không stacked. Chi Tiết


Số đếm, mặc định: none
Value Shape grouping
none Không lập nhóm
color Theo màu, tương tác với output.shape_stacking
parent Bằng cách nén lại hình dạng
layer Bằng các lớp draw order
Chi Tiết

Boolean, mặc định: false

Các vòng tròn, hình elip, hình chữ nhật, hình tam giác và các ngôi sao được xác định dẹt đối với các đường cong thông thường. Chi Tiết

Các đường cong:


Boolean, mặc định: true

Cho dù có cho phép các Đường Cong Be1zier bình phương. Chi Tiết


Boolean, mặc định: true

Cho dù có cho phép các Đường Cong Be1zier lập phương. Chi Tiết


Boolean, mặc định: true

Cho dù có cho phép các Hình Cung Vòng Tròn. Chi Tiết


Boolean, mặc định: true

Cho dù có cho phép các Hình Cung Elip. Chi Tiết


Float, 0.001 đến 1.0, mặc định: 0.1

Khoảng cách tối đa bằng pixel giữa một đường cong và đường thẳng gần giống nó. Chi Tiết

Lấp Đầy Chỗ Trống:


Boolean, mặc định: true

Dù có làm việc quanh đường màu trắng gây lỗi chung trong những người xem vector//. Chi Tiết


Boolean, mặc định: false

Có cắt ngắn việc lắp đầy chỗ trống hay không. Khi output.shape_stacking=stacked cắt bới hoặc sử dụng đường viền không mở rộng quy mô. Chi Tiết


Boolean, mặc định: true

Cho dù có dùng các màu viền lấp đầy chỗ trống không mở rộng quy mô. Khi output.shape_stacking=stacked cắt bới hoặc sử dụng đường viền không mở rộng quy mô. Chi Tiết


Float, 0.0 đến 5.0, mặc định: 2.0

Chiều rộng của đường viền lấp đầy chỗ trống. Chi Tiết

Kiểu đường viền khi output.draw_stylestroke_shapes hoặc stroke_edges


Boolean, mặc định: true

Cho dù có dùng đường viền không mở rộng quy mô hay không. Chi Tiết


Boolean, mặc định: false

Cho dù có dùng màu chồng lên hoặc màu hình dạng được đánh giá hay không. Chi Tiết


Format: '#RRGGBB', e.g. #FF00FF, default: #000000

Mầu chống lên. Chi Tiết


Float, 0.0 đến 5.0, mặc định: 1.0

Chiều rộng đườngviền. Chi Tiết

Kích Thước Đầu Ra


Float, 0.0 đến 1000.0

Yếu tố quy mô giống nhau. Nếu được định rõ, việc này theo tiền lệ cho output.size.widthoutput.size.height.


Float, 0.0 đến 1.0E12

Chiều dài trong các đơn vị được quy định bằng output.size.unit. Nếu chỉ xác định một chiều trong rộng và chiều cao, chiều kia tự động được tính để giữ tỷ lệ khung hình.


Float, 0.0 đến 1.0E12

Chiều cao theo đơn vị được quy định bởi output.size.unit. Nếu chỉ xác định một chiều trong rộng và chiều cao, chiều kia tự động được tính để giữ tỷ lệ khung hình.


Số đếm, mặc định: none

Đơn vị đo lường chiều rông và chiêu cao. Trong số những đơn vị này, ptincm, và mm là những đơn vị vật lý, và nonepx là những đơn vị phi vật lý. Những sự phân biệt nay tương tác với output.size.input_dpioutput.size.output_dpi.


Số đếm, mặc định: preserve_inset

Giá trị Quy Tắc Chia Tỷ Lệ
preserve_inset Chia tỷ lệ không đổi để vừa vặn kích cỡ khít khao, vì thế không có dòng quá tải nhưng có chỗ trống ở kích cỡ khác.
preserve_overflow Chia tỷ lệ không đổi để vừa vặn kích cỡ ít khít khao hơn, thế nên không có dòng quá tải nhưng có chỗ trống ở kích cỡ khác.
stretch Tỷ lệ không giống nhau để vừa vặn chiều rộng và chiều cao được xác định
Đối với cả hai chọn lựa preserve, vị trí trong kích cỡ không hạn chế được kiểm soát bởi output.size.align_xoutput.size.align_y.


Float, 0.0 đến 1.0, mặc định: 0.5

Ngắm máy theo chiều ngang cho output.size.aspect_ratio = preserve_inset hoặc preserve_overflow.

Giá trị Ngắm máy theo chiều ngang
0.0 Ngắm máy theo bên trái
0.5 Ở giữa theo chiều ngang
1.0 Ngắm máy theo bên phải
Có thể là bất kỳ giá trị nào từ 0.0 đến 1.0.


Float, 0.0 đến 1.0, mặc định: 0.5

Ngắm máy theo chiều dọc cho output.size.aspect_ratiopreserve_insetpreserve_overflow.

Giá trị Canh Thẳng Hàng/Cẳng Chỉnh Dọc/
0.0 Ngắm máy theo trên cùng
0.5 Ở giữa theo chiều dọc
1.0 Ngắm máy theo dưới cùng
Có thể là bất kỳ giá trị nào từ 0.0 đến 1.0.


Float, 1.0 đến 1000000.0

DPI hình ảnh đầu vào được đọc từ tệp khi có sẵn. Thông số này cho phép bạn chồng lên giá trị đó. Giá trị kết quả được dùng để tính kích cỡ vật lý của ảnh đầu vào, mà được dùng để tính kích cỡ đầu ra nếu đơn vị vật lý được xác định cho ảnh đầu ra, nhưng không phải là chiều rộng hoặc chiều cao rõ ràng.


Float, 1.0 đến 1000000.0

DPI ảnh đầu ra. Cái này được dùng để tính kích cỡ pixel của ảnh đầu ra bitmap khi có xác định đơn vị vật lý.

Tải Về POST
https://api.vectorizer.ai/api/v1/download

Điểm cuối này cho phép bạn:

  1. Tải xuống kết quả sản xuất đầy đủ sau khi gọi API xem trước.

    We include an X-Receipt header in the response so you can download additional output formats at the reduced download format rate afterwards.

  2. Tải xuống nhiều định dạng đầu ra cho cùng một hình ảnh và các tùy chọn xử lý ở tốc độ định dạng tải xuống giảm và không cần phải vectơ hóa tất cả chúng từ đầu.

Các tham số


An Image Token, returned in the X-Image-Token header in an earlier vectorization API call where policy.retention_days > 0.


Chuỗi
Không bắt buộc

A receipt, returned in the X-Receipt header in an earlier download API call where you upgraded a preview to a production result.

Khi gửi Mã thông báo hình ảnh xem trước, bạn phải bao gồm biên lai để được giảm tỷ lệ định dạng tải xuống.


Số đếm, mặc định: svg

Định dạng tập tin đầu ra.

Các Tuỳ Chọn SVG:


Số đếm, mặc định: svg_1_1

Định rõ thuộc tính phiên bản SVG trong thẻ SVG. Chi Tiết


Boolean, mặc định: false

Cho dù có các thuộc tính kích thước hình ảnh trong thẻ SVG hay không. Khi true người xem thông thường sẽ đưa ra SVG ở kích cỡ cố định. Khi người xem false thông thường sẽ để tỷ lệ SVG phù hợp với khoảng trống có sẵn. Chi Tiết


Boolean, mặc định: false

Khi true chúng ta vô hiệu hóa các tùy chọn mà Adobe Illustrator không thể nhập. Chi Tiết

Các Tùy Chọn DXF:


Số đếm, mặc định: lines_and_arcs

Khả năng người đọc DXF thay đổi khả năng. Tùy chọn này cho phép bạn hạn chế ảnh đầu ra đối với các màu vẽ gốc mà người đọc DXF của bạn hỗ trợ thực sự. Chi Tiết

Các Tùy Chọn Bitmap:


Số đếm, mặc định: anti_aliased
Value Anti-Aliasing Mode
anti_aliased Các pixel dọc theo ranh giới giữa các hình dạng có màu pha trộn theo tỷ lệ vùng của pixel có trong mỗi hình dạng đó.
aliased Các pixel được ấn định mà hình dạng có ở trung tâm hình học của pixel.

Số đếm, mặc định: fill_shapes

Định rõ cách bạn muốn ảnh đầu ra được vuốt hay được lấp đầy. Có sự khác biệt khó thấy giữa việc vuốt hình dạng và vuốt rìa giữa các ảnh. Vui lòng xem văn kiện giải thích chi tiết.


Số đếm, mặc định: cutouts

Xác định xem hình dạng được đặt trong các ảnh cắt ra theo hình dạng dưới đây cutouts hoặc xem các ảnh cắt ra đó có được sắp xếp trên cùng của nhau không stacked. Chi Tiết


Số đếm, mặc định: none
Value Shape grouping
none Không lập nhóm
color Theo màu, tương tác với output.shape_stacking
parent Bằng cách nén lại hình dạng
layer Bằng các lớp draw order
Chi Tiết

Boolean, mặc định: false

Các vòng tròn, hình elip, hình chữ nhật, hình tam giác và các ngôi sao được xác định dẹt đối với các đường cong thông thường. Chi Tiết

Các đường cong:


Boolean, mặc định: true

Cho dù có cho phép các Đường Cong Be1zier bình phương. Chi Tiết


Boolean, mặc định: true

Cho dù có cho phép các Đường Cong Be1zier lập phương. Chi Tiết


Boolean, mặc định: true

Cho dù có cho phép các Hình Cung Vòng Tròn. Chi Tiết


Boolean, mặc định: true

Cho dù có cho phép các Hình Cung Elip. Chi Tiết


Float, 0.001 đến 1.0, mặc định: 0.1

Khoảng cách tối đa bằng pixel giữa một đường cong và đường thẳng gần giống nó. Chi Tiết

Lấp Đầy Chỗ Trống:


Boolean, mặc định: true

Dù có làm việc quanh đường màu trắng gây lỗi chung trong những người xem vector//. Chi Tiết


Boolean, mặc định: false

Có cắt ngắn việc lắp đầy chỗ trống hay không. Khi output.shape_stacking=stacked cắt bới hoặc sử dụng đường viền không mở rộng quy mô. Chi Tiết


Boolean, mặc định: true

Cho dù có dùng các màu viền lấp đầy chỗ trống không mở rộng quy mô. Khi output.shape_stacking=stacked cắt bới hoặc sử dụng đường viền không mở rộng quy mô. Chi Tiết


Float, 0.0 đến 5.0, mặc định: 2.0

Chiều rộng của đường viền lấp đầy chỗ trống. Chi Tiết

Kiểu đường viền khi output.draw_stylestroke_shapes hoặc stroke_edges


Boolean, mặc định: true

Cho dù có dùng đường viền không mở rộng quy mô hay không. Chi Tiết


Boolean, mặc định: false

Cho dù có dùng màu chồng lên hoặc màu hình dạng được đánh giá hay không. Chi Tiết


Format: '#RRGGBB', e.g. #FF00FF, default: #000000

Mầu chống lên. Chi Tiết


Float, 0.0 đến 5.0, mặc định: 1.0

Chiều rộng đườngviền. Chi Tiết

Kích Thước Đầu Ra


Float, 0.0 đến 1000.0

Yếu tố quy mô giống nhau. Nếu được định rõ, việc này theo tiền lệ cho output.size.widthoutput.size.height.


Float, 0.0 đến 1.0E12

Chiều dài trong các đơn vị được quy định bằng output.size.unit. Nếu chỉ xác định một chiều trong rộng và chiều cao, chiều kia tự động được tính để giữ tỷ lệ khung hình.


Float, 0.0 đến 1.0E12

Chiều cao theo đơn vị được quy định bởi output.size.unit. Nếu chỉ xác định một chiều trong rộng và chiều cao, chiều kia tự động được tính để giữ tỷ lệ khung hình.


Số đếm, mặc định: none

Đơn vị đo lường chiều rông và chiêu cao. Trong số những đơn vị này, ptincm, và mm là những đơn vị vật lý, và nonepx là những đơn vị phi vật lý. Những sự phân biệt nay tương tác với output.size.input_dpioutput.size.output_dpi.


Số đếm, mặc định: preserve_inset

Giá trị Quy Tắc Chia Tỷ Lệ
preserve_inset Chia tỷ lệ không đổi để vừa vặn kích cỡ khít khao, vì thế không có dòng quá tải nhưng có chỗ trống ở kích cỡ khác.
preserve_overflow Chia tỷ lệ không đổi để vừa vặn kích cỡ ít khít khao hơn, thế nên không có dòng quá tải nhưng có chỗ trống ở kích cỡ khác.
stretch Tỷ lệ không giống nhau để vừa vặn chiều rộng và chiều cao được xác định
Đối với cả hai chọn lựa preserve, vị trí trong kích cỡ không hạn chế được kiểm soát bởi output.size.align_xoutput.size.align_y.


Float, 0.0 đến 1.0, mặc định: 0.5

Ngắm máy theo chiều ngang cho output.size.aspect_ratio = preserve_inset hoặc preserve_overflow.

Giá trị Ngắm máy theo chiều ngang
0.0 Ngắm máy theo bên trái
0.5 Ở giữa theo chiều ngang
1.0 Ngắm máy theo bên phải
Có thể là bất kỳ giá trị nào từ 0.0 đến 1.0.


Float, 0.0 đến 1.0, mặc định: 0.5

Ngắm máy theo chiều dọc cho output.size.aspect_ratiopreserve_insetpreserve_overflow.

Giá trị Canh Thẳng Hàng/Cẳng Chỉnh Dọc/
0.0 Ngắm máy theo trên cùng
0.5 Ở giữa theo chiều dọc
1.0 Ngắm máy theo dưới cùng
Có thể là bất kỳ giá trị nào từ 0.0 đến 1.0.


Float, 1.0 đến 1000000.0

DPI hình ảnh đầu vào được đọc từ tệp khi có sẵn. Thông số này cho phép bạn chồng lên giá trị đó. Giá trị kết quả được dùng để tính kích cỡ vật lý của ảnh đầu vào, mà được dùng để tính kích cỡ đầu ra nếu đơn vị vật lý được xác định cho ảnh đầu ra, nhưng không phải là chiều rộng hoặc chiều cao rõ ràng.


Float, 1.0 đến 1000000.0

DPI ảnh đầu ra. Cái này được dùng để tính kích cỡ pixel của ảnh đầu ra bitmap khi có xác định đơn vị vật lý.

Xóa POST
https://api.vectorizer.ai/api/v1/delete

Images vectorized with policy.retention_days > 0 are stored for the requested time period and deleted automatically shortly thereafter.

Thông thường không cần phải gọi điểm cuối này. Nó được cung cấp để bạn có thể xóa hình ảnh trước khi hết thời gian lưu giữ. Xóa hình ảnh sớm không hoàn lại tiền cho những ngày lưu trữ còn lại.

Các tham số


An Image Token, returned in the X-Image-Token header in an earlier vectorization API call where policy.retention_days > 0.

Các Thuộc Tính Phản Hồi

success

true Mã thông báo hình ảnh đã bị xóa một cách khẳng định.

Example Response

{
  "success" : true
}

Trạng Thái Tài Khoản GET
https://api.vectorizer.ai/api/v1/account

Lấy thông tin cơ bản về tài khoản của bạn như tình trạng đăng ký và số điểm còn lại của bạn.

Các tham số

Không Có

Các Thuộc Tính Phản Hồi

subscriptionPlan

Gói đăng hiện mà hiện nay bạn được đăng ký cho hoặc 'không'/.

subscriptionState

Tình trạng đăng ký hiện nay của bạn ('hoạt động hoặc 'Quá hạn') hoặc đã kết thúc nếu không có đăng ký.

credits

Số điểm API còn lại trong tài khoản của bạn. 0 nếu hiện tại không có đăng ký hoặc đã đăng ký chương trình không phải API. Có thể rất nhỏ, thế nên hãy chắc chắn phân tích là Gấp Đôi.

Người dùng = id API, Hộ chiếu = Bí mật API

cURL

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

Example Response

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

Danh Mục Các Thay Đổi API

NgàyThay đổi
1 thg 10, 2024 Đã thêm một chatbot AI để hỗ trợ tích hợp với API.
23 thg 9, 2024 Mở rộng đáng kể API để cho phép nhiều chế độ hoạt động hơn. Đã thêm Mã thông báo hình ảnh, Biên lai, tiêu đề phí cho mỗi cuộc gọi và các điểm cuối Tải xuống và Xóa.
11 thg 6, 2024 Đã thêm processing.palette
4 thg 3, 2024 Phần phụ về thời gian chờ.///
24 thg 1, 2024 Đã bổ sung đầu cuối Trạng Thái Tài Khoản. Đã bổ sung các lỗi API gần đây vào trang Tài Khoản. Đã bổ sung danh sách tất các các phản hồi lỗi API.
16 thg 1, 2024 Đã ghi nhận Lỗi Kiểu Dữ Liệu JSON.
3 thg 10, 2023 Được làm rõ là output.gap_filler.enabled=true dẫn đến nhiều màu ở kết quả hơn được yêu cầu trong processing.max_colors.
20 thg 9, 2023 Đã thêm mode
1 thg 8, 2023 Đã thêm một nhóm tùy chọn kích cỡ ảnh đầu ra đầy đủ chức năng có các tùy chọn sau: 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, và output.size.output_dpi. Đã thêm nhóm tùy chọn ảnh đầu ra bitmap với một tùy chọn: output.bitmap.anti_aliasing_mode.
7 thg 6, 2023 Đã thêm processing.max_colors
31 thg 5, 2023 Đã mở rộng nhiều các thông số API. Đã cập nhật đầu cuối API.
10 thg 3, 2023 Phát hành lần đầu.
Nhận Khóa API