Image Trace Guide
Use this document to submit and monitor Image Trace jobs with the Illustrator API.
Illustrator API supports Image Trace workflows for raster-to-vector conversion. The service accepts PNG/JPEG input, runs image tracing in Illustrator, and returns presigned URLs for SVG output when the job succeeds.
If you are new to pre-signed URLs and job polling, read Key concepts first.
Workflow
- Upload your raster file to your storage and obtain a presigned GET URL (or equivalent temporary download URL supported by the platform).
- Submit
POST .../beta/images/image-tracewithinput(source URL +mediaType) and, if needed, optionalsettings.preset. See the Image Trace API (public beta) reference for the request schema. - Poll
GET .../beta/status/{jobId}using thejobIdorstatusUrlfrom the submit response untilstatusissucceededorfailed. - Download SVG output from the presigned URLs in the
outputsarray when the job succeeds.
Required input for Image Trace
Use the following request shape:
Parameter
Required
Description
inputYes
Input file details.
input.source.urlYes
Pre-signed URL of the input file.
input.mediaTypeYes
Media type of the input file. Allowed values:
image/png, image/jpeg.settingsNo
Optional object containing only
preset (see below).Example request body
{
"input": {
"source": { "url": "https://example.blob.core.windows.net/container/art.png?sas..." },
"mediaType": "image/png"
},
"settings": {
"preset": "enhanced_general"
}
}
Request parameters
Parameter
Type
Description
settings.presetstring
Optional. One of:
enhanced_general — vector-looking generated output; high_fidelity_photo — photorealistic tracing. Omit to use the service default. Any other value returns 400.Status and outputs
Polling uses the Image Trace status operation (GET /beta/status/{jobId}). When status is succeeded, use the presigned URLs in outputs to download generated SVG files. Error messages and HTTP status codes follow the same error schema as other beta operations in this reference.
Submit response (202 Accepted)
{
"jobId": "f7da0875-7919-486d-b915-7258c89f09e0",
"statusUrl": "<url>/beta/status/f7da0875-7919-486d-b915-7258c89f09e0"
}
Status response (succeeded)
{
"jobId": "f7da0875-7919-486d-b915-7258c89f09e0",
"status": "succeeded",
"outputs": [
{
"destination": {
"url": "<PRESIGNED_URL>"
},
"mediaType": "image/svg+xml"
}
]
}
Status response (failed)
{
"jobId": "fe0f4a1a-a213-44bd-b37b-8aa2f636449c",
"status": "failed",
"error_code": "<ERROR_CODE>",
"message": "<MESSAGE>"
}
Related links
- Image Trace API (public beta) — OpenAPI reference (
submitImageTraceJob,imageTraceJobStatus). - Custom Script Guide — Another beta workflow that also uses async job polling.