API vettorializzazione immmagine

Vectorizer.AI offre un API di traccia bitmap completo. L'API traccia i pixel ai vettori automaticamente e con una fedeltà best-in-class.

Ottieni chiave API

Avvio rapido

POSTA un'immagine bitmap e ottiene un risultato vettorializzato

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

Chatbot API

Abbiamo creato un ChatGPT personalizzato che ti può aiutare con la tua integrazione API. Può rispondere a domande sulla documentazione API, e fornisce un codice di esempio nella tua lingua preferita adattato al tuo caso di utilizzo.

Chatta on il Chatbot API Vectorizer.AI

Il chatbot è in beta e fa errori. Controlla le risposte e chiedigli di modificare il codice per correggere errori e omissioni.

Come usare questo API

L'API è previsto per supportare molti usi-casi diversi. Qui di seguito sono elencati i più comuni:

Immagine singola Inoltra un bitmap, ottieni un risultato vettoriale, fatto

Usa l'endpoint Vettorializza e i codici di esempio qui sopra.

Anteprima prima Mostra un'anteprima al tuo possibile cliente prima dell'acquisto

Se devi effettuare molte chiamate API per finalizzare una vendita, puoi usare le panoramiche a costo inferiore fino a quando non convinci il cliente.

  1. Usa l'endpoint Vettorializzacon mode=preview e policy.retention_days > 0 per ottenere l'anteprima, assicurandoti di conservare l'Image Token restituito nell'intestazione di risposta X-Image-Token

  2. Una volta convinto il cliente, usa l'endpoint Scarica con l'Image Token per scaricare il risultato completo.

  3. Facoltativo: se hai bisogno di altri formati di risultato (es. PNG, PDF, ecc), assicurati di conservare la Ricevuta restituita nell'intestazione di risposta scaricamento X-Receipt. Quindi utilizza l'endpoint Scarica con l'Image Token e la Ricevuta per scaricare i formati rimanenti.

Multiformato Per esempio hai bisogno di risultati PNG e SVG.

  1. Utilizza l'endpoint Vettorializza con policy.retention_days > 0 per ottenere il primo risultato, assicurandoti di conservare l'Image Token restituito nell'intestazione di risposta X-Image-Token.

  2. Utilizza l'endpoint Scarica con l'Image Token per scaricare gli altri formati.

Multiopzione Devi elaborare ogni immagine con multiple opzioni di elaborazione.

  1. Utilizza l'endpoint Vettorializza con policy.retention_days > 0 per ottenere il primo risultato, assicurandoti di conservare l'Image Token restituito nell'intestazione di risposta X-Image-Token.

  2. Utilizza l'endpoint Vettorializza con l'Image Token per ripetere con le rimanenti opzioni di elaborazione che desideri.

  3. In alternativa, puoi elaborare ciascuna immagine individualmente senza preoccuparti dell'Image Token. L'Image Token ti fa risparmiare un po' di larghezza banda e latenza.

Livelli di prezzi

AzioneCreditiDescrizione
Test0.00

L'integrazione e la prova dell'API sono gratuite, non occorre un abbonamento.

Usa semplicemente mode=test e mode=test_preview per lo sviluppo.

Pupi valutare la qualità del risultato usando la Web App interattiva alla prima pagina.

Anteprima0.20

Offriamo l'anteprima dei risultati per consentirti di mostrare agli utenti finali il prodotto prima dell'acquisto.

Le anteprime sono immagini PNG del quadruplo delle dimensioni del tuo input, e hanno una filigrana discreta.

Usa mode=preview per ottenere un'anteprima del risultato.

Vettorializza1.00 Vettorializza un'immagine bitmap per un'immagine vettoriale.
Anteprima upgrade0.90 Scarica il risultato di produzione dopo la panoramica della chiamata API. Meno caro in rapporto alla vettorializzazione da zero.
Formato scaricamento0.10 Scarica un altro formato (es. SVG, PNG, PDF, ecc.) del risultato. Meno caro in rapporto alla vettorializzazione da zero.
Giorno di archiviazione0.01 Il prezzo al giorno per l'archiviazione di un risultato oltre il primo giorno, che è gratuito.

Consulta la pagina prezzi per i piani di abbonamento.

Autenticazione e Sicurezza

L'API utilizza l'autenticazione di base HTTP standard. Tutte le richieste all'API devono essere effettuate sull'HTTPS e includere le tue credenziali API, con l'ID API come utente e il segreto API come password.

La tua libreria client HTTP deve supportare l'Indicazione nome server (SNI) per fare richieste con successo. Se ricevi strani errori di handshake, probabilmente dipende da questo.

Limitazione di velocità

L'uso dell'API è a velocità limitata con concessioni generose e nessun limite superiore fisso.

Durante l'operazione normale gestita dall'utente finale non dovresti trovare limiti di velocità in quanto l'uso tende a fluire e rifluire in un modo che il servizio gestisce agilmente.

Tuttavia, per lavori in batch raccomandiamo di iniziare con almeno 5 thread, aggiungendo 1 nuovo thread ogni 5 minuti fino a raggiungere il livello di parallelismo desiderato. Ti pregheremmo di contattarci prima di iniziare se hai bisogno di oltre 100 thread simultanei.

Se inoltri troppe richieste inizierai a ricevere risposte 429 Too Many Requests. In tal caso dovresti applicare un backoff lineare: alla prima risposta di questo tipo, attendi 5 secondi prima di inoltrare la richiesta successiva. Alla seconda risposta 429 consecutiva, attendi 2*5=10 secondi prima di inoltrare la richiesta successiva. Alla terza attendi 3*5=15 secondi, ecc.

Puoi reimpostare il contatore di backoff dopo una richiesta riuscita, e dovresti applicare il backoff per thread (vale a dire i thread dovrebbero essere indipendenti l'uno dall'altro).

Timeout

Sebbene le richieste API siano normalmente completate in pochi secondi, è possibile che durante picchi di carico occorra più tempo per l'elaborazione.

Per assicurarti che la tua libreria clienti non termini troppo presto le richieste API dovrebbero essere configurate con un timeout inattività di almeno 180 secondi.

Errore JSON

Usiamo stati HTTP convenzionali per indicare se una richiesta API riesce o meno, includendo importanti informazioni di errore nell'Errore Oggetto JSON restituito.

Cerchiamo di restituire sempre un Errore Oggetto JSON con qualsiasi richiesta problematica. Tuttavia, in teoria è sempre possibile che vi siano errori interni del server che portano a una risposta non di errore JSON.

Attributi

statusLo status HTTP della risposta, ripetuto qui come ausilio per il debug.
codeCodice errore interno Vectorizer.AI.
messageMessaggio di errore leggibile, previsto per aiutare con il debug.

Se lo status HTTP per la tua richiesta è 200 non sarà restituito un Errore Oggetto JSON, e puoi presumere con sicurezza che la richiesta in senso lato è riuscita.

Alcune librerie client HTTP generano eccezioni per gli stati HTTP nel range 400-599. Dovrai catturare queste eccezioni e gestirle idoneamente.

HTTP StatusSignificato
200-299

Operazione riuscita

400-499

Esiste un problema con le informazioni fornite nella richiesta (per esempio un parametro mancante). Controlla il messaggio di errore per determinare come risolverlo.

500-599

Si è verificato un errore Vectorizer.AI interno. Attendi un momento quindi riprova, e se il problema persiste inviaci una email.

Esempio di risposta di errore

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

I recenti errori API sono elencati nella pagina del tuo account per facilitare il debug.

C'è anche un elenco di tutte le risposte di errore restituite dall'API.

Intestazioni risposta

Ecco le intestazioni di risposta personalizzate che usiamo:

IntestazioneDescrizione
X-Image-Token

Restituita quando la tua richiesta di vettorializzazione ha policy.retention_days > 0 Può essere usato per:

  1. Scarica il risultato di produzione dopo una chiamata API in panoramica a un prezzo ridotto in rapporto alla vettorializzazione da zero.

  2. Scarica altri formati (es. SVG, PNG, PDF, etc.) del risultato a un prezzo ridotto in rapporto alla vettorializzazione da zero.

  3. Rivettorializza la stessa immagine con diverse opzioni di elaborazione.

X-Receipt

Restituito quando scarichi un risultato di produzione usando un Image Token precedente. Può essere usato per scaricare altri formati (es. SVG, PNG, PDF, etc.) del risultato al prezzo di formato scaricamento ridotto in rapporto al prezzo di upgrade panoramica.

X-Credits-Calculated

Restituito con le richieste di test per mostrare il costo che sarebbe stato addebitato nel caso di una richiesta regolare.

X-Credits-Charged

Restituito con tutte le richieste per mostrare il costo addebitato. Sempre 0 per le richieste di test.

Vettorializza POST
https://api.vectorizer.ai/api/v1/vectorize

Per vettorializzare un'immagine, devi eseguire un caricamento file POST HTTP standard. Tieni presente che il Contenuto-Tipo deve essere multipart/form-data quando carichi file binari.

La tabella qui di seguito include tutti i parametri API in un formato di lavoro provalo ora. Ciascun parametro include una breve descrizione, ma assicurati di consultare la documentazione dettagliata sulle Opzioni di output.

Parametri

L'immagine inserita deve essere fornita come:


Binario

Un file binario.


Stringa

Stringa codificata base64. La stringa può essere di 1 megabyte massimo.


Stringa

Un URL da recuperare ed elaborare.


Un Image Token restituito nell'intestazione X-Image-Token in una chiamata di vettorializzazione API precedente ove policy.retention_days > 0.

Deve essere un file .bmp, .gif, .jpeg, .png, o .tiff.

Le dimensioni massime per il caricamento dell'immagine (= larghezza × altezza) sono 33.554.432 pixel, che sono ridotte a input.max_pixels.


Num, default: production
Value Processing Mode Credits
production

Questa modalità è prevista per l'uso in produzione e tutti i parametri sono supportati.

1.00
preview

Questa modalità è prevista per consentirti di mostrare all'utente finale il prodotto prima dell'acquisto.

Produce un risultato PNG del quadruplo delle dimensioni con una filigrana discreta, ignorando parametri contraddittori.

0.20
test, test_preview

Queste modalità sono previste per l'uso da parte dei developer durante l'integrazione con il servizio. Tutti i parametri sono supportati, ma è prevista una filigrana notevole.

I risultati delle prove sono gratuiti e non richiedono un abbonamento attivo,, in modo da rendere possibile l'integrazione gratuita con il servizio.

Includiamo un'intestazione X-Credits-Calculated nella risposta per consentirti di sapere con certezza quanto ti sarebbe stato addebitato per le chiamate di produzione corrispondenti.

Gratutito

Intero, 100 a 3145828, default: 2097252

Le dimensioni massime di input dell'immagine (= larghezza × altezza in pixel). Immagini più grandi saranno ridotte a queste dimensioni prima dell'elaborazione.


Intero, 0 a 30, default: 0

Il numero di giorni per la conservazione dell'immagine di input e i relativi risultati. Quando specifichi policy.retention_days > 0 includiamo un'intestazione X-Image-Token nella risposta.

Ciò ha tre utilizzi principali:

  1. Dopo una chiamata API in panoramica puoi in seguito scaricare il risultato di produzione rapidamente e a prezzo ridotto.

  2. Dopo la vettorializzazione di un'immagine puoi scaricare diversi formati di output per la stessa immagine e opzioni di elaborazione senza dovere vettorializzare tutto da zero. Ciò fa risparmiare significativamente crediti e latenza.

  3. Quando vuoi rivettorializzare la stessa immagine con diverse opzioni di elaborazione. Ciò ti consente di ridurre la latenza della chiamata e risparmiare larghezza di banda.

Il primo giorno di archiviazione è gratuiti, quindi un addebito di 0,01 crediti al giorno viene applicato.

Vedi anche l'endpoint Scaricamento.


Intero, 0 a 256, default: 0

Il massimo numero di colori da usare per il risultato.

0 significa illimitato. 1 e 2 significano entrambi due colori, per esempio bianco e nero. N>=2 significa quel numero di colori.

Va notato che se il output.gap_filler.enabled=true (default) il risultato conterrà anche miscele dei colori selezionati. Disattiva il gap filler per ottenere un risultato che contenga solamente i colori selezionati.


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

Default:   (empty)

Questo è un meccanismo molto potente e flessibile per controllare i colori nel risultato.

I colori rilevati nell'immagine che rientrano nella tolleranza di qualsiasi tavolozza di colori saranno regolati secondo il colore della tavolozza più vicino, e cambiati se quel colore della tavolozza ha una rimappatura specificata. I colori non abbinati sono lasciati invariati.

Esempi

Per regolare i colori rilevati secondo il rosso, verde e blu più vicino, usa:

#FF0000; 
#00FF00; 
#0000FF;

Per ripulire i colori rilevati vicino al rosso, verde e blu, ma lasciare gli altri invariati, usa:

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

Per modificare i colori rilevati vicini al rosso in verde, lasciando tutto il resto invariato, usa:

#FF0000 -> #00FF00 ~ 0.02;

Per regolare qualsiasi colore vicino al rosso, verde e blu secondo questi colori, ma regolare tutti gli altri colori secondo il nero trasparente (rimuovendoli quindi dal risultato), usa:

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

Colori

I colori sono specificati usando la sintassi di colori CSS di base. Per colori (parzialmente) trasparenti raccomandiamo l'uso di #RRGGBBAA. Per i colori opachi raccomandiamo l'uso di #RRGGBB.

I colori completamente trasparenti sono omessi dal risultato. Insieme alla capacità di rimappatura dei colori, puoi usarlo per rimuovere colori selezionati dal risultato.

Puoi usare un massimo di 1.024 colori.

Tolleranza

L'unità è in distanza di colori ARGB frazionaria, in cui 1,0 è la distanza dal rosso opaco (#FFFF0000) al nero opaco (#FF000000).

La tolleranza massima è 2,0, che è la distanza del nero trasparente (#00000000) al bianco opaco (#FFFFFFFF).

La tolleranza predefinita è 2,0, quindi come impostazione predefinita i colori rilevanti saranno regolati secondo il colore della tavolozza più vicino, anche se distante. Puoi limitare la regolazione secondo i colori di tavolozza individuali specificando tolleranze personalizzate.

Se sei abituato a lavorare con colori nel range 0-255, devi semplicemente dividere per 255 per ottenere il valore frazionario.


Num, default: svg

Formato file output.

Opzioni SVG:


Num, default: svg_1_1

Specifica l'attributo della versione SVG nel tag SVG. Dettagli


Booleano, default: false

Se includere gli attributi delle dimensioni dell'immagine nel tag SVG. Quando true i visualizzatori in genere produrranno l'SVG a una velocità fissa. Quando false i visualizzatori in genere consentono a SVG la riduzione in scala per adattarsi allo spazio disponibile. Dettagli


Booleano, default: false

Quando true disattiviamo le opzioni che Adobe Illustrator non può importare. Dettagli

Opzioni DFX:


Num, default: lines_and_arcs

I lettori DFX variano molto in termini di capacità. Questa opzione ti consente di limitare l'output alle primitive di disegno che il tuo lettore DFX supporta effettivamente. Dettagli

Opzioni bitmap:


Num, default: anti_aliased
Value Anti-Aliasing Mode
anti_aliased I pixel lungo il confine fra le forme hanno i loro colori fusi secondo la frazione dell'area dei pixel coperta da ciascuna forma.
aliased Ai pixel viene assegnato il colore della forma che contiene il centro geometrico del pixel.

Num, default: fill_shapes

Specifica come desideri tracciare o riempire l'output. Esiste una differenza sottile fra tracciare le forme e tracciare i bordi fra le forme. Consulta la documentazione dettagliata per una spiegazione


Num, default: cutouts

Determina se le forme sono collocate in ritagli nelle forme qui sotto (cutouts) o se sono sovrapposte l'una sull'altra (stacked). Dettagli


Num, default: none
Value Shape grouping
none Nessun raggruppamento
color Per colore, interagisce con output.shape_stacking
parent Per forma contenitore
layer Per livello di ordine disegno
Dettagli

Booleano, default: false

Appiattisci cerchi, ellissi, rettangoli, triangoli e stelle identificati in curve ordinarie. Dettagli

Curve:


Booleano, default: true

Se consentire le Curve di Bézier quadratiche. Dettagli


Booleano, default: true

Se consentire le Curve di Bézier cubiche. Dettagli


Booleano, default: true

Se consentire gli Archi circolari. Dettagli


Booleano, default: true

Se consentire gli Archi ellittici. Dettagli


Mobile, 0.001 a 1.0, default: 0.1

Distanza massima in pixel fra una curva e la riga vicina. Dettagli

Gap Filler:


Booleano, default: true

Se lavorare attorno alla riga bianca che produce bug comuni nei visualizzatori vettoriali. Dettagli


Booleano, default: false

Se tagliare i tratti del gap filler. Quando output.shape_stacking=stacked taglia o usa tratti senza scala. Dettagli


Booleano, default: true

Se usare tratti di gap filler senza scala. Quando output.shape_stacking=stacked taglia o usa tratti senza scala. Dettagli


Mobile, 0.0 a 5.0, default: 2.0

Larghezza dei tratti del gap filler. Dettagli

Stile di tratti quando output.draw_style è stroke_shapes o stroke_edges


Booleano, default: true

Se usare tratti senza scala. Dettagli


Booleano, default: false

Se usare il colore di override, o il colore stimato della forma. Dettagli


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

Colore di override. Dettagli


Mobile, 0.0 a 5.0, default: 1.0

Ampiezza del tratto. Dettagli

Dimensioni output:


Mobile, 0.0 a 1000.0

Fattore di scala uniforme. Se specificato, ha la precedenza su output.size.width e output.size.height.


Mobile, 0.0 a 1.0E12

Larghezza in unità specificate da output.size.unit. Se è specificata solo la larghezza o l'altezza, l'altra dimensione viene calcolata automaticamente per mantenere il rapporto aspetto.


Mobile, 0.0 a 1.0E12

Altezza in unità specificate da output.size.unit. Se è specificata solo la larghezza o l'altezza, l'altra dimensione viene calcolata automaticamente per mantenere il rapporto aspetto.


Num, default: none

Le unità di misura per la larghezza e l'altezza. Di queste, pt, in, cm, e mm sono unità fisiche, e none e px sono unità non fisiche. Queste distinzioni interagiscono con output.size.input_dpi e output.size.output_dpi.


Num, default: preserve_inset

Valore Regola della scala
preserve_inset Scala uniforme per adattare la dimensione più stretta, in modo che non vi sia fuoriuscita ma spazio vuoto nell'altra dimensione
preserve_overflow Scala uniforme per adattare la dimensione meno stretta, con espansione nella dimensione più stretta
stretch Scala non uniforme per adattare la larghezza e altezza specificate
Per l'una o l'altra preserve opzione, la posizione nella dimensione non limitata è controllata da output.size.align_x o output.size.align_y.


Mobile, 0.0 a 1.0, default: 0.5

Allineamento orizzontale per output.size.aspect_ratio = preserve_inset o preserve_overflow.

Valore Allineamento orizzontale
0.0 Allineato a sinistra
0.5 Centrato orizzontalmente
1.0 Allineato a destra
Può essere un valore qualsiasi fra 0.0 e 1.0.


Mobile, 0.0 a 1.0, default: 0.5

Allineamento verticale per output.size.aspect_ratio = preserve_inset o preserve_overflow.

Valore Allineamento verticale
0.0 Allineato in alto
0.5 Centrato verticalmente
1.0 Allineato in fondo
Può essere un valore qualsiasi fra 0.0 e 1.0.


Mobile, 1.0 a 1000000.0

I DPI dell'immagine di input sono letti dal file quando disponibile. Questo parametro ti consente di ignorare quel valore. Il valore che ne risulta viene usato per calcolare le dimensioni fisiche dell'immagine di input, che viene usata per calcolare le dimensioni dell'output se sono specificate unità fisiche per l'output, ma non una larghezza o altezza esplicita.


Mobile, 1.0 a 1000000.0

DPI dell'immagine di output. Viene usato per calcolare le dimensioni pixel dell'output bitmap quando sono specificate unità fisiche.

Scaricamento POST
https://api.vectorizer.ai/api/v1/download

Questo endpoint consente di:

  1. Scaricare il risultato di produzione completo dopo una panoramica della chiamata API.

    Includiamo un'intestazione X-Receipt nella risposta in modo che tu possa scaricare altri formati di output al prezzo di formato di scaricamento ridotto in seguito.

  2. Scarica diversi formati di output per la stessa immagine e utilizza varie opzioni di elaborazione a un prezzo ridotto e senza vettorializzare tutto da zero.

Parametri


Un Image Token restituito nell'intestazione X-Image-Token in una chiamata di vettorializzazione API precedente ove policy.retention_days > 0.


Stringa
Facoltativo

Una ricevuta, inclusa nell'intestazione X-Receipt in una chiamata di scaricamento API precedente in cui hai aggiornato una panoramica a risultato di produzione.

Quando invii un Image Token devi includere la ricevuta per ottenere il prezzo di formato scaricamento ridotto.


Num, default: svg

Formato file output.

Opzioni SVG:


Num, default: svg_1_1

Specifica l'attributo della versione SVG nel tag SVG. Dettagli


Booleano, default: false

Se includere gli attributi delle dimensioni dell'immagine nel tag SVG. Quando true i visualizzatori in genere produrranno l'SVG a una velocità fissa. Quando false i visualizzatori in genere consentono a SVG la riduzione in scala per adattarsi allo spazio disponibile. Dettagli


Booleano, default: false

Quando true disattiviamo le opzioni che Adobe Illustrator non può importare. Dettagli

Opzioni DFX:


Num, default: lines_and_arcs

I lettori DFX variano molto in termini di capacità. Questa opzione ti consente di limitare l'output alle primitive di disegno che il tuo lettore DFX supporta effettivamente. Dettagli

Opzioni bitmap:


Num, default: anti_aliased
Value Anti-Aliasing Mode
anti_aliased I pixel lungo il confine fra le forme hanno i loro colori fusi secondo la frazione dell'area dei pixel coperta da ciascuna forma.
aliased Ai pixel viene assegnato il colore della forma che contiene il centro geometrico del pixel.

Num, default: fill_shapes

Specifica come desideri tracciare o riempire l'output. Esiste una differenza sottile fra tracciare le forme e tracciare i bordi fra le forme. Consulta la documentazione dettagliata per una spiegazione


Num, default: cutouts

Determina se le forme sono collocate in ritagli nelle forme qui sotto (cutouts) o se sono sovrapposte l'una sull'altra (stacked). Dettagli


Num, default: none
Value Shape grouping
none Nessun raggruppamento
color Per colore, interagisce con output.shape_stacking
parent Per forma contenitore
layer Per livello di ordine disegno
Dettagli

Booleano, default: false

Appiattisci cerchi, ellissi, rettangoli, triangoli e stelle identificati in curve ordinarie. Dettagli

Curve:


Booleano, default: true

Se consentire le Curve di Bézier quadratiche. Dettagli


Booleano, default: true

Se consentire le Curve di Bézier cubiche. Dettagli


Booleano, default: true

Se consentire gli Archi circolari. Dettagli


Booleano, default: true

Se consentire gli Archi ellittici. Dettagli


Mobile, 0.001 a 1.0, default: 0.1

Distanza massima in pixel fra una curva e la riga vicina. Dettagli

Gap Filler:


Booleano, default: true

Se lavorare attorno alla riga bianca che produce bug comuni nei visualizzatori vettoriali. Dettagli


Booleano, default: false

Se tagliare i tratti del gap filler. Quando output.shape_stacking=stacked taglia o usa tratti senza scala. Dettagli


Booleano, default: true

Se usare tratti di gap filler senza scala. Quando output.shape_stacking=stacked taglia o usa tratti senza scala. Dettagli


Mobile, 0.0 a 5.0, default: 2.0

Larghezza dei tratti del gap filler. Dettagli

Stile di tratti quando output.draw_style è stroke_shapes o stroke_edges


Booleano, default: true

Se usare tratti senza scala. Dettagli


Booleano, default: false

Se usare il colore di override, o il colore stimato della forma. Dettagli


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

Colore di override. Dettagli


Mobile, 0.0 a 5.0, default: 1.0

Ampiezza del tratto. Dettagli

Dimensioni output:


Mobile, 0.0 a 1000.0

Fattore di scala uniforme. Se specificato, ha la precedenza su output.size.width e output.size.height.


Mobile, 0.0 a 1.0E12

Larghezza in unità specificate da output.size.unit. Se è specificata solo la larghezza o l'altezza, l'altra dimensione viene calcolata automaticamente per mantenere il rapporto aspetto.


Mobile, 0.0 a 1.0E12

Altezza in unità specificate da output.size.unit. Se è specificata solo la larghezza o l'altezza, l'altra dimensione viene calcolata automaticamente per mantenere il rapporto aspetto.


Num, default: none

Le unità di misura per la larghezza e l'altezza. Di queste, pt, in, cm, e mm sono unità fisiche, e none e px sono unità non fisiche. Queste distinzioni interagiscono con output.size.input_dpi e output.size.output_dpi.


Num, default: preserve_inset

Valore Regola della scala
preserve_inset Scala uniforme per adattare la dimensione più stretta, in modo che non vi sia fuoriuscita ma spazio vuoto nell'altra dimensione
preserve_overflow Scala uniforme per adattare la dimensione meno stretta, con espansione nella dimensione più stretta
stretch Scala non uniforme per adattare la larghezza e altezza specificate
Per l'una o l'altra preserve opzione, la posizione nella dimensione non limitata è controllata da output.size.align_x o output.size.align_y.


Mobile, 0.0 a 1.0, default: 0.5

Allineamento orizzontale per output.size.aspect_ratio = preserve_inset o preserve_overflow.

Valore Allineamento orizzontale
0.0 Allineato a sinistra
0.5 Centrato orizzontalmente
1.0 Allineato a destra
Può essere un valore qualsiasi fra 0.0 e 1.0.


Mobile, 0.0 a 1.0, default: 0.5

Allineamento verticale per output.size.aspect_ratio = preserve_inset o preserve_overflow.

Valore Allineamento verticale
0.0 Allineato in alto
0.5 Centrato verticalmente
1.0 Allineato in fondo
Può essere un valore qualsiasi fra 0.0 e 1.0.


Mobile, 1.0 a 1000000.0

I DPI dell'immagine di input sono letti dal file quando disponibile. Questo parametro ti consente di ignorare quel valore. Il valore che ne risulta viene usato per calcolare le dimensioni fisiche dell'immagine di input, che viene usata per calcolare le dimensioni dell'output se sono specificate unità fisiche per l'output, ma non una larghezza o altezza esplicita.


Mobile, 1.0 a 1000000.0

DPI dell'immagine di output. Viene usato per calcolare le dimensioni pixel dell'output bitmap quando sono specificate unità fisiche.

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

Immagini vettorializzate con policy.retention_days > 0 sono conservate per il periodo di tempo richiesto ed eliminate automaticamente subito dopo.

In genere non è necessario chiamare questo endpoint. Viene fornito in modo che tu possa eliminare immagini prima della scadenza del periodo di conservazione. L'eliminazione anticipata di un'immagine non risulta in un rimborso dei giorni di archiviazione rimasti.

Parametri


Un Image Token restituito nell'intestazione X-Image-Token in una chiamata di vettorializzazione API precedente ove policy.retention_days > 0.

Attributi della risposta

success

true L'Image Token è stato definitivamente eliminato.

Esempio di risposta

{
  "success" : true
}

Stato conto GET
https://api.vectorizer.ai/api/v1/account

Ottieni informazioni di base sul tuo account, come lo status del tuo abbonamento e il numero di crediti rimanenti.

Parametri

Nessuna

Attributi della risposta

subscriptionPlan

Il piano a cui sei attualmente abbonato, o 'nessuno'.

subscriptionState

Lo stato del tuo attuale abbonamento ('attivo' o 'scaduto') o 'terminato' se non sei abbonato.

credits

Il numero di crediti API rimasti nel tuo account. 0 se non sei attualmente abbonato, o sei abbonato a un piano non-API. Può essere frazionario, assicurati di analizzare come un Doppio.

Nome utente = Id API, Password = Segreto API

cURL

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

Esempio di risposta

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

Changelog API

DataModifica
1 ott 2024 Aggiunta di un chatbot AI come ausilio nell'integrazione con l'API.
23 set 2024 API notevolmente ampliato per consentire altre modalità di utilizzo. Aggiunti Image Token, Ricevute, intestazioni di addebito per chiamata, e gli endpoint Scaricamento ed Eliminazione.
11 giu 2024 Aggiunto processing.palette
4 mar 2024 Aggiunta sezione sui timeout.
24 gen 2024 Aggiunto endpoint Stato Account. Errori recenti API aggiunti alla pagina Account. Aggiunto Elenco di tutte le risposte di errore dell'API.
16 gen 2024 Errore JSON oggetto documentato.
3 ott 2023 Chiarito che output.gap_filler.enabled=true porta a più colori nel risultato di quanto richiesto in processing.max_colors.
20 set 2023 Aggiunto mode
1 ago 2023 Aggiunto gruppo di opzioni di dimensioni di output con funzioni complete con le seguenti opzioni: output.size.scaleoutput.size.widthoutput.size.heightoutput.size.unitoutput.size.aspect_ratiooutput.size.align_xoutput.size.align_youtput.size.input_dpioutput.size.output_dpi. Aggiunto gruppo di opzioni di output bitmap con un'opzione: output.bitmap.anti_aliasing_mode.
7 giu 2023 Aggiunto processing.max_colors
31 mag 2023 Ha ampliato notevolmente i parametri API. Endpoint API aggiornato.
10 mar 2023 Release iniziale.
Ottieni chiave API