A set of four matching line-style weather icons in a row: sun, cloud, rain cloud, snowflake. Uniform stroke width, rounded caps, single navy colour with a cyan accent, transparent-feeling white background. No brand names, logos, watermark, split screen or comparison panels.
Ideogram Vector 1.0 Text to Vector API
ideogram/vector-1.0/text-to-vectorIdeogram Vector 1.0 Text to Vector turns a written prompt into SVG artwork for logos, icons and illustrations, with up to five reference images and 17 aspect ratios plus auto. Results are true vector files that scale cleanly from favicon to billboard.
Get API KeyDrag and drop files, paste from clipboard, or provide a URL. Optional: 1–5 reference images. The first is the primary reference.
Estimated cost: 32 credits · $0.1600
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 Text 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/text-to-vector",
"input": {
"prompt": "A flat vector badge of a friendly fox head inside a circle, bold clean outlines, three-colour palette of orange, cream and deep teal, smooth gradient on the background disc. Text along the bottom arc reads exactly \"TRAIL CLUB\". Centered, generous padding. No brand names, logos, watermark, split screen or comparison panels.",
"quality": "medium",
"size": "1:1",
"n": 1
}
}'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/text-to-vector",
"input": {
"prompt": "A flat vector badge of a friendly fox head inside a circle, bold clean outlines, three-colour palette of orange, cream and deep teal, smooth gradient on the background disc. Text along the bottom arc reads exactly \"TRAIL CLUB\". Centered, generous padding. No brand names, logos, watermark, split screen or comparison panels.",
"quality": "medium",
"size": "1:1",
"n": 1
}
}
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.prompt | string | Yes | – | Non-blank text, up to 9,500 characters. |
| input.image_urls | string[] | No | – | Optional reference images: 1–5 public HTTP(S) URLs or image data URIs. Omit the field when you have none. |
| input.quality | string | No | medium | low, medium or high. Sets the price per SVG. |
| input.n | integer | No | 1 | Number of SVG files, integer 1–8. |
| input.size | string | No | auto | Aspect ratio: auto, 1:1, 1:4, 1:3, 1:2, 9:16, 10:16, 2:3, 3:4, 4:5, 5:4, 4:3, 3:2, 16:10, 16:9, 2:1, 3:1, 4:1. |
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/text-to-vector | Ideogram Vector 1.0 Text to Vector |
| Input | prompt + optional image_urls (1–5) | Prompt up to 9,500 characters |
| Output | SVG file × n (1–8) | image/svg+xml URLs in files[] |
| quality | low / medium / high | 26 / 32 / 40 credits per SVG; high + references 64 |
| size | auto + 17 aspect ratios | Default auto |
Related Models
Ideogram Vector 1.0 Text to Vector API FAQ
What is the Ideogram Vector 1.0 Text to Vector API?
Ideogram Vector 1.0 Text to Vector is an Ideogram model for creating SVG vector graphics from a written prompt. It produces logos, icons and illustrations as one to eight SVG files per request, guided by up to five reference images and 17 aspect ratios plus auto. Because the shapes are generated as vectors rather than traced from pixels, the files scale cleanly and open in any vector editor. You can call it programmatically or try it from the playground above.
What file format does Ideogram Vector 1.0 Text to Vector return?
Each output is an SVG file (image/svg+xml) returned as a URL in files. You can embed it on the web or open it in a vector design tool.
How much does Ideogram Vector 1.0 Text to Vector cost?
Per SVG: low 26 credits ($0.13), medium 32 ($0.16), high 40 ($0.20), and high with reference images 64 ($0.32). The total is the rate multiplied by n.
How many reference images can Ideogram Vector 1.0 Text to Vector use?
One to five in image_urls. The first image is the primary reference and the rest are additional references.
Which aspect ratios does Ideogram Vector 1.0 Text to Vector support?
auto, 1:1, 1:4, 1:3, 1:2, 9:16, 10:16, 2:3, 3:4, 4:5, 5:4, 4:3, 3:2, 16:10, 16:9, 2:1, 3:1, 4:1. The default is auto.
Is the text in Ideogram Vector 1.0 Text to Vector output editable?
Lettering is drawn as vector shapes, so you can recolour, move and scale it in a vector editor. Plan to retype wording if you need to change the characters themselves.
How do I revise an Ideogram Vector 1.0 Text to Vector result?
Edit the SVG in a vector editor, or change the prompt and generate again. To vectorize an updated raster sketch, use Ideogram Vector 1.0 Image to Vector.
When should I use Ideogram Vector 1.0 Text to Vector instead of Ideogram 4.5?
Choose Text to Vector when the deliverable must scale or be edited as shapes, such as logos, icons, signage or merch. Choose Ideogram 4.5 for photographic or painterly raster images.















