live
MODEL IDideogram:vector@1.0

Ideogram Vector 1.0

Ideogram
by
Available with Zero Data Retention

Ideogram Vector 1.0 is Ideogram's vector model, generating SVG artwork from text prompts, optionally guided by up to five reference images, and converting existing images into SVG. Each shape stays editable, so colors can be matched to a brand and individual elements refined in a vector editor. It suits logos, typography, illustrations, print designs, and labels or stickers.

Ideogram Vector 1.0

Vectorizing images

How to convert raster images to SVG with Ideogram Vector 1.0: the request, the size of the result, and the simple, detailed and auto modes.

Introduction

Raster artwork stops at its pixel count. A logo that only exists as a small JPEG from an old website turns soft and blocky the moment it is enlarged for a van wrap or a shop sign.

Ideogram Vector 1.0 converts an existing image into an SVG. You send the image on its own, with no prompt, and the model traces it into editable paths.

Open both at full size. The JPEG breaks into compression blocks around the lettering, while the SVG keeps clean edges at any zoom.

This guide covers the request, the size of the result and the three levels of detail.

The request

A conversion takes one field: the image in inputs.image, as a UUID, a URL, a data URI or Base64, in JPEG, PNG or WebP.

Everything that belongs to generating is refused next to an image: positivePrompt, inputs.referenceImages, width, height and settings.quality. The only setting a conversion takes is settings.mode.

Try in Playground
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'ideogram:vector@1.0',
  inputs: {
    image: 'https://im.runware.ai/image/os/a14d18/ws/2/ii/c3d9e1f7-4a26-4b8c-9e05-7f1a2b6d8c43.jpg'
  }
})
import asyncio
import os

from runware import Runware


async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "ideogram:vector@1.0",
            "inputs": {
                "image": "https://im.runware.ai/image/os/a14d18/ws/2/ii/c3d9e1f7-4a26-4b8c-9e05-7f1a2b6d8c43.jpg"
            }
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "vectorize",
      "taskUUID": "b81f3c5a-2e47-4d9b-a6c0-5f8e1d3a7b24",
      "model": "ideogram:vector@1.0",
      "inputs": {
        "image": "https://im.runware.ai/image/os/a14d18/ws/2/ii/c3d9e1f7-4a26-4b8c-9e05-7f1a2b6d8c43.jpg"
      }
    }
  ]'
runware run ideogram:vector@1.0 \
  inputs.image=https://im.runware.ai/image/os/a14d18/ws/2/ii/c3d9e1f7-4a26-4b8c-9e05-7f1a2b6d8c43.jpg
{
  "taskType": "vectorize",
  "taskUUID": "b81f3c5a-2e47-4d9b-a6c0-5f8e1d3a7b24",
  "model": "ideogram:vector@1.0",
  "inputs": {
    "image": "https://im.runware.ai/image/os/a14d18/ws/2/ii/c3d9e1f7-4a26-4b8c-9e05-7f1a2b6d8c43.jpg"
  }
}
Response
[
  {
    "taskType": "vectorize",
    "taskUUID": "b81f3c5a-2e47-4d9b-a6c0-5f8e1d3a7b24",
    "imageUUID": "9a4e2c71-6b3d-4f58-8c19-e0d7a5b3f286",
    "imageURL": "https://im.runware.ai/image/os/a14d18/ws/2/ii/9a4e2c71-6b3d-4f58-8c19-e0d7a5b3f286.svg"
  }
]

The size of the result

The SVG keeps the dimensions of the source up to 2048 pixels on its long side. The 480 × 480 logo above comes back as a 480 × 480 SVG, and a 1280 × 1760 image would come back as 1280 × 1760. A larger source is scaled down to 2048 on its long side, so 3000 × 2000 comes back as 2048 × 1365.

Any aspect ratio converts, from a narrow banner to a tall poster. The pixel size becomes the canvas of the SVG, and the paths scale without loss from there, but they can only trace the detail the source holds. Send the largest version of the image you have.

Choosing a level of detail

settings.mode sets how closely the paths follow the source. simple traces fewer, simpler shapes, detailed keeps fine detail, and auto picks a level for each image. Without it, the model picks the level itself.

At full size, simple flattens the knit mesh into a few large patches of blue, while detailed keeps the pattern of the mesh and the eyelets. auto returned exactly the same file as detailed.

Pick simple when the SVG will be edited by hand or cut on a plotter, since fewer shapes are easier to select and change. Pick detailed when the SVG has to look like the source, as a product photo turned into artwork for a flyer does.

The price is the same for every mode and every image size, so the choice is only about the file you want back.

Tips

  1. Send the largest source you have. The SVG keeps up to 2048 pixels on the long side, and the paths can only trace what the source holds.
  2. Send the image alone. A prompt, a size or a quality tier next to inputs.image is refused.
  3. Use JPEG, PNG or WebP. Other formats are refused as a source.
  4. Use simple for files people will edit. Fewer shapes mean fewer paths to select and recolor.
  5. Redraw instead of tracing when the source needs changes. To turn an image into new artwork with a prompt, send it as a reference, see Reference images.