Vectorizer.AI propose des SDK officiels, un client en ligne de commande, des spécifications OpenAPI et une API complète de vectorisation d'images matricielles. Tous ces outils destinés aux développeurs utilisent le même service pour convertir automatiquement les pixels en vecteurs avec une fidélité parmi les meilleures de l'industrie.
Pour les intégrations HTTP directes, envoyez une image matricielle par requête POST et obtenez en retour une version vectorisée :
$ curl https://fr.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://fr.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://fr.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://fr.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://fr.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 the official SDK: https://vectorizer.ai/api/documentation#sdks
# Requires "requests" to be installed (see https://pypi.org/project/requests/)
import requests
response = requests.post(
'https://fr.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://fr.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://fr.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://fr.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://fr.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://fr.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://fr.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 the official SDK: https://vectorizer.ai/api/documentation#sdks
# Requires "requests" to be installed (see https://pypi.org/project/requests/)
import requests
response = requests.post(
'https://fr.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://fr.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
Nous avons créé un assistant ChatGPT personnalisé capable de vous aider à intégrer Vectorizer.AI à l'aide des SDK, de la ligne de commande, d'OpenAPI et de l'API HTTP directe. Il peut répondre à vos questions sur cette documentation et fournir des exemples de code ou des commandes dans le langage de votre choix, adaptés à votre cas d'utilisation.
Le chatbot est en version bêta et fait des erreurs. Vérifiez les réponses et demandez-lui de réviser le code pour corriger les erreurs et les omissions.
Les SDK officiels sont générés à partir de la spécification OpenAPI publique et utilisent la même authentification HTTP Basic que les appels directs à l’API. Ils constituent le point de départ recommandé pour la plupart des intégrations à des applications. Leurs fonctions de vectorisation et de téléchargement renvoient le contenu des fichiers, tandis que les fonctions liées au compte et à la suppression renvoient des modèles JSON.
Tous les SDK ciblent https://api.vectorizer.ai/api/v1 et reposent sur les points de terminaison stables /vectorize, /download, /delete et /account.
| Langue | Installation | Source | Appel principal | Résultat de la vectorisation |
|---|---|---|---|---|
| Python |
En attente d'approbation sur PyPI
Prévu : pip install vectorizer-ai-sdk
|
GitHub |
VectorizationApi.post_vectorize(...)
|
bytearray |
| TypeScript / JavaScript |
npm install @vectorizer-ai/sdk
|
GitHub |
VectorizationApi.postVectorize(...)
|
Blob |
| Java |
ai.vectorizer:vectorizer-ai-java
|
GitHub |
VectorizationApi.postVectorize(...)
|
File |
| C# / .NET |
dotnet add package Vectorizer.AI
|
GitHub |
VectorizationApi.PostVectorize(...)
|
Stream |
| Go |
go get github.com/clv/vectorizer-go
|
GitHub |
VectorizationAPI.PostVectorize(...).Execute()
|
*os.File |
| PHP |
composer require vectorizer/ai
|
GitHub |
VectorizationApi::postVectorize([...])
|
SplFileObject |
| Ruby |
gem install vectorizer_ai
|
GitHub |
VectorizationApi#post_vectorize(...)
|
File |
Privilégiez les SDK pour les intégrations applicatives. Pour les générateurs personnalisés, les langages non pris en charge ou le travail direct au niveau du protocole, utilisez la spécification OpenAPI. La configuration du générateur est disponible sur GitHub .
Télécharger le manifeste des outils clients
Le client officiel en ligne de commande est un exécutable autonome disponible pour Windows, macOS et Linux. Il est conçu pour les shells, les scripts, le traitement par lots, les flux de travail d’assurance qualité (QA) et les utilisateurs qui souhaitent vectoriser des images sans écrire de code applicatif.
Utilisez les liens de téléchargement direct ci-dessous pour la version actuelle. Tous les fichiers de la version ainsi que leurs sommes de contrôle sont également disponibles sur GitHub Releases . Vous pouvez également consulter le code source sur GitHub . L'interface en ligne de commande (CLI) utilise les mêmes identifiants d'API, le même serveur et le même comportement des points de terminaison que les appels directs à l'API et les intégrations SDK.
| Plateforme | Télécharger |
|---|---|
|
Windows x64
La plupart des PC Windows |
ZIP |
|
Windows ARM64
Windows sur ARM |
ZIP |
|
macOS Apple Silicon
Mac récents |
tar.gz |
|
macOS Intel
Anciens Mac Intel |
tar.gz |
|
Linux x64
La plupart des PC et serveurs Linux |
DEB RPM APK tar.gz |
|
Linux ARM64
Serveurs et appareils Linux ARM |
DEB RPM APK tar.gz |
export VECTORIZER_API_ID="your-api-id" export VECTORIZER_API_SECRET="your-api-secret" vectorizer vectorize logo.png -o logo.svg vectorizer vectorize logo.png -o logo.pdf --format pdf vectorizer download IMAGE_TOKEN -o logo.svg
Utilisez les SDK lorsque vous intégrez Vectorizer.AI à une application, et utilisez l’outil en ligne de commande lorsque l’interface la plus adaptée est un terminal, une tâche planifiée ou une chaîne de traitement de fichiers.
L'API directe est également offerte sous forme de spécification OpenAPI 3.0 pour la génération de clients, la validation des schémas et l'exploration de l'API. Cette même spécification est également utilisée pour générer les SDK officiels.
La spécification déclare https://api.vectorizer.ai/api/v1 comme serveur. Les clients générés utilisent donc des chemins de points de terminaison tels que /vectorize, /download, /delete et /account.
| Spécification | Utilisation |
|---|---|
| /api/openapi.json |
Spécification OpenAPI de référence, adaptée à la publication, à la génération de clients et aux outils de documentation. |
| /api/openapi-codegen.json |
Alias destiné à la génération de code pour les outils et scripts de compilation qui préfèrent une URL dédiée. |
| /api/openapi-swagger.json |
Variante conçue pour Swagger UI, avec des schémas intégrés et des métadonnées de paramètres plus détaillées et riches en descriptions. |
| /apis.json |
Document de découverte APIs.json pour APIs.io et les autres outils de catalogage d'API. |
Ces flux de travail s'appliquent que vous utilisiez un SDK officiel, le client en ligne de commande ou l'API HTTP directe. En voici quelques-unes des plus courantes :
Appelez directement le flux de travail Vectoriser, utilisez un SDK ou passez par le client en ligne de commande.
Si vous devez effectuer de nombreux appels au service avant de conclure une vente, vous pouvez utiliser les aperçus à moindre coût jusqu'à ce que le client passe réellement à l'achat.
Appelez Vectoriser à l'aide d'un SDK, du client en ligne de commande ou directement via HTTP avec mode=preview et policy.retention_days > 0 pour obtenir un aperçu, en veillant à conserver le jeton d'image renvoyé dans l'en-tête de réponse X-Image-Token.
Après la conversion, appelez Télécharger à l'aide du jeton d'image pour télécharger le résultat complet.
Facultatif : Si vous avez besoin de formats de résultats supplémentaires (par exemple, PNG, PDF, etc.), assurez-vous de conserver le reçu renvoyé dans l'en-tête de réponse de téléchargement X-Receipt. Utilisez ensuite le flux de travail Télécharger avec le jeton d'image et le reçu pour télécharger les formats restants.
Appelez Vectoriser avec policy.retention_days > 0 pour obtenir le premier résultat, en veillant à conserver le jeton d'image renvoyé dans l'en-tête de réponse X-Image-Token.
Appelez Télécharger avec le jeton d'image pour télécharger les autres formats.
Appelez Vectoriser avec policy.retention_days > 0 pour obtenir le premier résultat, en veillant à conserver le jeton d'image renvoyé dans l'en-tête de réponse X-Image-Token.
Appelez Vectoriser avec le jeton d'image pour parcourir les autres options de traitement dont vous avez besoin.
Vous pouvez également traiter chaque image individuellement sans vous soucier du jeton d'image. Le jeton d'image vous permet d'économiser un peu de bande passante et de latence.
| Action | Crédits | Description |
|---|---|---|
| Test | 0.000 |
L'intégration et les tests du service sont gratuits. Aucun abonnement n'est requis.
Utilisez Vous pouvez évaluer la qualité des résultats à l’aide de l’application Web interactive sur la première page. |
| Aperçu | 0.200 |
Nous proposons des résultats en aperçu que vous pouvez montrer à vos utilisateurs finaux avant qu'ils effectuent un achat. Les aperçus sont des images PNG quatre fois plus grandes que votre entrée et accompagnées d'un filigrane discret.
Utilisez |
| Vectoriser | 1.000 | Vectorisez une image matricielle en image vectorielle et téléchargez le résultat de production. |
| Prévisualisation de la mise à niveau | 0.900 | Téléchargez le résultat de la production après un appel d'API d'aperçu. Réduction par rapport à la vectorisation à partir de zéro. |
| Format de téléchargement | 0.100 | Téléchargez un autre format du résultat (par ex. SVG, PNG, PDF, etc.). Réduction par rapport à la vectorisation à partir de zéro. |
| Jour de stockage | 0.010 | Prix par jour pour le stockage d'un résultat après le premier jour, qui est gratuit. |
Veuillez consulter la page des prix pour voir les plans d'abonnement.
L'API utilise une authentification d'accès de base HTTP standard. Toutes les requêtes vers l'API doivent être effectuées via HTTPS et inclure vos identifiants API, l'identifiant API étant l'utilisateur et le secret API étant le mot de passe.
Les SDK officiels et le client en ligne de commande utilisent ces mêmes informations d'identification et ajoutent automatiquement l'en-tête d'authentification HTTP Basic.
Votre bibliothèque des clients http doit prendre en charge le SNI (Server Name Indication) pour que les requêtes puissent être adressées. Si vous recevez d'étranges erreurs de protocole d'accord (handshake), c'est très probablement le cas.
Le taux d'utilisation de l'API est limité avec des allocations généreuses et aucune limite supérieure stricte.
Au cours d'un fonctionnement normal axé sur l'utilisateur final, il est peu probable que vous rencontriez une limitation de débit, car l'utilisation a alors tendance à refluer et à s'écouler d'une manière que le service gère avec fluidité.
Cependant, pour les traitements par lots, nous vous recommandons de commencer avec au maximum 5 threads, puis d’ajouter 1 thread supplémentaire toutes les 5 minutes jusqu’à atteindre le niveau de parallélisme souhaité. Veuillez nous contacter avant de commencer si vous avez besoin de plus de 100 fils simultanés.
La manière la plus simple d’augmenter progressivement le parallélisme est de démarrer immédiatement le nombre de threads que vous souhaitez utiliser au final, puis d’utiliser un sémaphore de comptage initialisé avec 5 permissions. Vous pouvez ensuite utiliser un thread distinct qui augmente le nombre de permissions de 1 toutes les 5 minutes.
Si vous soumettez trop de requêtes, vous commencerez à recevoir des réponses 429 Too Many Requests. Dans ce cas, vous devrez appliquer un retrait linéaire : lorsque vous recevez la première réponse de ce type, attendez 5 secondes avant de soumettre la requête suivante. Lorsque vous recevez la deuxième réponse 429 consécutive, attendez 2*5=10 secondes avant de soumettre la requête suivante. À la troisième réponse, attendez 3*5=15 secondes, et ainsi de suite.
Vous pouvez réinitialiser le compteur de backoff après une requête réussie, et vous devez appliquer le backoff indépendamment pour chaque thread (c’est-à-dire que les threads doivent fonctionner indépendamment les uns des autres).
Bien que les requêtes API soient normalement exécutées en quelques secondes, des temps de traitement plus longs peuvent survenir lors de pics de charge transitoires.
Pour garantir que votre bibliothèque cliente ne met pas fin prématurément aux requêtes API, elle doit être configurée avec un délai d'inactivité d'au moins 180 secondes.
Le client officiel en ligne de commande utilise par défaut un délai d'attente plus long, mais les intégrations personnalisées au moyen d'un SDK ou de l'API HTTP directe devraient tout de même définir explicitement un délai d'attente approprié.
Nous utilisons des statuts HTTP classiques pour indiquer le succès ou l'échec d'une requête API, et incluons d'importantes informations sur l'Objet JSON d'erreur retourné.
Nous nous efforçons de toujours renvoyer un Objet JSON d'erreur en cas de requête problématique. Des erreurs de serveur internes pouvant causer des messages d'erreur non JSON sont toutefois théoriquement possibles.
|
Attributs |
|
|---|---|
| status | Le statut HTTP de la réponse, répété ici pour faciliter l'élimination des erreurs. |
| code | Code d'erreur interne Vectorizer.AI. |
| message | Message d'erreur interprétable par l'utilisateur, destiné à faciliter l'élimination des erreurs. |
Si le statut HTTP de votre requête est 200, aucun Objet JSON d'erreur ne sera retourné, et vous pouvez présumer que la requête dans son ensemble a réussi.
Certaines bibliothèques de clients HTTP déclenchent des exceptions pour les états HTTP dans la plage 400599. Vous devez repérer ces exceptions et les traiter adéquatement.
Les SDK présentent ces réponses d'erreur sous forme d'exceptions natives ou de valeurs d'erreur, tandis que le client en ligne de commande affiche les détails des erreurs de l'API sur la sortie d'erreur standard.
| HTTP Status | Signification |
|---|---|
200-299
|
Succès |
400-499
|
Un problème est survenu avec les informations fournies dans la requête (un paramètre peut être manquant, par exemple). Veuillez revoir le message d'erreur pour déterminer la manière de le résoudre. |
500-599
|
Une erreur interne Vectorizer.AI s'est produite. Patientez un instant puis réessayez. Veuillez nous envoyer un e-mail si le problème persiste. |
Exemple de message d'erreur
{
"error" : {
"status" : 400,
"code" : 1006,
"message" : "Failed to read the supplied image. "
}
}
Les erreurs API récentes sont répertoriées sur la page de votre compte pour faciliter le débogage.
Il y a également une liste de toutes les réponses d'erreur retournées par l'API.
Voici les en-têtes de réponse personnalisés que nous utilisons :
Lorsque vous utilisez un SDK, employez la variante de méthode qui donne accès aux en-têtes si vous avez besoin des jetons d'image, des reçus, des renseignements sur les crédits ou des en-têtes de nouvelle tentative. Lorsque vous utilisez le client en ligne de commande, les jetons d'image et les reçus sont affichés sur la sortie d'erreur standard afin que les données binaires puissent toujours être écrites sur la sortie standard.
| En-tête | Description |
|---|---|
X-Image-Token
|
Renvoyé lorsque votre demande de vectorisation a
|
X-Receipt
|
Renvoyé lorsque vous téléchargez un résultat de production à l'aide d'un jeton d'image d'aperçu. Peut être utilisé pour télécharger des formats supplémentaires du résultat (par ex. SVG, PNG, PDF, etc.) au tarif de format de téléchargement au lieu du tarif d'aperçu de mise à niveau. |
X-Credits-Calculated
|
Renvoyé avec des demandes de test pour montrer le coût qui aurait été engagé si cela avait été une demande standard. |
X-Credits-Charged
|
Renvoyé avec toutes les demandes pour montrer le coût engagé. Toujours 0 pour les demandes de test. |
POST
https://api.vectorizer.ai/api/v1/vectorize
Pour vectoriser une image, vous effectuez le téléchargement d'un fichier HTTP POST standard. N'oubliez pas que le type de contenu doit être multipart/form-data pour le téléchargement en amont de fichiers binaires.
Le tableau ci-dessous présente tous les paramètres de l'API sous une forme d'essai fonctionnel. Chaque paramètre a une brève description, mais assurez-vous de consulter la documentation détaillée sur les options de sortie.
POST
https://api.vectorizer.ai/api/v1/download
Ce point de terminaison vous permet de :
Télécharger le résultat complet de la production après un appel d'API d'aperçu.
Nous incluons un en-tête X-Receipt dans la réponse afin que vous puissiez télécharger par la suite des formats de sortie supplémentaires au tarif de téléchargement réduit.
Téléchargez plusieurs formats de sortie pour la même image et et les mêmes options de traitement au tarif de téléchargement réduit et sans avoir à les vectoriser tous à partir de zéro.
POST
https://api.vectorizer.ai/api/v1/delete
Les images vectorisées avec policy.retention_days > 0 sont stockées pendant la période demandée et supprimées automatiquement peu de temps après.
Normalement, il n'est pas nécessaire d’appeler ce point de terminaison. Il est fourni pour vous permettre de supprimer des images avant l'expiration de la période de conservation. La suppression anticipée d'une image ne vous donne pas droit à un remboursement pour les jours de stockage restants.
|
Attributs de réponse |
|
|---|---|
| success |
|
Exemple de réponse
{
"success" : true
}
GET
https://api.vectorizer.ai/api/v1/account
Récupérez des informations de base sur votre compte, telles que le statut de votre abonnement et le nombre de crédits restants.
|
Paramètres |
|
|---|---|
| Aucune | |
|
Attributs de réponse |
|
|---|---|
| subscriptionPlan |
Le plan d'abonnement auquel vous êtes actuellement abonné(e) ou « aucun ». |
| subscriptionState |
Le statut de votre abonnement actuel (« actif » ou « échu ») ou « terminé » si vous n'êtes pas abonné(e). |
| credits |
Le nombre de crédits API restants sur votre compte. 0 si vous n'êtes pas actuellement abonné(e), ou si vous êtes abonné(e) à un plan non API. Peut être fractionnaire ; veillez donc l'analyser comme un Double. |
Faites un essai
Nom d'utilisateur = Id API, Mot de passe = Secret API
cURL
$ curl "https://api.vectorizer.ai/api/v1/account" \ -u vkyc67kqa27yidd:[secret]
Exemple de réponse
{
"subscriptionPlan" : "none",
"subscriptionState" : "ended",
"credits" : 0
}
| Date | Modifier |
|---|---|
| 1 juin 2026 | Ajout du téléchargement des spécifications OpenAPI 3.0 pour les clients générés et l’exploration de l’API. Ajout de la documentation des SDK officiels et de l’outil en ligne de commande. |
| 4 nov. 2024 |
processing.shapes.min_area_px ajouté.
|
| 1 oct. 2024 | Ajout d'un assistant IA pour faciliter les intégrations destinées aux développeurs. |
| 23 sept. 2024 | L'API a été considérablement étendue pour permettre davantage de modes de fonctionnement. Ajout de jetons d'image, de reçus, d'en-têtes de frais par appel et de points de terminaison de téléchargement et de suppression. |
| 11 juin 2024 |
Ajout de processing.palette
|
| 4 mars 2024 | Ajout d'une section sur les délais d'attente. |
| 24 janv. 2024 | Ajout du point de terminaison État du compte. Ajout des erreurs API récentes à la page du Compte. Ajout d'une liste de toutes les réponses d'erreur API. |
| 16 janv. 2024 | Objet JSON d'erreur documenté. |
| 3 oct. 2023 |
Clarification que output.gap_filler.enabled=true génère davantage de couleurs dans le résultat que ce qui est demandé dans processing.max_colors.
|
| 20 sept. 2023 |
mode ajouté.
|
| 1 août 2023 |
Ajout d'un groupe d'options de tailles de sortie complet avec les options suivantes : 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 et output.size.output_dpi. Ajout d'un groupe d'options de sortie bitmap avec une option : output.bitmap.anti_aliasing_mode.
|
| 7 juin 2023 |
processing.max_colors ajouté.
|
| 31 mai 2023 | Élargissement considérable des paramètres de l'API. Point de terminaison d'API mis à jour. |
| 10 mars 2023 | Première version. |