Resim Vektörleştirme APIsi

Vectorizer.AI tam donanımlı bir bit eşlem çevirici API sunmaktadır. API pikselleri vektöre tamamen otomatik ve sınıfının en iyisi doğrulukta çevirir.

API Anahtarı alın

Hızlı Başlangıç

Bir bit eşlem resmi yükleyin ve vektörleşmiş sonucu hemen alın:

$ curl https://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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://tr.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 Sohbet Robotu

API entegrasyonunuza yardımcı olabilecek, özel yapım bir ChatGPT oluşturduk. API dokümentasyonu hakkındaki sorularınıza cevap verip sizin kullanımıza göre, tercih ettiğiniz dilde örnek kod sunabilir.

Vectorizer.AI API Sohbet Robotu ile Sohbet Edin

Sohbet robotu şu an beta seviyesinde ve hata yapabilir. Verdiği cevapları kontrol edin ve hataları ve eksiklikleri düzeltmek için kodu gözden geçirmesini isteyin.

Bu API'yi Nasıl Kullanabilirsiniz

API çok sayıda farklı kullanım durumunu desteklemek için tasarlanmıştır. Yaygın olan bir kaç tanesi şunlardır:

Tek Resim Biteşlem ekle, vektör sonucu al, işlem tamam

Vektörleştirme son noktasını ve yukarıdaki kod örneklerini kullanın.

Önce Önizleme Yap Satın alma işlemi yapmadan önce olası müşterinize önizlemeyi gösterin

Satış gerçekleştirmek için çok sayıda API çağrısı yapmanız gereken durumlarda, müşteriyi gerçekten ikna edene kadar daha düşük maliyetli önizlemeleri kullanabilirsiniz.

  1. Önizleme için, X-Image-Token yanıt başlığında döndürülen Resim Belirtecinin korunduğundan emin olup, Vektörleştir son noktasını mode=preview ve policy.retention_days > 0 ile kullanın.

  2. Dönüştürmenin ardından, tam sonucu indirmek için İndir son noktasını Resim Belirteciyle kullanın.

  3. İsteğe bağlı: ek sonuç formatlarına (örneğin PNG, PDF, vb.) ihtiyaç duyduğunuz takdirde, X-Receipt indirme yanıt başlığında döndürülen Alındıyı sakladığınızdan emin olun. Daha sonra, Resim Belirteci ve Alındısıyla birlikte İndir son noktasını kalan formatları indirmek için kullanın.

Çoklu-Format Örneğin, hem PNG hem de SVG sonuçlarına ihtiyacınız var

  1. X-Image-Token yanıt başlığında döndürülen Resim Belirtecini koruduğunuzdan emin olup, ilk sonucu almak için Vektörleştir son noktasını policy.retention_days > 0 koduyla kullanın.

  2. Diğer formatları indirmek için İndir son noktasını Resim Belirteciyle kullanın.

Çoklu-Seçenek Her resmi çoklu işleme seçenekleriyle işlemeniz gerekiyor

  1. X-Image-Token yanıt başlığında döndürülen Resim Belirtecini koruduğunuzdan emin olup, ilk sonucu almak için Vektörleştir son noktasını policy.retention_days > 0 koduyla kullanın.

  2. İhtiyacınız duyduğunuz kalan işleme seçeneklerinde bunu yinelemek için Vektörleştir son noktasını Resim Belirteciyle kullanın.

  3. Ya da alternatif olarak her bir resmi ayrı ayrı işleyebilir ve Resim Belirtecini görmezden gelebilirsiniz. Resim Belirteci size biraz bant genişliği ve gecikmesi süresinden tasarruf sağlar.

Fiyatlandırma

EylemKrediTanım
Test0.00

API'ye entegre olma ve test etme ücretsizdir, aboneliğe gerek yoktur.

Basım için mode=test ve mode=test_preview kullanın.

Ön sayfada bulunan etkileşimli Web Uygulamasını kullanarak sonuç kalitesini değerlendirebilirsiniz.

Ön izleme0.20

Ayrıca, son kullanıcınız satın alma gerçekleştirmeden önce onlara gösterebileceğiniz önizleme sonuçları sunuyoruz.

Önizlemeler, sizin girdinizden dört kat daha büyük olan PNG resimleridir ve gizli bir filigran içermektedir.

Önizleme sonucu almak için mode=preview kullanın.

Vektörleştir1.00 Biteşlem resmini vektör resmine dönüştürün.
Yükseltmenin Önizlemesi0.90 Önizleme API çağrısının ardından üretim sonucunu indirin. Sıfırdan vektörleştirmeye göre daha hesaplı.
Formatı İndir0.10 Sonucu başka bir formatta (örneğin SVG, PNG, PDF, vb.) indirin. Sıfırdan vektörleştirmeye göre daha hesaplı.
Depolama Günü0.01 Ücretsiz olan ilk günden sonra sonucu depolamak için gerekli gün başına ücret.

Abonelik planları için lütfen fiyatlandırma sayfasına bakınız.

Kimlik Doğrulaması ve Güvenlik

API standart HTTP temel erişim kimlik doğrulaması kullanmaktadır. API'ye yapılan tüm isteklerin HTTPS üzerinden yapılması ve sizin kullanıcı olarak API kimliğinizi ve şifre olarak da API Parolası ile API Bilgilerinizi içermesi gerekmektedir.

Http istemci kitaplığınızın istekleri başarıyla gerçekleştirmesi için Sunucu Adı Belirtme (SNI) desteklemesi gerekmektedir. Eğer garip el sıkışma hatalarıyla karşılaşıyorsanız nedeni muhtemelen budur.

Hız Sınırı

API kullanım limitleri gayet bol tutulmuştur ve kesin bir üst sınır bulunmamaktadır.

Normal son kullanıcı işlemlerinde herhangi bir hız sınırlamasına rastlamanız pek olası değildir. Zira o durumdaki kullanım inişli çıkışlı olma eğilimindedir ve servis de bunun altından gayet rahatlıkla kalkar.

Bununla birlikte, gruplu işlerde en fazla 5 iş parçacığı ile başlayıp, arzu edilen paralelliğe erişene kadar her 5 dakikada bir yeni iş parçacığı eklemenizi tavsiye ediyoruz. Eğer 100'den fazla eş zamanlı iş parçacığına ihtiyacınız olacaksa çalışmaya başlamadan önce lütfen bizimle iletişime geçin.

Eğer çok fazla istek girişi yaparsanız, 429 Too Many Requests yanıtları almaya başlarsınız. Bu olduğunda doğrusal geri çekilme uygulamalısınız: böyle bir yanıtı ilk aldığınızda, bir sonraki isteği girmeden önce 5 saniye bekleyin. İkinci ardışık 429 yanıtında, bir sonraki isteği girene kadar 2*5=10 saniye bekleyin. Üçüncüde 3*5=15 saniye bekleyin.

İsteğinizin başarılı olmasının ardından geri çekilme sayacını sıfırlayabilirsiniz. Geri çekilmeyi iş parçacığı başına olacak şekilde uygulamanız iyi olacaktır (Mesela iş parçacıkları birbirinden bağımsız olarak çalışmalıdır).

Zaman aşımları

API talepleri normalde saniyeler içerisinde tamamlanmakla birlikte ani geçici yük artışları esnasında daha uzun süren işlem süreleriyle karşılaşılması olasıdır.

İstemci kitaplığınızın API isteklerini erkenden sonlandırmadığından emin olmak için eylemsiz zaman aşımının en az 180 saniye olarak ayarlanması gerekmektedir.

Hatalı JSON

API isteğinin başarılı veya başarısız olduğunu göstermek için geleneksel HTTP statüleri kullanılır ve hataya ilişkin önemli bilgiler dönen Hatalı JSON Nesnesinde bulunur.

Herhangi bir sorunlu istek olması durumunda Hatalı JSON Nesnesi yollamaya çalışıyoruz. Ancak teorik olarak JSON-dışı hata yanıtına neden olan dahili sunucu hatalarının olması her zaman mümkündür.

Özellikler

statusYanıtın HTTP durumu, hata ayıklaması işlemine yardımcı olmak için burada tekrar edilmiştir.
codeVectorizer.AI iç hata kodu.
messageOkunabilir hata mesajı, hata ayıklamasında yardımcı olma amaçlıdır.

Eğer isteğinizin HTTP statüsü 200 ise hiçbir hatalı JSON Nesnesi döndürülmeyecektir. İsteğin genel anlamda başarılı olduğunu düşünebilirsiniz.

Bazı HTTP İstemci kitaplıkları 400-599 aralığındaki HTTP statüleri için özel durum oluşturmaktadır. Bu özel durumları yakalayıp uygun bir şekilde işlem yapmanız gerekecektir.

HTTP StatusAnlamı
200-299

Başarı

400-499

İstekte verilen bilgide (örneğin eksik bir parametre gibi) bir sorun bulunmaktadır. Sorunu çözmek için lütfen hata mesajını gözden geçirin.

500-599

Vectorizer.AI iç hata kodu oluştu. Bir dakika bekleyip daha sonra tekrar deneyin. Sorunun hala devam etmesi halinde lütfen bize e-posta yollayın.

Örnek Hata Yanıtı

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

Hata ayıklama yapabilmeniz için Son zamanlardaki API hataları hesabınız sayfasında listelenmiştir.

Ayrıca API tarafından döndürülen tüm hata yanıtlarının bir listesi de bulunmaktadır.

Yanıt Başlıkları

Kullandığımız özel yanıt başlıkları şöyle:

BaşlıkTanım
X-Image-Token

Vektörleştirme isteğinizde policy.retention_days > 0 olduğunda döndürülür. Şunları yapmak için kullanılabilir:

  1. Önizleme API çağrısının ardından, sıfırdan vektörleştirmeye göre daha uygun fiyatlarla üretim sonucunu indirin.

  2. Sonucun farklı formatlarını (örneğin SVG, PNG, PDF, vb.) bunları sıfırdan vektörleştirmeye göre indirimli fiyatlarla indirin.

  3. Aynı resmi farklı işleme seçenekleriyle yeniden vektörleştirin.

X-Receipt

Önizleme Resim Belirteci kullanarak bir üretim sonucu indirdiğinizde döndürülür. Ek formatları (örneğin, SVG, PNG, PDF,vb.), önizlemeyi üst pakete taşıma ücreti yerine indirme formatı ücretiyle indirmek için kullanılabilir.

X-Credits-Calculated

Normal bir talep olsa ortaya çıkacak olan maliyeti göstermek için test talepleriyle döndürülmektedir.

X-Credits-Charged

Oluşan maliyeti göstermek için olan tüm isteklerle döndürülür. Test talepleri için her zaman 0.

Vektörleştir POST
https://api.vectorizer.ai/api/v1/vectorize

Bir resmi vektörleştirmek için standart bir HTTP POST dosyası yüklemesi yapılır. Unutmayın ikili dosyaları yüklerken İçerik Türü multipart/form-data olmak zorundadır.

Aşağıdaki tablo, işleyen bir şimdi-dene formunda tüm API parametrelerini ortaya koymaktadır. Her bir parametrenin kısa bir tanımı vardır ancak mutlaka detaylı Çıktı Seçenekleri Belgesini inceleyin.

Parametreler

Girdi resmi bunlardan bir tanesi olmalıdır:


İkili

İkili bir dosya.


Dize

base64-kodlu bir dize. Dizi boyut olarak en fazla 1 megabayt olabilir.


Dize

Getirip işleme almak için URL.


policy.retention_days > 0 olan, daha önceki bir vektörleştirme API çağrısındaki X-Image-Token başlığında döndürülmüş olan bir Resim Belirtecidir.

.bmp, .gif, .jpeg, .png, veya .tiff dosyası olmalıdır.

Maksimum resim yükleme boyutu (=en× yükseklik) 33.554.432pikseldir, input.max_pixels düzeyine küçültülür.


Enum, varsayılan: production
Value Processing Mode Credits
production

Bu mod, üretim kullanımı amaçlıdır ve tüm parametreler desteklenmektedir.

1.00
preview

Bu mod, son kullanıcınız satın alma gerçekleştirmeden önce onlara bir önizleme göstermek istediğinizde kullanma amaçlıdır.

Zıt parametreleri göz ardı ederek, gizli bir filigranı olan 4x PNG sonucu oluşturur.

0.20
test, test_preview

Bu modlar, servisle entegre olurken geliştiricinin kullanması amaçlıdır. Tüm parametreler desteklenmektedir ancak belirgin bir filigran bulunmaktadır.

Test sonuçları ücretsizdir ve aktif bir abonelik gerektirmemektedir. Bu nedenle de servisle ücretsiz olarak entegre edebilirsiniz.

Karşılık gelen üretim çağrıları için ne kadar ücret ödeyecek olduğunuzu bilmeniz için yanıttaki başlığa bir X-Credits-Calculated ekliyoruz.

Ücretsiz

Tamsayı, 100 ila 3145828, varsayılan: 2097252

Maksimum girdi resim boyutu (= en× piksel olarak yüksekliktir). Bundan daha büyük olan resimler işleme başlamadan önce bu boyuta küçültülecektir.


Tamsayı, 0 ila 30, varsayılan: 0

Girdi resminin ve sonucunun saklanacağı günlerin sayısı. policy.retention_days > 0 kodunu belirttiğinizde yanıta bir X-Image-Token başlığı dahil ediyoruz.

Üç ana kullanımı vardır:

  1. Önizleme API çağrısı yaptıktan sonra üretim sonucunu hızlı ve indirimli bir şekilde indirebilirsiniz.

  2. Resmi vektörleştirmenizin ardından hepsini sıfırdan vektörleştirmek zorunda kalmadan aynı resim için çok sayıda çıktı formatını ve işleme seçeneğini indirebilirsiniz. Bu da hem kredi hem de gecikme süresi açısından önemli ölçüde tasarruf sağlar.

  3. Aynı resmi farklı işleme seçenekleriyle yeniden vektörleştirmek istediğiniz zaman. Size çağrı gecikme süresini azaltma ve bant genişliğinden tasarruf etme imkanı sağlar.

Depolamanın ilk günü ücretsizdir, ardından gün başına 0,01 kredi ücreti vardır.

Ayrica bakınız İndirme son noktası.


Tamsayı, 0 ila 256, varsayılan: 0

Sonuç için kullanılması gereken maksimum renk sayısı.

0 sınırsız anlamına gelir. 1 ve 2 her ikisi de iki renk anlamına gelir, örneğin siyah-ve-beyaz. N>=2 renklerin sayısı anlamına gelir.

output.gap_filler.enabled=true (varsayılan) olduğu takdirde, sonucun da seçilen renklerin karışımlarını içereceğini unutmayın. Yalnızca seçilen renklerin bulunduğu bir sonuç almak için boşluk doldurucuyu devre dışı bırakın.


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

Varsayılan:   (boş)

Bu mekanizma, sonuçtaki renkleri kontrol etmede çok güçlü ve esnek bir mekanizmadır.

Resimde tespit edilen renklerden palet renklerinin herhangi birinin toleransı içerisinde yer alanlar ona en yakın palet rengine ayarlanacak ve eğer palet rengi değiştirme seçilmiş ise değiştirilecektir. Eşleştirilemeyen renkler değiştirilmeden bırakılacaktır.

Örnekler

Tespit edilen renkleri en yakın kırmızı, yeşil ve maviye ayarlamak için şunu kullanın:

#FF0000; 
#00FF00; 
#0000FF;

Kırmızı, yeşil ve maviye yakın olarak tespit edilen renkleri temizleyip diğerlerini aynı bırakmak için şunu kullanın:

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

Tespit edilen renklerden kırmızıyı yeşile çevirmek ve geriye kalan herşeyin aynı kalması için şunu kullanın:

#FF0000 -> #00FF00 ~ 0.02;

Kırmızı, yeşil ve maviye yakın olan herşeyi bu renklere değiştirirken geriye kalan tüm renkleri şeffaf siyaha değiştirmek (yani sonuçtan bunları çıkarmak) için şunu kullanın:

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

Renkler

Renkler temel CSS renk dizilimi kullanılarak belirlenmektedir. (Kısmen) şeffaf renkler için #RRGGBBAA kullanmanızı tavsiye ediyoruz. Opak renkler için #RRGGBB kullanmanızı tavsiye ediyoruz.

Tam şeffaf renkler sonuçtan çıkarılmaktadır. Renk yeniden ayarlama özelliğiyle birlikte bunu sonuçtan seçilen renkleri çıkarmak için kullanabilirsiniz.

En fazla 1.024 renk kullanabilirsiniz.

Tolerans

Birim, opak kırmızıdan (#FFFF0000) opak siyaha (#FF000000) mesafenin 1.0 olduğu oransal ARGB renk mesafesindedir.

Maksimum tolerans, şeffaf siyahtan (#00000000) şeffaf beyaza (#FFFFFFFF) mesafe olan 2.0'dır.

Varsayılan tolerans 2,0'dır; yani varsayılan ayarına göre, tespit edilen renkler, uzak olsa bile paletteki en yakın renge ayarlanacaktır. Özel tolerans ayarlarını belirleyerek, ayarlamayı bireysel palet renkleriyle sınırlandırabilirsiniz.

Eğer 0-255 aralığındaki renklerle çalışmaya alışkınsanız, kesirli değerini bulmak için 255'e bölmeniz yeterli.


Reel sayı, 0.0 ila 100.0, varsayılan: 0.125

Bir şeklin piksel cinsinden minimum alanı. Bundan daha küçük olan şekiller çıkarılmaktadır.


Enum, varsayılan: svg

Çıktı dosya formatı.

SVG Seçenekleri:


Enum, varsayılan: svg_1_1

SVG sürümü özelliğini SVG etiketinde belirtin. Detaylar


Boolean, varsayılan: false

Resmin boyut özelliklerinin SVG etiketine dahil edilmesi. true olduğunda görüntüleyiciler SVG'yi genelde sabit bir boyutta dönüştürecektir. false olduğunda görüntüleyiciler genelde SVG ölçeğinin mevcut olan alana sığmasına izin verecektir. Detaylar


Boolean, varsayılan: false

true olduğunda Adobe Illustrator'ın içeri aktaramadığı seçenekleri seçilemez hale getiririz. Detaylar

DXF Seçenekleri:


Enum, varsayılan: lines_and_arcs

DXF okuyucuları kabiliyetleri açısından çok ciddi farklar göstermektedir. Bu seçenek sizi çıktıyı DXF okuyucunuzun gerçekten desteklediği ilkelleri çizme konusunda sınırlandırma konusunda imkan sağlamaktadır. Detaylar

Bit Eşlem Seçenekleri:

Yalnızca output.file_format=png olduğunda geçerli


Enum, varsayılan: anti_aliased
Value Anti-Aliasing Mode
anti_aliased Şekiller arasındaki sınır boyunca yer alan piksellerin renkleri her bir şeklin kapsadığı piksel alanının belli bölümüne göre karıştırılacaktır.
aliased Piksellere pikselin geometrik merkezini içeren şeklin rengi atanır.

Enum, varsayılan: fill_shapes

Çıktının fırça darbesiyle çizilmesini mi yoksa doldurulmasını mı isteyeceğinizi belirtin. Şekilleri fırça darbesiyle çizme ve şekillerin arasındaki kenarları fırça darbesiyle çizme arasında hafif bir fark vardır. Lütfen açıklama için detaylı belgeye bakınız


Enum, varsayılan: cutouts

Aşağıdaki şekillerdeki kesitlere mi yerleştirileceğine (cutouts) yoksa birbirlerinin üzerine mi istifleneceklerine (stacked) karar verir. Detaylar


Enum, varsayılan: none
Value Shape grouping
none Gruplama yok
color Renge göre, output.shape_stacking ile etkileşimde
parent İçerdiği şekle göre
layer Çizim sırasına göre Katman
Detaylar

Boolean, varsayılan: false

Belirlenen daireleri, elipsleri, dikdörtgenleri, üçgenleri ve yıldızları sıradan kıvrımlara düzleştir. Detaylar

Eğriler:


Boolean, varsayılan: true

Karesel Bezier Kıvrımlarına izin verilmesi. Detaylar


Boolean, varsayılan: true

Kübik Bezier Kıvrımlarına izin verilmesi. Detaylar


Boolean, varsayılan: true

Dairesel Yaylara izin verilmesi. Detaylar


Boolean, varsayılan: true

Eliptik Yaylara izin verilmesi. Detaylar


Reel sayı, 0.001 ila 1.0, varsayılan: 0.1

İzin verilmeyen kıvrım türlerini genellikle izin verilen kıvrım türleriyle değiştirmeye çalışıyoruz. See the details for the precise fallback sequences.

Ancak, izin vermediğiniz kıvrım sayısı belli sayıya ulaştığında bunların en yakınlarını çizgi segmentleriyle bulmak durumunda kalabiliriz. Bu parametre bir eğri ile yakınındaki çizgiler arasındaki piksel cinsinden maksimum uzaklığı belirtir. Detaylar

Boşluk Doldurucu:


Boolean, varsayılan: true

Vektör okuyucularda sık görülen böcekleri dönüştüren beyaz çizgiyi es geçme. Detaylar


Boolean, varsayılan: false

Boşluk doldurucu fırça darbelerinin kırpılması. output.shape_stacking=stacked olduğunda ya kırpma yap ya da ölçeklendirmesiz fırça darbesi kullan. Detaylar


Boolean, varsayılan: true

Ölçeklendirmesiz boşluk doldurma fırça darbesi kullanımı. output.shape_stacking=stacked olduğunda ya kırpma yap ya da ölçeklendirmesiz fırça darbesi kullan. Detaylar


Reel sayı, 0.0 ila 5.0, varsayılan: 2.0

Boşluk doldurucu fırça darbesinin genişliği. Detaylar

output.draw_style, stroke_shapes veya stroke_edges olduğunda fırça darbesi stili


Boolean, varsayılan: true

Ölçeklendirmesiz bir fırça darbesi kullanımı. Detaylar


Boolean, varsayılan: false

Renk geçersiz kılma veya şeklin tahmini rengini kullanma. Detaylar


Format: '#RRGGBB', örnek #FF00FF, varsayılan: #000000

Geçersiz kılınan renk. Detaylar


Reel sayı, 0.0 ila 5.0, varsayılan: 1.0

Fırça darbesi eni. Detaylar

Çıktı Boyutu:


Reel sayı, 0.0 ila 1000.0

Uniform boyut ayarı faktörü. Eğer belirtilmiş ise, bu output.size.width ve output.size.height önüne geçmektedir.


Reel sayı, 0.0 ila 1.0E12

output.size.unit ile belirtilen birimlerdeki en. En ve yükseklikten bir tanesini belirtildiyse, diğeri en-boy oranını korumak için otomatik olarak hesaplanmaktadır.


Reel sayı, 0.0 ila 1.0E12

output.size.unit ile belirtilen birimlerdeki yükseklik. En ve yükseklikten bir tanesini belirtildiyse, diğeri en-boy oranını korumak için otomatik olarak hesaplanmaktadır.


Enum, varsayılan: none

En ve yükseklik için birim ölçümü. Of these, pt, in, cm ve mm are physical units, and none ve px are non-physical units. Bu ayrımlar output.size.input_dpi ve output.size.output_dpi ile etkileşim kurmaktadır.


Enum, varsayılan: preserve_inset

Değer Boyut Ayarı Kuralı
preserve_inset Dışarı taşma olmadan diğer boyutlarda boşluk kalması amacıyla daha dar olan boyuta sığması için uniform boyut ayarı yap
preserve_overflow Daha dar alan boyuttan taşacak şekilde, daha az dar olan boyuta sığması için uniform boyut ayarı yap
stretch Belirtilen en ve yüksekliğe sığması için uniform olmayan boyut ayarı yap
Her iki preserve seçeneği için de, serbest boyuttaki pozisyon output.size.align_x veya output.size.align_y ile kontrol edilmektedir.


Reel sayı, 0.0 ila 1.0, varsayılan: 0.5

output.size.aspect_ratio = preserve_inset veya preserve_overflow için yatay hizalama.

Değer Yatay Hizalama
0.0 Sola hizalı
0.5 Yatay ortalanmış
1.0 Sağa hizalı
0.0 ila 1.0 arasındaki herhangi bir değer olabilir.


Reel sayı, 0.0 ila 1.0, varsayılan: 0.5

output.size.aspect_ratio = preserve_inset veya preserve_overflow için dikey hizalama.

Değer Dikey Hizalama
0.0 Üste hizalı
0.5 Dikey ortalanmış
1.0 Taban hizalı
0.0 ila 1.0 arasındaki herhangi bir değer olabilir.


Reel sayı, 1.0 ila 1000000.0

Girdi resminin DPI'yı mevcut olduğu durumlarda dosyadan okunur. Bu parametre size bu değeri geçersiz kılma imkanı verir. Çıkan değer girdi resminin fiziksel boyutunu hesaplamak için kullanılmaktadır. Bu da çıktı için fiziksel birimler belirtilmiş ancak kesin en veya yükseklik belirtilmemişse çıktı boyutunu hesaplamak için kullanılmaktadır.


Reel sayı, 1.0 ila 1000000.0

Çıktı resminin DPI'yı. Fiziksel birimler belirtildiğinde bit eşlem çıktısının piksel boyutunu hesaplamak için kullanılmaktadır.

İndir POST
https://api.vectorizer.ai/api/v1/download

Bu son nokta size şu izinleri verir:

  1. Önizleme API çağrısının ardından tam üretim sonucunu indirin.

    Ek çıktı formatlarını indirimli indirme formatı fiyatlarıyla daha sonra indirebilmeniz için yanıta X-Receipt başlığını ekliyoruz.

  2. Hepsini sıfırdan vektörleştirmek zorunda kalmadan aynı resim için çok sayıda çıktı formatını ve işleme seçeneğini indirimli indirme formatı fiyatından indirebilirsiniz.

Parametreler


policy.retention_days > 0 olan, daha önceki bir vektörleştirme API çağrısındaki X-Image-Token başlığında döndürülmüş olan bir Resim Belirtecidir.


Dize
İsteğe bağlı

Önizlemeyi bir üretim sonucuna yükselttiğiniz, daha önceki bir indirme API'si çağrısında X-Receipt başlığında döndürülen bir alındı.

İndirimli indirme formatı ücretinden faydalanabilmek için, önizleme Resim Belirteci gönderirken alındısını da dahil etmelisiniz.


Enum, varsayılan: svg

Çıktı dosya formatı.

SVG Seçenekleri:


Enum, varsayılan: svg_1_1

SVG sürümü özelliğini SVG etiketinde belirtin. Detaylar


Boolean, varsayılan: false

Resmin boyut özelliklerinin SVG etiketine dahil edilmesi. true olduğunda görüntüleyiciler SVG'yi genelde sabit bir boyutta dönüştürecektir. false olduğunda görüntüleyiciler genelde SVG ölçeğinin mevcut olan alana sığmasına izin verecektir. Detaylar


Boolean, varsayılan: false

true olduğunda Adobe Illustrator'ın içeri aktaramadığı seçenekleri seçilemez hale getiririz. Detaylar

DXF Seçenekleri:


Enum, varsayılan: lines_and_arcs

DXF okuyucuları kabiliyetleri açısından çok ciddi farklar göstermektedir. Bu seçenek sizi çıktıyı DXF okuyucunuzun gerçekten desteklediği ilkelleri çizme konusunda sınırlandırma konusunda imkan sağlamaktadır. Detaylar

Bit Eşlem Seçenekleri:

Yalnızca output.file_format=png olduğunda geçerli


Enum, varsayılan: anti_aliased
Value Anti-Aliasing Mode
anti_aliased Şekiller arasındaki sınır boyunca yer alan piksellerin renkleri her bir şeklin kapsadığı piksel alanının belli bölümüne göre karıştırılacaktır.
aliased Piksellere pikselin geometrik merkezini içeren şeklin rengi atanır.

Enum, varsayılan: fill_shapes

Çıktının fırça darbesiyle çizilmesini mi yoksa doldurulmasını mı isteyeceğinizi belirtin. Şekilleri fırça darbesiyle çizme ve şekillerin arasındaki kenarları fırça darbesiyle çizme arasında hafif bir fark vardır. Lütfen açıklama için detaylı belgeye bakınız


Enum, varsayılan: cutouts

Aşağıdaki şekillerdeki kesitlere mi yerleştirileceğine (cutouts) yoksa birbirlerinin üzerine mi istifleneceklerine (stacked) karar verir. Detaylar


Enum, varsayılan: none
Value Shape grouping
none Gruplama yok
color Renge göre, output.shape_stacking ile etkileşimde
parent İçerdiği şekle göre
layer Çizim sırasına göre Katman
Detaylar

Boolean, varsayılan: false

Belirlenen daireleri, elipsleri, dikdörtgenleri, üçgenleri ve yıldızları sıradan kıvrımlara düzleştir. Detaylar

Eğriler:


Boolean, varsayılan: true

Karesel Bezier Kıvrımlarına izin verilmesi. Detaylar


Boolean, varsayılan: true

Kübik Bezier Kıvrımlarına izin verilmesi. Detaylar


Boolean, varsayılan: true

Dairesel Yaylara izin verilmesi. Detaylar


Boolean, varsayılan: true

Eliptik Yaylara izin verilmesi. Detaylar


Reel sayı, 0.001 ila 1.0, varsayılan: 0.1

İzin verilmeyen kıvrım türlerini genellikle izin verilen kıvrım türleriyle değiştirmeye çalışıyoruz. See the details for the precise fallback sequences.

Ancak, izin vermediğiniz kıvrım sayısı belli sayıya ulaştığında bunların en yakınlarını çizgi segmentleriyle bulmak durumunda kalabiliriz. Bu parametre bir eğri ile yakınındaki çizgiler arasındaki piksel cinsinden maksimum uzaklığı belirtir. Detaylar

Boşluk Doldurucu:


Boolean, varsayılan: true

Vektör okuyucularda sık görülen böcekleri dönüştüren beyaz çizgiyi es geçme. Detaylar


Boolean, varsayılan: false

Boşluk doldurucu fırça darbelerinin kırpılması. output.shape_stacking=stacked olduğunda ya kırpma yap ya da ölçeklendirmesiz fırça darbesi kullan. Detaylar


Boolean, varsayılan: true

Ölçeklendirmesiz boşluk doldurma fırça darbesi kullanımı. output.shape_stacking=stacked olduğunda ya kırpma yap ya da ölçeklendirmesiz fırça darbesi kullan. Detaylar


Reel sayı, 0.0 ila 5.0, varsayılan: 2.0

Boşluk doldurucu fırça darbesinin genişliği. Detaylar

output.draw_style, stroke_shapes veya stroke_edges olduğunda fırça darbesi stili


Boolean, varsayılan: true

Ölçeklendirmesiz bir fırça darbesi kullanımı. Detaylar


Boolean, varsayılan: false

Renk geçersiz kılma veya şeklin tahmini rengini kullanma. Detaylar


Format: '#RRGGBB', örnek #FF00FF, varsayılan: #000000

Geçersiz kılınan renk. Detaylar


Reel sayı, 0.0 ila 5.0, varsayılan: 1.0

Fırça darbesi eni. Detaylar

Çıktı Boyutu:


Reel sayı, 0.0 ila 1000.0

Uniform boyut ayarı faktörü. Eğer belirtilmiş ise, bu output.size.width ve output.size.height önüne geçmektedir.


Reel sayı, 0.0 ila 1.0E12

output.size.unit ile belirtilen birimlerdeki en. En ve yükseklikten bir tanesini belirtildiyse, diğeri en-boy oranını korumak için otomatik olarak hesaplanmaktadır.


Reel sayı, 0.0 ila 1.0E12

output.size.unit ile belirtilen birimlerdeki yükseklik. En ve yükseklikten bir tanesini belirtildiyse, diğeri en-boy oranını korumak için otomatik olarak hesaplanmaktadır.


Enum, varsayılan: none

En ve yükseklik için birim ölçümü. Of these, pt, in, cm ve mm are physical units, and none ve px are non-physical units. Bu ayrımlar output.size.input_dpi ve output.size.output_dpi ile etkileşim kurmaktadır.


Enum, varsayılan: preserve_inset

Değer Boyut Ayarı Kuralı
preserve_inset Dışarı taşma olmadan diğer boyutlarda boşluk kalması amacıyla daha dar olan boyuta sığması için uniform boyut ayarı yap
preserve_overflow Daha dar alan boyuttan taşacak şekilde, daha az dar olan boyuta sığması için uniform boyut ayarı yap
stretch Belirtilen en ve yüksekliğe sığması için uniform olmayan boyut ayarı yap
Her iki preserve seçeneği için de, serbest boyuttaki pozisyon output.size.align_x veya output.size.align_y ile kontrol edilmektedir.


Reel sayı, 0.0 ila 1.0, varsayılan: 0.5

output.size.aspect_ratio = preserve_inset veya preserve_overflow için yatay hizalama.

Değer Yatay Hizalama
0.0 Sola hizalı
0.5 Yatay ortalanmış
1.0 Sağa hizalı
0.0 ila 1.0 arasındaki herhangi bir değer olabilir.


Reel sayı, 0.0 ila 1.0, varsayılan: 0.5

output.size.aspect_ratio = preserve_inset veya preserve_overflow için dikey hizalama.

Değer Dikey Hizalama
0.0 Üste hizalı
0.5 Dikey ortalanmış
1.0 Taban hizalı
0.0 ila 1.0 arasındaki herhangi bir değer olabilir.


Reel sayı, 1.0 ila 1000000.0

Girdi resminin DPI'yı mevcut olduğu durumlarda dosyadan okunur. Bu parametre size bu değeri geçersiz kılma imkanı verir. Çıkan değer girdi resminin fiziksel boyutunu hesaplamak için kullanılmaktadır. Bu da çıktı için fiziksel birimler belirtilmiş ancak kesin en veya yükseklik belirtilmemişse çıktı boyutunu hesaplamak için kullanılmaktadır.


Reel sayı, 1.0 ila 1000000.0

Çıktı resminin DPI'yı. Fiziksel birimler belirtildiğinde bit eşlem çıktısının piksel boyutunu hesaplamak için kullanılmaktadır.

Sil POST
https://api.vectorizer.ai/api/v1/delete

policy.retention_days > 0 ile vektörleştirilen resimler talep edilen zaman zarfında saklanır ve hemen ardından otomatik olarak silinir.

Normalde bu son noktayı çağırmaya gerek yoktur. Bu size saklama dönemini sona ermesinden önce resimleri silebilmeniz amacıyla sunulmaktadır. Resmi daha önce silmeniz size kalan saklama günleri için geri ödeme imkanı sunmamaktadır.

Parametreler


policy.retention_days > 0 olan, daha önceki bir vektörleştirme API çağrısındaki X-Image-Token başlığında döndürülmüş olan bir Resim Belirtecidir.

Yanıt Özellikleri

success

true Resim Belirtecinin silindiği onaylanmaktadır.

Örnek Yanıt

{
  "success" : true
}

Hesap Durumu GET
https://api.vectorizer.ai/api/v1/account

Hesabınıza ilişkin abonelik statüsü ve kalan kredi sayısı gibi temel bilgileri getirin.

Parametreler

Yok

Yanıt Özellikleri

subscriptionPlan

Şu anda abone olduğunuz plan veya 'hiç'.

subscriptionState

Mevcut aboneliğinizin statüsü ('aktif' veya 'ödemesi gecikmiş') veya abone değilseniz 'sona erdi'.

credits

Hesabınızda kalan API kredisi sayısı. Halihazırda üyü değilseniz veya API-dışı bir plana üyeyseniz. Kesirli olabilir, o yüzden Çift olarak incelediğinizden emin olun.

Kullanıcı adı= API kimliği, Şifre= API Parolası

cURL

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

Örnek Yanıt

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

API Değişim günlüğü

TarihDeğiştir
4 Kas 2024 processing.shapes.min_area_px eklendi.
1 Eki 2024 API ile entegrasyona yardımcı olması için bir Yapay Zeka sohbet robotu eklendi.
23 Eyl 2024 Daha fazla işlem moduna imkan sağlamak için API'yi büyük miktarda genişlettik. Resim Belirteci, Alındı, çağrı başına fiyat başlıkları ve İndirme ve Silme son noktaları eklendi.
11 Haz 2024 Added processing.palette
4 Mar 2024 Zaman aşımlarıyla ilgili eklenen bölüm.
24 Oca 2024 Hesap Durumu uçnoktası eklendi. Hesap sayfasına son API hataları eklendi. Tüm API hata yanıtları listesi eklendi.
16 Oca 2024 Hatalı JSON Nesnesi belgelendi.
3 Eki 2023 output.gap_filler.enabled=true kodunun sonuç açısından processing.max_colors koduyla istenenden daha fazla renge neden olduğu netleştirildi.
20 Eyl 2023 mode eklendi
1 Ağu 2023 Added a full-featured output size options group with the following options: 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 ve output.size.output_dpi. Bit eşlem çıktı seçenekleri grubu için tek bir seçenek eklenmiştir: output.bitmap.anti_aliasing_mode.
7 Haz 2023 processing.max_colors eklendi
31 May 2023 API parametreleri büyük oranda genişletildi. API son noktası güncellendi.
10 Mar 2023 İlk piyasaya sürüm.
API Anahtarı alın