HomeBrowseUpload
← Back to registry
// Skill profile

QuiverAI — AI Vector Graphics

name: quiverai

by charmmm718 · published 2026-03-22

图像生成数据处理加密货币
Total installs
0
Stars
★ 0
Last updated
2026-03
// Install command
$ claw add gh:charmmm718/charmmm718-quiverai
View on GitHub
// Full documentation

---

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.
  • // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band