quiverai

star 7

Generate and vectorize SVG graphics via the QuiverAI API (Arrow model). Use when the user asks to create logos, icons, or illustrations as SVG, convert raster images (PNG/JPEG/WebP) to SVG, or generate vector graphics from text prompts.

modbender By modbender schedule Updated 3/6/2026

name: quiverai description: Generate and vectorize SVG graphics via the QuiverAI API (Arrow model). Use when the user asks to create logos, icons, or illustrations as SVG, convert raster images (PNG/JPEG/WebP) to SVG, or generate vector graphics from text prompts. metadata: { "openclaw": { "emoji": "๐Ÿ–‹๏ธ", "requires": { "env": ["QUIVERAI_API_KEY"] }, "primaryEnv": "QUIVERAI_API_KEY", },

}

QuiverAI โ€” AI Vector Graphics

QuiverAI generates production-ready SVGs from text prompts or raster images.

  • Site: https://quiver.ai
  • Docs: https://docs.quiver.ai
  • API base: https://api.quiver.ai/v1
  • Model: arrow-preview
  • Auth: Bearer token via QUIVERAI_API_KEY
  • Billing: 1 credit per request (regardless of n).

Setup

Get an API key at https://app.quiver.ai/settings/api-keys (create account at https://quiver.ai/start first).

Text to SVG

Generate SVGs from a text description.

Endpoint: POST /v1/svgs/generations

curl -X POST https://api.quiver.ai/v1/svgs/generations \
  -H "Authorization: Bearer $QUIVERAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "arrow-preview",
    "prompt": "A minimalist monogram logo using the letter Q",
    "n": 1,
    "stream": false
  }'

Node.js SDK (npm install @quiverai/sdk):

import { QuiverAI } from "@quiverai/sdk";
const client = new QuiverAI({ bearerAuth: process.env.QUIVERAI_API_KEY });

const result = await client.createSVGs.generateSVG({
  model: "arrow-preview",
  prompt: "A minimalist monogram logo using the letter Q",
});
// result.data[0].svg contains the SVG markup

Parameters

Param Type Default Description
model string โ€” Required. Use arrow-preview.
prompt string โ€” Required. Describes the desired SVG.
instructions string โ€” Additional style guidance (e.g. "flat monochrome, rounded corners").
references array โ€” Up to 4 reference images ({ url } or { base64 }).
n int 1 Number of outputs (1โ€“16).
temperature float 1 Sampling temperature (0โ€“2). Lower = more deterministic.
top_p float 1 Nucleus sampling (0โ€“1).
max_output_tokens int โ€” Upper bound for output tokens (max 131072).
stream bool false SSE streaming (events: reasoning, draft, content).

Response

{
  "id": "resp_01J...",
  "created": 1704067200,
  "data": [{ "svg": "<svg ...>...</svg>", "mime_type": "image/svg+xml" }],
  "usage": { "total_tokens": 1640, "input_tokens": 1200, "output_tokens": 440 }
}

Image to SVG (Vectorize)

Convert a raster image (PNG/JPEG/WebP) into SVG.

Endpoint: POST /v1/svgs/vectorizations

curl -X POST https://api.quiver.ai/v1/svgs/vectorizations \
  -H "Authorization: Bearer $QUIVERAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "arrow-preview",
    "stream": false,
    "image": { "url": "https://example.com/logo.png" }
  }'

SDK:

const result = await client.vectorizeSVG.vectorizeSVG({
  model: "arrow-preview",
  image: { url: "https://example.com/logo.png" },
});

Additional parameters (beyond Text-to-SVG shared ones)

Param Type Default Description
image object โ€” Required. { url: "..." } or { base64: "..." }.
auto_crop bool false Crop to dominant subject before vectorization.
target_size int โ€” Square resize target in px (128โ€“4096) before inference.

Response format is identical to Text-to-SVG.

Error codes

Status Code Meaning
400 invalid_request Malformed body or missing fields.
401 unauthorized Bad or missing API key.
402 insufficient_credits Out of credits.
429 rate_limit_exceeded Too many requests; back off and retry.

Tips

  • Save SVG output to a .svg file for immediate use.
  • Use instructions to control style without changing the prompt.
  • For logos, try low temperature (0.3โ€“0.5) for cleaner, more consistent results.
  • Use references to provide visual examples the model should match.
  • For vectorization, enable auto_crop: true when the source image has excess whitespace.
Install via CLI
npx skills add https://github.com/modbender/skill-library-mcp --skill quiverai
Repository Details
star Stars 7
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator