Skip to main content

Model Providers

QuiverAI

Generate SVG images with QuiverAI through your Verdictan gateway. You send one text prompt as a Chat Completions request, and the SVG markup comes back as the assistant message.

QuiverAI is an SVG generator, not a chat model. The gateway does not send conversation history.

Before you start​

  • A working gateway from the quickstart.
  • A QuiverAI API key, and one model ID from the QuiverAI Models API.
  • The gateway startup command, and a separate application token for test requests.

Configure the provider​

policy-config.yaml
pack:
  name: quiverai-integration
  version: 1.0.0
  enabled: true
policies:
  chain:
    - prompt-injection
providers:
  targets:
    - id: quiverai-primary
      provider: quiverai
      model: "replace-with-quiverai-model-id"
      base_url: https://api.quiver.ai/v1
      secret_key_ref:
        env: VERDICTAN_QUIVERAI_API_KEY

The gateway sends requests to base_url plus /svgs/generations, with the key from VERDICTAN_QUIVERAI_API_KEY as a Bearer token. base_url can start with http:// or https://.

Start and verify​

Use the Console steps below or CLI 0.1.14 or later to deploy the QuiverAI target. After In sync, send the configured model request to check provider access.

With the quickstart in Docker, follow the container steps instead of steps 1 to 3.

  1. In the gateway terminal, set the key and lint the file:

    export VERDICTAN_QUIVERAI_API_KEY="<provider-api-key>"
    verdictan policy lint --file policy-config.yaml
  2. Restart the test gateway with the key in its environment.

  3. Deploy the file to the test agent in Configurations. If that agent already runs pack.version 1.0.0, increase the version first. Then wait for the gateway log line connected read model refresh applied updated config with your version as config_version. Try the change on a test gateway has the steps.

  4. In a second terminal, ask for an SVG:

    export VERDICTAN_CLIENT_TOKEN="<application-token>"
    curl --fail-with-body http://127.0.0.1:41002/v1/chat/completions \
      -H "Authorization: Bearer ${VERDICTAN_CLIENT_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"model":"replace-with-quiverai-model-id","stream":false,"messages":[{"role":"user","content":"Generate a simple monochrome circle as SVG."}]}'

choices[0].message.content must contain SVG markup. Empty content means the generation failed. The request appears in History when capture is on, or in the delivered events.

warning

Treat generated SVG as untrusted input. Sanitize it before your application renders it.

How the request is translated​

Chat Completions fieldWhat the gateway does
Last message contentSent as prompt
Earlier messages, system messagesDropped
Tools, images, and generation settings such as temperatureDropped
streamAlways sent as false. Use stream: false in your request.

In the reply, every svg value that QuiverAI returns is joined into choices[0].message.content, separated by blank lines. usage carries the token counts QuiverAI reports; a missing count is 0.

Responses, embeddings, and audio are not supported. Messages and legacy Completions are not tested with this adapter.

Failure behavior​

ProblemWhat to check
401 from the gatewayThe application token is active, and the key is set on the gateway host.
Provider authentication errorVERDICTAN_QUIVERAI_API_KEY is set in the gateway process. Restart the gateway.
Model not foundThe model ID is from the QuiverAI Models API and matches the target.
200 with empty contentQuiverAI returned no svg values. Check the prompt and model.
capability.unsupported_familyThe request is Chat Completions.
Provider 429 or another upstream errorThe response body and your QuiverAI limits. See Error Handling.

Limits​

  • Model names, prices, rate limits, and data terms are in the QuiverAI model catalog.
  • A listener on a non-loopback address needs TLS and network controls.

Next steps​