Vectorizer.AI은(는) 공식 SDK, 명령줄 클라이언트, OpenAPI 사양, 그리고 본격적인 비트맵 트레이싱 API를 제공합니다. 이 모든 개발자 도구는 동일한 서비스를 사용하여 픽셀을 벡터로 완전 자동 변환하며, 업계 최고 수준의 정밀도를 구현합니다.
직접적인 HTTP 통합의 경우, 비트맵 이미지를 POST로 전송하고 벡터화된 결과를 반환받으십시오:
$ curl https://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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://ko.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
SDK, 명령줄, OpenAPI, 직접 HTTP API 등 다양한 환경에서 Vectorizer.AI 개발자 통합을 지원하는 맞춤형 ChatGPT를 제작했습니다. 이 문서에 대한 질문에 답변하고, 사용자의 구체적인 활용 사례에 맞춰 선호하는 언어로 작성된 샘플 코드나 명령어를 제공할 수 있습니다.
챗봇은 베타 버전이기 때문에 실수가 있습니다. 답을 다시 한번 확인하고, 오류와 누락된 부분을 수정하기 위해 코드를 수정하도록 요청하십시오.
공식 SDK는 공개 OpenAPI 사양을 기반으로 생성되며, 직접적인 API 호출과 동일한 HTTP Basic 인증 방식을 사용합니다. 이들은 대부분의 애플리케이션 통합에 있어 권장되는 시작점이며, 백터화 및 다운로드 호출은 파일 내용을 반환하는 반면 계정 및 지우기 호출은 JSON 모델을 반환합니다.
모든 SDK는 https://api.vectorizer.ai/api/v1을(를) 대상으로 하며, 안정적인 /vectorize, /download, /delete 및 /account 엔드포인트를 감싸는 래퍼(wrapper)입니다.
| 언어 | 설치 | 출처 | 주요 호출 | 벡터 결과 |
|---|---|---|---|---|
| Python |
PyPI 승인 대기 중
계획됨: 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 |
애플리케이션 통합 시에는 SDK를 우선적으로 사용하십시오. 사용자 지정 생성기, 지원되지 않는 언어 또는 직접적인 프로토콜 작업의 경우에는 OpenAPI 사양을 사용하십시오. 생성기 구성은 GitHub 에서 확인할 수 있습니다.
공식 명령줄 클라이언트는 Windows, macOS 및 Linux용 독립 실행형 실행 파일입니다. 이 도구는 셸, 스크립트, 배치 처리, QA 워크플로를 비롯해, 애플리케이션 코드를 작성하지 않고 이미지를 벡터화하려는 사용자를 대상으로 합니다.
현재 릴리스는 아래에 있는 직접 다운로드 링크를 사용하십시오. 모든 릴리스 파일과 체크섬은 GitHub Releases 에서도 확인할 수 있으며, GitHub 에서 소스 코드를 볼 수도 있습니다. CLI는 직접적인 API 호출 및 SDK 통합과 동일한 API 자격 증명, 서버 및 엔드포인트 동작을 사용합니다.
| 플랫폼 | 다운로드 |
|---|---|
|
Windows x64
대부분의 Windows PC |
ZIP |
|
Windows ARM64
ARM용 Windows |
ZIP |
|
macOS Apple 실리콘
최신 Mac |
tar.gz |
|
macOS 인텔
구형 인텔 Mac |
tar.gz |
|
Linux x64
대부분의 Linux PC 및 서버 |
DEB RPM APK tar.gz |
|
Linux ARM64
ARM Linux 서버 및 장비 |
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
Vectorizer.AI를 애플리케이션에 통합할 때는 SDK를 사용하고, 터미널이나 예약된 작업, 또는 파일 처리 파이프라인이 자연스러운 인터페이스인 경우에는 명령줄 클라이언트를 사용하십시오.
Direct API는 생성된 클라이언트, 스키마 검증 및 API 탐색을 위한 OpenAPI 3.0 사양으로 제공됩니다. 동일한 사양이 공식 SDK 생성 워크플로를 구동하기도 합니다.
사양에서 https://api.vectorizer.ai/api/v1을(를) 서버로 선언하므로, 생성된 클라이언트는 /vectorize, /download, /delete, /account와 같은 엔드포인트 경로를 사용합니다.
| 사양 | 사용 |
|---|---|
| /api/openapi.json |
공개, 클라이언트 생성 및 문서화 도구에 적합한 표준 OpenAPI 사양. |
| /api/openapi-codegen.json |
전용 URL을 선호하는 도구 및 빌드 스크립트를 위한 코드 생성용 별칭입니다. |
| /api/openapi-swagger.json |
인라인 스키마와 상세한 설명이 포함된 파라미터 메타데이터를 특징으로 하는, Swagger UI 중심의 변형 형태입니다. |
| /apis.json |
APIs.io 및 기타 API 카탈로그 도구를 위한 APIs.json 검색 문서. |
이러한 워크플로는 공식 SDK, 명령줄 클라이언트, 또는 직접 HTTP API 중 무엇을 사용하든 동일하게 적용됩니다. 다음은 몇 가지 일반적인 예입니다:
SDK나 명령줄 클라이언트를 통해 벡터화 워크플로를 직접 호출하세요.
판매를 성사시키기 위해 여러 차례의 서비스 관련 접촉이 필요한 경우, 실제로 고객을 유치하기 전까지는 비용이 더 저렴한 '미리보기' 기능을 활용할 수 있습니다.
SDK, 명령줄 클라이언트 또는 직접 HTTP를 통해 벡터화를 mode=preview 및 policy.retention_days > 0과 함께 호출하여 미리보기를 가져오되, 이때 X-Image-Token 응답 헤더에 반환된 이미지 토큰을 반드시 보관하십시오.
변환 후, Image Token을 사용하여 다운로드를 호출하면 전체 결과물을 다운로드할 수 있습니다.
선택 사항: 추가 결과 형식(예: PNG, PDF 등)이 필요한 경우 X-Receipt 다운로드 응답 헤더에서 반환된 영수증을 보관하십시오. 그런 다음, 이미지 토큰과 영수증을 사용하여 다운로드 워크플로를 통해 나머지 형식을 다운로드하십시오.
policy.retention_days > 0을(를) 사용하여 백터화를 호출해 첫 번째 결과를 얻으십시오. 이때 X-Image-Token 응답 헤더에 반환된 이미지 토큰을 반드시 보관해야 합니다.
다른 형식을 다운로드하려면 이미지 토큰을 사용하여 다운로드를 호출하십시오.
policy.retention_days > 0을(를) 사용하여 백터화를 호출해 첫 번째 결과를 얻으십시오. 이때 X-Image-Token 응답 헤더에 반환된 이미지 토큰을 반드시 보관해야 합니다.
이미지 토큰을 사용하여 벡터화를 호출함으로써 필요한 나머지 처리 옵션을 차례로 적용하십시오.
혹은 각 이미지를 개별적으로 처리하고 이미지 토큰에 대해 걱정할 수도 있습니다. 이미지 토큰은 대역폭과 대기 시간을 약간 절약해줍니다.
| 행동 | 제작진 | 설명 |
|---|---|---|
| 테스팅 | 0.000 |
별도의 구독 없이 무료로 서비스를 연동하고 테스트할 수 있습니다.
개발 시 SDK, 명령줄 클라이언트 또는 직접적인 API 요청에서 첫 페이지의 대화형 웹 앱을 사용하여 결과 품질을 평가할 수 있습니다. |
| 미리보기 | 0.200 |
최종 사용자가 구매하기 전에 보여줄 수 있는 미리보기 결과를 제공합니다. 미리보기는 입력한 것보다 4배 더 큰 PNG 이미지이며, 눈에 띄지 않는 워터마크가 함께 제공됩니다.
미리보기 결과를 얻으려면 |
| 벡터화 | 1.000 | 비트맵 이미지를 벡터 이미지로 변환하고, 결과물을 다운로드하십시오. |
| 업그레이드 미리보기 | 0.900 | 미리보기 API 호출 후 제작 결과를 다운로드합니다. 처음부터 벡터화하는 것보다 할인됩니다. |
| 다운로드 포맷: | 0.100 | 다른 형식(예: SVG, PNG, PDF 등)의 결과를 다운로드합니다. 처음부터 벡터화하는 것보다 할인됩니다. |
| 저장일 | 0.010 | 첫날을 넘어서도 결과를 저장할 경우 하루당 가격은 무료입니다. |
구독 요금제에 대해서는 가격 페이지를 참조하십시오.
API는 표준 HTTP 기본 액세스 인증을 이용합니다. API에 대한 모든 요청은 HTTPS를 통해 이루어져야 하며 API 자격 증명을 포함해야 하며 API ID는 사용자로, API 암호는 비밀번호로 지정해야 합니다.
공식 SDK와 명령줄 클라이언트는 동일한 자격 증명을 사용하며, HTTP Basic 인증 헤더를 자동으로 추가해 줍니다.
성공적인 요구를 하려면 귀하의 HTTP 클라이언트 라이브러리는 서버 이름 표시 (SNI)를 지원하여야 합니다. 이상한 핸드셰이크 에러를 받으면, 대부분이 이러한 이유입니다.
API의 사용은 관대 한 허용량으로 속도가 제한되며 상한선이 없습니다.
정상적 최종 사용자 중심 작동중에는 비율 제한을 거의 받지 않을것입니다, 그 이유는 사용이 줄어용자 중심 작동중에는 비율 제한을 거의 받지 않을것입니다, 그 이유는 사용이 줄어드는 경향이 있으며 서비스가 적절히 처리되는 방향으로 흘러갑니다.
하지만, 최대 5개의 스레드로 시작하고, 원하는 레벨의 평행에 도달할 때 까지, 매5분마다 1개의 스레드를 추가하기를 추천합니다. 100개 이상의 동시 스레드가 필요하면 시작하기 전에 알려주십시오.
이러한 병렬 처리의 점진적 증가를 달성하는 가장 쉬운 방법은, 최종적으로 사용하고자 하는 수만큼의 스레드를 즉시 시작하되, 초기 허용 개수(permits)가 5개인 카운팅 세마포어를 사용하는 것입니다. 그러면 5분마다 허가수를 1씩 증가시키는 별도의 스레드를 둘 수 있습니다.
너무 많은 요구를 제출하면 429 Too Many Requests를 받기 시작합니다. 이러한 일이 발생하며, 선형적으로 물러나십시오: 처음 이러한 반응을 받으면, 다음 요구를 제출하기 전에 5초를 기다리십시오. 2번째의 연속적 429 반응을 받으면, 다음 요구를 제출하기 이전에 2*5=10 초를 기다리십시오. 3번째 반응을 받으면, 3*5=15 초, 등을 기다리십시오.
요구가 성공적이면, 물러나기를 재설정하시고 매 스레드에 기존하여 물러나십시오 (예, 스레드가 서로 독립적으로 작동하여야 합니다).
API 요청은 일반적으로 몇 초 내에 완료되지만 일시적인 로드 급증 중에는 처리 시간이 더 길어질 수 있습니다.
클라이언트 라이브러리가 API 요청을 조기에 종료하지 않도록 하려면 최소한 180 초의 유휴 시간 제한으로 구성해야 합니다.
공식 명령줄 클라이언트는 기본적으로 더 긴 타임아웃을 사용하지만, 커스텀 SDK나 직접적인 HTTP 통합을 사용하는 경우에도 여전히 적절한 타임아웃을 명시적으로 설정해야 합니다.
우리는 API 요청의 성공 또는 실패를 알려주기 위하여 기본 HTTP 상태를 이용하며 또한 반환된 오류 JSON 매체에 중요한 에러 정보를 포함합니다.
문제가 있는 요구에는 언제나 오류 JSON 개체를 반환하려고 합니다. 하지만, 내부 서버 실패가 비-JSON 오류 메시지로 나타나는 것은 항상 이론적으로 가능합니다.
|
특성 |
|
|---|---|
| status | 디버깅에 도움이 되도록 응답의 HTTP 상태가 여기 다시 되풀이됩니다. |
| code | Vectorizer.AI 내부 에러 코드. |
| message | 디버깅에 유용한 사람이 읽을 수 있는 오류 메시지. |
귀하 요구의 HTTP 상태가 200 이면, 오류 JSON 개체가 반환되지 않으며, 요구가 널리 전달되었다고 생각하여도 안전합니다.
일부 HTTP 클라이언트 라이브러리는 400 에서 599 범위로 HTTP 상태 예외를 알려줍니다. 이러한 예외를 감지하고 적절히 처리하여야 합니다.
SDK는 이러한 비성공 응답을 네이티브 예외나 오류 값으로 반환하는 반면, 명령줄 클라이언트는 API 오류 세부 정보를 표준 오류로 출력합니다.
| HTTP Status | 의미 |
|---|---|
200-299
|
성공 |
400-499
|
요구에서 제공된 정보에 문제가 있습니다 (예, 매개변수가 없음) 오류 메시지를 검토하고 어떻게 수정할 것인지 알아보십시오. |
500-599
|
Vectorizer.AI 내부 에러 코드가 있었습니다. 잠시 기다리신 다음 다시 시도하십시오, 그리고 문제가 계속되면 이메일을 저희한테 보내주십시오. |
오류 응답 예
{
"error" : {
"status" : 400,
"code" : 1006,
"message" : "Failed to read the supplied image. "
}
}
디버깅 편의를 위해 최근 API 오류가 계정 페이지에 나열됩니다.
API에서 반환된 모든 오류 응답 목록도 있습니다.
우리가 사용하는 사용자 정의 응답 헤더는 다음과 같습니다.
SDK를 사용할 때, Image Token, 영수증, 신용 정보 또는 재시도 헤더가 필요한 경우, 헤더를 지원하는 방법을 사용하십시오. 명령줄 클라이언트를 사용할 때, 이미지 토큰과 영수증은 표준 오류로 출력되므로 바이너리 출력은 여전히 표준 출력으로 기록할 수 있습니다.
| 헤더 | 설명 |
|---|---|
X-Image-Token
|
벡터화 요청에
|
X-Receipt
|
미리보기 이미지 토큰을 사용하여 제작 결과를 다운로드할 때 반환됩니다. 업그레이드 미리보기 가격 대신 다운로드 포맷 가격으로 결과의 추가 포맷(예: SVG, PNG, PDF 등)을 다운로드하는 데 사용할 수 있습니다. |
X-Credits-Calculated
|
테스트 요청과 함께 반환되어 일반 요청이었을 경우 발생했을 비용을 보여줍니다. |
X-Credits-Charged
|
발생한 비용을 보여주기 위해 모든 요청과 함께 반환됩니다. 테스트 요청은 항상 0입니다. |
POST
https://api.vectorizer.ai/api/v1/vectorize
이미지를 벡터화하려면, 표준 HTTP POST 파일 업로드를 수행합니다. 이진수 파일을 업로드할 때 콘텐츠-유형이 multipart/form-data가 되어야 함을 주의하십시오.
아래 표에는 작동 중인 지금-사용해-보기 형식의 모든 API 매개변수가 나와 있습니다. 각 매개변수에는 간단한 설명이 있지만 자세한 출력 옵션 문서를 확인해야 합니다.
POST
https://api.vectorizer.ai/api/v1/download
이 엔드포인트를 사용하면 다음을 수행할 수 있습니다.
미리보기 API 호출 후 전체 제작 결과를 다운로드합니다.
응답에 X-Receipt 헤더를 포함하므로 나중에 감소된 다운로드 형식 속도로 추가 출력 형식을 다운로드할 수 있습니다.
동일한 이미지와 처리 옵션에 대해 여러 출력 형식을 저렴한 다운로드 포맷 요금으로 다운로드하고, 이를 처음부터 벡터화할 필요가 없습니다.
POST
https://api.vectorizer.ai/api/v1/delete
policy.retention_days > 0로 벡터화된 이미지는 요청한 기간 동안 저장되고 그 후 곧 자동으로 삭제됩니다.
일반적으로 이 엔드포인트를 호출할 필요는 없습니다. 보존 기간이 만료되기 전에 이미지를 삭제할 수 있도록 제공됩니다. 이미지를 일찍 삭제하더라도 남은 보관 기간에 대한 환불은 제공되지 않습니다.
|
반응 특성 |
|
|---|---|
| success |
|
반응 예
{
"success" : true
}
GET
https://api.vectorizer.ai/api/v1/account
구독 상태 및 남아 있는 크레딧과 같은 귀하의 계정 정보를 알아본다
|
추적 변수 |
|
|---|---|
| 없음 | |
|
반응 특성 |
|
|---|---|
| subscriptionPlan |
귀하가 현재 구독한 구독 플랜 또는 "없음". |
| subscriptionState |
현재 구독 상태 ('유효' 또는 '연체') 또는 구독하고 있지 않으면 '종료'. |
| credits |
귀하의 계정에 남아있는 크레딧 숫자. 현재 구독하고 있지 않거나 API가 아닌 계획을 구독하고 있는 경우 0입니다. 분수일 수 있으므로 반드시 Double로 구문 분석하십시오. |
사용자 이름 = API Id, 비밀번호 = API Secret
cURL
$ curl "https://api.vectorizer.ai/api/v1/account" \ -u vkyc67kqa27yidd:[secret]
반응 예
{
"subscriptionPlan" : "none",
"subscriptionState" : "ended",
"credits" : 0
}
| 날짜 | 변경 |
|---|---|
| 2026. 6. 1. | 생성된 클라이언트 및 API 탐색을 위한 OpenAPI 3.0 사양 다운로드 기능을 추가했습니다. 공식 SDK 패키지 및 명령줄 클라이언트 문서를 추가했습니다. |
| 2024. 11. 4. |
processing.shapes.min_area_px가 추가됨.
|
| 2024. 10. 1. | 개발자 통합을 지원하기 위해 AI 챗봇을 추가했습니다. |
| 2024. 9. 23. | 더 많은 운영 모드를 활성화하기 위해 API를 크게 확장했습니다. 이미지 토큰, 영수증, 통화당 요금 헤더, 다운로드 및 삭제 엔드포인트가 추가되었습니다. |
| 2024. 6. 11. |
processing.palette가 추가됨
|
| 2024. 3. 4. | 타임아웃에 대한 섹션이 추가되었습니다. |
| 2024. 1. 24. | 계정 상태 엔드포인트를 추가했습니다. 계정 페이지에 최근 API 오류를 추가되었습니다. 모든 API 오류 응답 목록이 추가되었습니다. |
| 2024. 1. 16. | 오류 JSON 개체를 문서화했습니다. |
| 2023. 10. 3. |
output.gap_filler.enabled=true가 processing.max_colors에서 요청한 것보다 결과에 더 많은 색상을 가져온다는 점을 명확히 했습니다.
|
| 2023. 9. 20. |
mode 추가
|
| 2023. 8. 1. |
다음 옵션을 포함한 모든 기능을 갖춘 출력 크기 옵션 그룹을 추가했습니다: 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 및 output.size.output_dpi. 하나의 옵션이 있는 비트맵 출력 옵션 그룹을 추가했습니다: output.bitmap.anti_aliasing_mode.
|
| 2023. 6. 7. |
processing.max_colors 추가
|
| 2023. 5. 31. | 크게 확장된 API 매개변수. API 엔드포인트를 업데이트했습니다. |
| 2023. 3. 10. | 초판. |