Back to Promptfoo

QuiverAI Provider

site/docs/providers/quiverai.md

0.121.94.0 KB
Original Source

QuiverAI

The QuiverAI provider generates SVG vector graphics from text prompts using the Arrow model. Output is raw SVG markup, which works with text-based assertions like is-xml, contains, and llm-rubric.

Setup

  1. Create an API key at app.quiver.ai
  2. Set the environment variable:
bash
export QUIVERAI_API_KEY=your-api-key

Provider Format

text
quiverai:<model-name>

The default model is arrow-preview.

Configuration

yaml
providers:
  - id: quiverai:arrow-preview
    config:
      temperature: 0.7
      max_output_tokens: 8192
      instructions: 'flat design, minimal color palette'

With reference images:

yaml
providers:
  - id: quiverai:arrow-preview
    config:
      references:
        - url: https://example.com/style-reference.png
      instructions: 'Match the style of the reference image'

Configuration Options

ParameterTypeDefaultDescription
instructionsstringStyle guidance separate from the prompt
referencesarrayUp to 4 reference images: [{ url }] or [{ base64 }]
temperaturenumber1Randomness (0–2)
top_pnumber1Nucleus sampling (0–1)
presence_penaltynumber0Penalize repeated patterns (-2 to 2)
max_output_tokensintegerMaximum output tokens (1–131,072)
ninteger1Number of SVGs to generate (1–16)
streambooleantrueSet false to enable response caching
apiKeystringAPI key (overrides environment variable)
apiBaseUrlstringCustom API base URL

When n > 1, multiple SVGs are joined with double newlines.

Example

yaml
prompts:
  - 'Create a simple SVG icon of: {{subject}}'

providers:
  - id: quiverai:arrow-preview
    config:
      max_output_tokens: 8192

tests:
  - vars:
      subject: a red heart
    assert:
      - type: is-xml
      - type: llm-rubric
        value: Contains a heart shape in red color

  - vars:
      subject: a yellow star
    assert:
      - type: is-xml
      - type: llm-rubric
        value: Contains a star shape in yellow/gold color

:::note llm-rubric assertions require a grading provider. By default this uses OpenAI, so set OPENAI_API_KEY or configure a different grader. :::

Troubleshooting

ErrorCauseFix
insufficient_creditsAccount has no creditsAdd credits at app.quiver.ai
invalid_api_keyKey is missing or invalidCheck QUIVERAI_API_KEY is set correctly
rate_limit_exceededToo many requestsReduce --max-concurrency or add delays between requests
model_not_foundInvalid model nameUse arrow-preview (the default)

Error messages include a request_id for debugging with QuiverAI support.

Environment Variables

VariableDescription
QUIVERAI_API_KEYAPI key (required)

See Also