Skip to main content
POST
/
v1
/
svgs
/
generations
curl --request POST \
  --url https://api.quiver.ai/v1/svgs/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "arrow-preview",
  "stream": false,
  "prompt": "Generate an icon of a unicorn"
}
'
{
  "id": "resp_01J9AZ3XJ7D5S9ZV2Q5Z8E1A4N",
  "created": 1704067200,
  "data": [
    {
      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 2l8 20H4z\"/></svg>",
      "mime_type": "image/svg+xml"
    }
  ],
  "usage": {
    "total_tokens": 1640,
    "input_tokens": 1200,
    "output_tokens": 440
  }
}

Authorizations

Authorization
string
header
required

Authentication via Bearer token API key

Body

application/json
model
string
required

Model identifier to use for generation or vectorization.

Minimum string length: 1
Example:

"arrow-preview"

prompt
string
required

Primary text prompt that describes the desired SVG.

Minimum string length: 1
Example:

"Generate an icon of a unicorn"

n
integer
default:1

Number of outputs to generate.

Required range: 1 <= x <= 16
Example:

1

top_p
number
default:1

Nucleus sampling probability.

Required range: 0 <= x <= 1
Example:

0.95

max_output_tokens
integer

Upper bound for output token count.

Required range: 1 <= x <= 131072
Example:

4096

stream
boolean
default:false

When true, emits a Server-Sent Events stream.

Example:

false

temperature
number
default:1

Sampling temperature.

Required range: 0 <= x <= 2
Example:

0.4

presence_penalty
number | null
default:0

Penalty for tokens already present in prior output.

Required range: -2 <= x <= 2
Example:

0.2

instructions
string

Additional style or formatting guidance.

Minimum string length: 1
Example:

"Use a flat monochrome style with clean geometry."

references
object[]
Maximum array length: 4

Response

When stream is false, returns application/json with the full SVG response. When stream is true, returns text/event-stream with Server-Sent Events. Each SSE message contains an event: line (reasoning, draft, or content) and a data: line with a JSON payload. The stream terminates with data: [DONE].

id
string
required
Minimum string length: 1
Example:

"resp_01J9AZ3XJ7D5S9ZV2Q5Z8E1A4N"

created
integer
required
Required range: x >= 0
Example:

1704067200

data
object[]
required
Minimum array length: 1
usage
object