Sticker Outline For Cutting
Ideogram Vector 1.0 Image to Vector API
ideogram/vector-1.0/image-to-vectorIdeogram Vector 1.0 Image to Vector turns one raster image into an SVG file, with a detailed default mode and a simple mode that uses fewer shapes. It follows the shapes and colours of the source so logos, sketches and illustrations become scalable artwork.
Get API KeyDrag and drop files, paste from clipboard, or provide a URL. Exactly one raster image (public HTTP(S) URL).
1/1 files added
Estimated cost: 20 credits · $0.1000
Credits are reserved when the task is submitted and refunded in full if it fails.
Examples
REST API
Quick Start
This flow submits one valid Ideogram Vector 1.0 Image to Vector request, captures its task_id, and reads result file URLs after the asynchronous task ends.
Connect to the Vidgo API
Create an API key, keep it on the server, and send it as Authorization: Bearer VIDGO_API_KEY.
- Endpoint
- POST
https://api.vidgo.ai/api/generate/submit - Authentication
- Authorization: Bearer VIDGO_API_KEY
Submit one task
Send the current model ID and an input object to the unified submit endpoint. input may only contain the fields listed for this endpoint; any other field returns 400.
curl --request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "ideogram/vector-1.0/image-to-vector",
"input": {
"mode": "default",
"image_urls": [
"https://cdn.vidgo.ai/apis/models/ideogram/vector-1.0/image-to-vector/v1/01/input-01-raster-placeholder.png"
]
}
}'Wait for the result
Read data.task_id and poll only while status is not_started or running. Stop on both finished and failed.
Track status
GET https://api.vidgo.ai/api/generate/status/{task_id}Poll every 2–5 seconds and back off on 429/5xx. Or provide top-level callback_url to receive a terminal-state callback.
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "task-example",
"status": "not_started",
"created_time": "2026-11-03T08:00:00"
}
}{
"code": 200,
"data": {
"task_id": "task-example",
"status": "finished",
"created_time": "2026-11-03T08:00:00",
"progress": 100,
"files": [
{
"file_url": "https://example.com/result.svg",
"file_type": "image"
}
]
}
}Complete runnable polling example
Expand for the same payload end to end, including business-code, missing-task-ID, failed-state, unexpected-state, and network-error handling.
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "ideogram/vector-1.0/image-to-vector",
"input": {
"mode": "default",
"image_urls": [
"https://cdn.vidgo.ai/apis/models/ideogram/vector-1.0/image-to-vector/v1/01/input-01-raster-placeholder.png"
]
}
}
JSON
)
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
TASK_ID=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.data.task_id // .task_id // empty')
if [ -z "$TASK_ID" ]; then
printf 'Submit response did not include task_id:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
while true; do
STATUS_RESPONSE=$(curl --silent --show-error --fail-with-body \
--url "https://api.vidgo.ai/api/generate/status/$TASK_ID" \
--header "Authorization: Bearer $VIDGO_API_KEY")
STATUS=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.data.status // .status // empty')
case "$STATUS" in
finished)
printf '%s' "$STATUS_RESPONSE" | jq -r '(.data.files // .files // [])[]?.file_url'
break
;;
failed)
printf '%s' "$STATUS_RESPONSE" | jq -r '.data.error_message // .error_message // "Generation failed"' >&2
exit 1
;;
not_started|running)
sleep 2
;;
*)
printf 'Unexpected task status: %s
' "$STATUS" >&2
exit 1
;;
esac
doneRequest Parameters
This table lists only public fields inside input. See Quick Start for top-level model and optional callback_url usage.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| input.image_urls | string[] | Yes | – | Exactly one raster image as an array with one public HTTP(S) URL or image data URI. |
| input.mode | string | No | default | default keeps finer detail; simple produces fewer, cleaner shapes. |
Response Fields
The submit response identifies the task. The status response supplies result files or failure details at a terminal state.
| Field | Type | Description |
|---|---|---|
| code | integer | Business response code; 0 or 200 indicates success. |
| message | string | Optional human-readable response message. |
| data.task_id | string | Unique task ID used for status queries after submission. |
| data.status | string | not_started, running, finished, or failed. |
| data.created_time | string | Task creation timestamp. |
| data.progress | integer | Progress from 0–100 in status responses. |
| data.files[] | array | Generated files in returned order when finished. |
| data.files[].file_url | string | Direct URL of the generated file (.svg). |
| data.files[].file_type | string | Result files are identified as image. |
| data.error_message | string | null | Readable failure reason for failed tasks. |
Task Lifecycle
Only the first two states may be polled again. finished and failed are terminal.
not_startedAccepted and queued; wait before checking again.
runningGeneration is in progress; continue polling.
finishedSuccessful terminal state; validate files and read file URLs.
failedFailure terminal state; read error_message and stop. Reserved credits are refunded in full.
Polling and Errors
- AuthenticationKeep a valid VIDGO_API_KEY on the server and send requests with Bearer authentication.
- Validation400 indicates an invalid model ID, field, enum, length, count or size for this endpoint, including fields that belong to another endpoint.
- Polling intervalStart at 2–5 seconds, use exponential backoff for 429/5xx, and enforce an overall timeout.
- Terminal statesRead file URLs from files after finished, or error_message after failed. Both states end polling.
- Callback optionProvide a public top-level callback_url to receive the task object after finished or failed.
- Network errorsDistinguish request timeout, network failure, and task failure. Retry the same query only when safe.
Model Specifications
| Specification | Value | Details |
|---|---|---|
| Model | ideogram/vector-1.0/image-to-vector | Ideogram Vector 1.0 Image to Vector |
| Input | image_urls (exactly 1) | No prompt |
| Output | 1 SVG file | image/svg+xml URL in files[] |
| mode | default / simple | Flat 20 credits per request |
Related Models
Ideogram Vector 1.0 Image to Vector API FAQ
What is the Ideogram Vector 1.0 Image to Vector API?
Ideogram Vector 1.0 Image to Vector is an Ideogram model for converting a raster image into an SVG vector file. It takes one image and returns scalable vector shapes, with a detailed default mode and a simple mode that uses fewer shapes. It follows the outlines and colours of the source so logos, sketches and illustrations can be resized and edited as vectors. You can call it programmatically or try it from the playground above.
What is the difference between default and simple in Ideogram Vector 1.0 Image to Vector?
default keeps finer detail and is suited to illustrations; simple produces fewer, cleaner shapes that are easier to cut, plot or edit by hand. Both cost the same.
How much does Ideogram Vector 1.0 Image to Vector cost?
A flat 20 credits ($0.10) per request in either mode. Each request converts one image into one SVG.
Which images work best with Ideogram Vector 1.0 Image to Vector?
Clear subjects with defined edges, such as logos, icons, line art and flat illustrations, on a plain background. Busy photographs produce more complex files.
Does Ideogram Vector 1.0 Image to Vector accept a prompt?
No. The endpoint vectorizes the image as it is. To change the design, edit the raster first, for example with Ideogram 4.5 Edit, or generate new artwork with Text to Vector.
What does Ideogram Vector 1.0 Image to Vector return?
An SVG file URL (image/svg+xml) in files, ready to open in a vector editor or embed on a web page.
Can I convert several images with Ideogram Vector 1.0 Image to Vector at once?
Each request takes exactly one image. For a batch, submit one task per image; each task is billed 20 credits.















