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

Fiyatlandırma

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

Basım için sadece mode=test kullanmanız yeterlidir. Ön sayfada bulunan etkileşimli Web Uygulamasını kullanarak sonuç kalitesini değerlendirebilirsiniz.

Üretim sonuçları için abonelik gerekmektedir ve her biri 1,00kredidir.

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

Önizlemeler, girdinizden dört kat büyük PNG resimleridir ve gizli bir filigran içermektedir. Önizlemelerin her biri 0,20 kredidir.

Önizleme sonucu için sadece mode=preview kullanmanız yeterlidir.

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 Nesnesi

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.

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.

.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

Bu mod, 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.

Ü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 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;

Default:   (empty)

Bu, sonuçtaki renkleri kontrol etmek için çok güçlü ve esnek bir mekanizmadır.

Görüntüde palet renklerinden herhangi birinin toleransı dahilinde algılanan renkler, bu tür en yakın palet rengine tutturulur ve bu palet renginin yeniden eşlemesi belirtilmişse yeniden eşlenir. Eşsiz renkler değişmeden bırakılır.

Örnekler

Algılanan renkleri kırmızı, yeşil ve maviye en yakın olan renklere bağlamak için şunları kullanın:

#FF0000; 
#00FF00; 
#0000FF;

Kırmızı, yeşil ve maviye yakın algılanan renkleri temizlemek, ancak diğerlerini değişmeden bırakmak için şunları kullanın:

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

Algılanan renkleri kırmızıya yakın yeşile dönüştürmek ve diğer her şeyi değişmeden bırakmak için şunları kullanın:

#FF0000 -> #00FF00 ~ 0.02;

Kırmızı, yeşil ve maviye yakın herhangi bir şeyi bu renklere bağlamak, ancak diğer tüm renkleri şeffaf siyaha bağlamak (böylece onları sonuçtan kaldırmak) için şunları kullanın:

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

Renkler

Renkler temel CSS renk sözdizimi kullanılarak belirtilir. (Kısmen) şeffaf renkler için #RRGGBBAA kullanmanızı öneririz. Opak renkler için #RRGGBB kullanmanızı öneririz.

Tamamen şeffaf renkler sonuçtan çıkarılır. Renk yeniden eşleme özelliğiyle birlikte, seçili renkleri sonuçtan kaldırmak için bunu kullanabilirsiniz.

You can use a maximum of 1.024 colors.

Tolerans

Birim kesirli ARGB renk mesafesindedir, burada 1.0 opak kırmızıdan (#FFFF0000) opak siyaha (#FF000000) olan mesafedir.

Maksimum tolerans 2.0'dır, bu saydam siyahtan (#00000000) opak beyaza (#FFFFFFFF) olan mesafedir.

The default tolerance is 2,0, so by default detected colors will snap to their nearest palette color, even if it is far away. Özel toleransları belirterek tutturmayı ayrı palet renkleriyle sınırlayabilirsiniz.

0-255 aralığındaki renklerle çalışmaya alışkınsanız, kesirli değeri elde etmek için 255'e bölün.


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:


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

Bir eğri ile yakınındaki çizgi arasındaki piksel cinsinden maksimum uzaklık. 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', örneğin #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ü. Bunların arasında, pt, in, cm ve mm fiziksel birimlerken none ve px fiziksel olmayan birimlerdir. 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.

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 123:[secret]

Örnek Yanıt

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

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

TarihDeğiştir
11 Haz 2024 processing.palette eklendi
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 Çok özellikli çıktı boyutu seçenekleri eklenmiştir. Seçenekler şöyledir: 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