VectoSolve APIチュートリアル:開発者のための画像ベクター化自動化
VectoSolve APIをアプリケーションに統合する方法を学びましょう。Node.js、Python、PHPのコード例と自動化ワークフローを含む完全ガイド。
Founder of VectoSolve
Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.
How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author
Key Takeaways
- VectoSolve APIはラスター画像をプログラム的にクリーンなSVGに変換します — 1回の変換あたり$0.20(クレジットは無期限)
-
シンプルなRESTエンドポイント:
POST https://vectosolve.com/api/v1/vectorize、Bearerトークン認証とmultipart form-data -
ベクター化前に背景を自動除去するには、追加$0.07で
removeBackground=trueを追加 - レート制限は毎分60リクエスト — 大規模ジョブにはエクスポネンシャルバックオフとバッチキューを使用
- n8n、Zapier、AIエージェントプラットフォームと統合し、完全自動化されたベクター化ワークフローを実現
SaaS製品の構築、デザインワークフローの自動化、数千枚の画像処理のいずれであっても、VectoSolve APIを使えばラスター画像をプログラム的にクリーンなSVGベクターに変換できます。このガイドでは、最初のAPIコールから高度な統合まですべてをカバーします。
なぜVectoSolve APIを使うのか?
手動の画像変換はスケールしません。VectoSolve APIは以下を可能にします:
- バッチ処理 — 数百枚の画像を自動変換
- SaaS統合 — 製品にベクター化機能を追加
- ワークフロー自動化 — n8n、Zapier、OpenClawと接続
- 安定した品質 — 毎回同じAI駆動の結果
はじめに
ステップ1:APIキーの作成
APIキーダッシュボードに移動し、「新しいキーを作成」をクリックします。「本番」や「テスト」など分かりやすい名前を付けてください。
重要: APIキーをすぐにコピーしてください — セキュリティ上の理由から再表示されません。
ステップ2:クレジットの追加
各API変換のコストは$0.20です。料金ページから登録してください。クレジットは無期限なので、必要な分だけ購入できます。
ステップ3:最初のリクエスト
APIエンドポイントは画像をform-dataとしたPOSTリクエストを受け付けます:
POST https://vectosolve.com/api/v1/vectorize
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Pro Tip: 統合を構築する前に、シンプルなcURLコマンドでAPIキーをテストしてください。キーが有効であること、クレジットがあること、お使いの環境からエンドポイントに到達できることを確認できます。10秒で済み、何時間ものデバッグ時間を節約します。
コード例
cURL
curl -X POST https://vectosolve.com/api/v1/vectorize \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@image.png" \
-F "removeBackground=false"
Node.js
const FormData = require('form-data');
const fs = require('fs');
const fetch = require('node-fetch');
async function vectorize(imagePath, apiKey) {
const formData = new FormData();
formData.append('file', fs.createReadStream(imagePath));
formData.append('removeBackground', 'false');
const response = await fetch('https://vectosolve.com/api/v1/vectorize', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
},
body: formData,
});
const result = await response.json();
if (result.success) {
console.log('SVG URL:', result.svgUrl);
console.log('Credits remaining:', result.credits.remaining);
return result.svg;
} else {
throw new Error(result.error);
}
}
// Usage
vectorize('./logo.png', 'YOUR_API_KEY');
Python
import requests
def vectorize(image_path, api_key):
url = "https://vectosolve.com/api/v1/vectorize"
with open(image_path, 'rb') as f:
files = {'file': f}
data = {'removeBackground': 'false'}
headers = {'Authorization': f'Bearer {api_key}'}
response = requests.post(url, files=files, data=data, headers=headers)
result = response.json()
if result.get('success'):
print(f"SVG URL: {result['svgUrl']}")
print(f"Credits remaining: {result['credits']['remaining']}")
return result['svg']
else:
raise Exception(result.get('error'))
# Usage
svg = vectorize('./logo.png', 'YOUR_API_KEY')
PHP
<?php
function vectorize($imagePath, $apiKey) {
$url = 'https://vectosolve.com/api/v1/vectorize';
$curl = curl_init();
$postFields = [
'file' => new CURLFile($imagePath),
'removeBackground' => 'false'
];
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postFields,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey
]
]);
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response, true);
if ($result['success']) {
echo "SVG URL: " . $result['svgUrl'] . "\n";
return $result['svg'];
} else {
throw new Exception($result['error']);
}
}
// Usage
$svg = vectorize('./logo.png', 'YOUR_API_KEY');
?>
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual DealAPIレスポンス形式
成功レスポンスは以下のようになります:
{
"success": true,
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\"...>",
"svgUrl": "https://vectosolve.com/api/files/abc123.svg",
"backgroundRemoved": false,
"credits": {
"cost": 0.20,
"remaining": 9.80
}
}
エラー処理
APIは標準HTTPステータスコードを返します:
| コード | 意味 | 解決策 |
|---|---|---|
| 401 | 無効なAPIキー | Authorizationヘッダーを確認 |
| 402 | クレジット不足 | クレジットを追加購入 |
| 403 | サブスクリプション必要 | プランをアップグレード |
| 429 | レート制限超過 | 待って再試行(60リクエスト/分) |
| 500 | サーバーエラー | 再試行またはサポートに連絡 |
「最高のAPIは邪魔をしないものです。ファイルをアップロードし、SVGを受け取る — 設定不要、パラメーターの調整不要。」 - Guillermo Rauch、Vercel CEO
上級:背景除去
ベクター化前に背景を自動除去するにはremoveBackground=trueを追加します。これにはリクエストあたり追加$0.07がかかります:
curl -X POST https://vectosolve.com/api/v1/vectorize \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@photo.jpg" \
-F "removeBackground=true"
Free SVG Tools for Crafters
Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG
Check Your SVG Free自動化統合
n8nワークフロー
n8nは強力なワークフロー自動化ツールです。VectoSolveを統合するには:
- HTTP Requestノードを追加
- メソッドをPOSTに設定
- URL:
https://vectosolve.com/api/v1/vectorize - 認証:Header Auth
- ヘッダー名:
Authorization - ヘッダー値:
Bearer YOUR_API_KEY - ボディコンテンツタイプ:Form-Data
- バイナリ入力で
fileパラメーターを追加
Zapier
「Webhooks by Zapier」を使ってVectoSolveを5,000以上のアプリと接続:
- Webhooks by Zapierアクションを追加
- POSTリクエストを選択
- URL:
https://vectosolve.com/api/v1/vectorize - ヘッダー追加:
Authorization: Bearer YOUR_API_KEY - ペイロードタイプ:Form
- トリガーからファイルフィールドをマッピング
OpenClaw / AIエージェント
OpenClawなどのAI自動化ツール:
- VectoSolveダッシュボードでAPIキーを作成
- AIエージェントに新しいHTTPツールを追加
- 上記の通りPOSTリクエストを設定
- JSONレスポンスを解析して
svgまたはsvgUrlを抽出
大量バッチジョブ(1,000枚以上)にはキューベースのアーキテクチャを実装:変換リクエストをキューにプッシュし、レート制限対応ワーカーで処理(最大60/分)、結果を自社ストレージに保存。タイムアウトを防ぎ、すべての画像が確実に処理されます。
レート制限とベストプラクティス
- レート制限: 毎分60リクエスト
- 最大ファイルサイズ: 5MB
- 対応フォーマット: PNG, JPG, JPEG, WEBP, GIF
- クレジット: 無期限
バッチ処理のヒント:
- レート制限にはエクスポネンシャルバックオフを実装
- リクエストをキューに入れ50件単位で処理
- 同じ画像の再変換を避けるため結果をキャッシュ
- 大規模バッチジョブにはwebhookを使用
よくある質問
APIの料金は?
1回の変換が$0.20。背景除去は$0.07追加。まとめ買いで節約 — クレジットは無期限です。
対応画像フォーマットは?
PNG、JPG、JPEG、WEBP、GIF。最大ファイルサイズは5MB。
クレジットは期限がある?
いいえ!購入後、クレジットは使用するまでアカウントに永久に残ります。
レート制限は?
毎分60リクエスト。より高い制限にはエンタープライズプランをお問い合わせください。
APIを商用製品で使える?
はい!VectoSolve APIを商用アプリケーション、SaaS製品、クライアントプロジェクトに統合できます。
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual Dealヘルプが必要ですか?
これらのリソースをご覧ください:
- APIキーダッシュボード — キーの管理と使用状況の確認
- FAQ — よくある質問への回答
- 料金 — 月額・年額プラン
始める準備はできましたか?APIキーを取得して、最初の画像を数秒で変換しましょう!
| APIパラメーター | タイプ | デフォルト | 説明 |
|---|---|---|---|
| image | File (multipart) | 必須 | PNG、JPG、WebP、最大10MB |
| removeBackground | Boolean | false | ベクター化前のAI背景除去 |
| colorMode | String | "color" | "color"、"grayscale"、"blackwhite" |
| detailLevel | String | "medium" | パス複雑度:"low"、"medium"、"high" |
| outputFormat | String | "svg" | 出力フォーマット:"svg"または"eps" |
ソースと参考文献
- MDN Web Docs — Fetch API — API統合例で使用されるmultipart form-dataによるHTTPリクエストのリファレンス
- Google AI Blog — Image Processing APIs — AI画像処理、REST APIデザインパターン、スケーラブルなクラウドアーキテクチャに関する洞察
- Smashing Magazine — API Integration — Node.js、Python、フロントエンドJavaScriptでのREST API活用に関する開発者ガイド
- W3C SVG 2 Specification — ベクター化APIレスポンスの出力フォーマットを理解するための公式SVG標準