Create image upload link
create_image_upload_linkUpload a local image file with one shell command; its bytes never pass the model.
Use this when your shell reaches the public internet and the PNG/JPEG/WebP (max 5 MB) is a file you can read: Claude Code, Codex, Cursor or a local terminal. If the PerfectVector CLI is installed, use it instead. Not in Claude chat: its sandbox usually can't reach PerfectVector. Returns a ready curl command for a 10-minute, single-use link on PerfectVector's own domain; replace IMAGE_PATH and run it. The upload only stores the image, charges nothing and prints its upload_id; then call check_price with that upload_id, then convert_to_svg. Use a new request_key per image and pass the image's file name as file_name: the SVG is named after it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"request_key": "<request_key>"
},
"name": "create_image_upload_link"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | No | ||
| request_key | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| width | No | ||
| height | No | ||
| offset | No | ||
| sha256 | No | ||
| status | No | ||
| released | No | ||
| svg_text | No | ||
| file_name | No | ||
| max_bytes | No | ||
| mime_type | No | ||
| retryable | No | ||
| error_code | No | ||
| expires_at | No | ||
| upload_url | No | ||
| input_bytes | No | ||
| next_action | Yes | ||
| next_offset | No | ||
| request_key | No | ||
| total_bytes | No | ||
| download_url | No | ||
| renewal_tool | No | ||
| conversion_id | No | ||
| upload_method | No | ||
| accepted_types | No | ||
| upload_command | No | ||
| upload_headers | No | ||
| credits_charged | No | Credits charged by this call only; not the total. | |
| total_characters | No | ||
| continuation_tool | No | ||
| expires_in_seconds | No | ||
| poll_after_seconds | No | ||
| credits_charged_total | No | Account's recorded credit spend for this SVG across all calls and clients. | |
| continuation_authorized | No | ||
| credits_charged_this_call | No | ||
| download_url_is_temporary | No |