Skip to main content
Quiver logo

Overview

Add Quiver to any ModuleX agent or workflow. AI-powered SVG generation and raster vectorization against the QuiverAI REST API (api.quiver.ai/v1). Generate clean, scalable vector graphics from text prompts or convert raster images into editable SVGs.
Categories: AI & Machine Learning · Image Generation · Design · Auth: API Key · Actions: 3

Authentication

API Key Authentication

Authenticate using your QuiverAI API key
1

Step 1

Go to https://quiver.ai and sign up or log in
2

Step 2

Open your account dashboard and navigate to API keys
3

Step 3

Create a new API key or copy your existing one
4

Step 4

Paste the API key below

Required Credentials

FieldDescriptionRequiredFormat
QuiverAI API KeyYour QuiverAI API key from quiver.aiYes-

Available Actions

Parameters

prompt
string
required
A text description of the desired SVG
model
string
The model to use for SVG generation (e.g. “arrow-1.1”) (Default: arrow-1.1)
instructions
string
Style or formatting guidance for the SVG output
references
array
Reference image URLs to guide SVG generation (up to 4 for arrow-1.1, 16 for arrow-1.1-max)
n
integer
Number of SVGs to generate (1-16, default 1)
temperature
number
Sampling temperature (0-2, default 1)
top_p
number
Nucleus sampling probability (0-1, default 1)
max_output_tokens
integer
Maximum output tokens (1-65536)
presence_penalty
number
Token penalty for prior output (-2 to 2, default 0)

Response

{
  "$defs": {
    "SvgArtifact": {
      "additionalProperties": false,
      "description": "A single generated SVG returned in the response ``data`` array.",
      "properties": {
        "svg": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Svg"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mime Type"
        }
      },
      "title": "SvgArtifact",
      "type": "object"
    },
    "UsageInfo": {
      "additionalProperties": false,
      "description": "Token usage statistics returned alongside an SVG response.\n\nQuiver retains these fields for compatibility; they may be zeroed.\nBilling is reported via ``credits`` on the parent output.",
      "properties": {
        "input_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Input Tokens"
        },
        "output_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Output Tokens"
        },
        "total_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Tokens"
        }
      },
      "title": "UsageInfo",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "created": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Created"
    },
    "svg_content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Svg Content"
    },
    "artifacts": {
      "items": {
        "$ref": "#/$defs/SvgArtifact"
      },
      "title": "Artifacts",
      "type": "array"
    },
    "credits": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Credits"
    },
    "usage": {
      "anyOf": [
        {
          "$ref": "#/$defs/UsageInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "TextToSvgOutput",
  "type": "object"
}

Parameters

image
string
required
URL of the raster image to vectorize into SVG
model
string
The model to use for vectorization (e.g. “arrow-1.1”) (Default: arrow-1.1)
auto_crop
boolean
Automatically crop the image to its dominant subject
target_size
integer
Square resize target in pixels (128-4096)
temperature
number
Sampling temperature (0-2, default 1)
top_p
number
Nucleus sampling probability (0-1, default 1)
max_output_tokens
integer
Maximum output tokens (1-65536)
presence_penalty
number
Token penalty for prior output (-2 to 2, default 0)

Response

{
  "$defs": {
    "SvgArtifact": {
      "additionalProperties": false,
      "description": "A single generated SVG returned in the response ``data`` array.",
      "properties": {
        "svg": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Svg"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mime Type"
        }
      },
      "title": "SvgArtifact",
      "type": "object"
    },
    "UsageInfo": {
      "additionalProperties": false,
      "description": "Token usage statistics returned alongside an SVG response.\n\nQuiver retains these fields for compatibility; they may be zeroed.\nBilling is reported via ``credits`` on the parent output.",
      "properties": {
        "input_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Input Tokens"
        },
        "output_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Output Tokens"
        },
        "total_tokens": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Tokens"
        }
      },
      "title": "UsageInfo",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "created": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Created"
    },
    "svg_content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Svg Content"
    },
    "artifacts": {
      "items": {
        "$ref": "#/$defs/SvgArtifact"
      },
      "title": "Artifacts",
      "type": "array"
    },
    "credits": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Credits"
    },
    "usage": {
      "anyOf": [
        {
          "$ref": "#/$defs/UsageInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "ImageToSvgOutput",
  "type": "object"
}

Response

{
  "$defs": {
    "ModelInfo": {
      "additionalProperties": false,
      "description": "A single available model row in ``list_models``.",
      "properties": {
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "created": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Created"
        },
        "owned_by": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Owned By"
        },
        "input_modalities": {
          "items": {
            "type": "string"
          },
          "title": "Input Modalities",
          "type": "array"
        },
        "output_modalities": {
          "items": {
            "type": "string"
          },
          "title": "Output Modalities",
          "type": "array"
        },
        "context_length": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Context Length"
        },
        "max_output_length": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Max Output Length"
        },
        "supported_operations": {
          "items": {
            "type": "string"
          },
          "title": "Supported Operations",
          "type": "array"
        },
        "supported_sampling_parameters": {
          "items": {
            "type": "string"
          },
          "title": "Supported Sampling Parameters",
          "type": "array"
        }
      },
      "title": "ModelInfo",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "models": {
      "items": {
        "$ref": "#/$defs/ModelInfo"
      },
      "title": "Models",
      "type": "array"
    },
    "total_models": {
      "default": 0,
      "title": "Total Models",
      "type": "integer"
    },
    "raw": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Raw"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListModelsOutput",
  "type": "object"
}

Limits & Quotas

  • Models: arrow-1.1 is the default; arrow-1.1-max offers higher fidelity for detailed images and supports more reference images.
  • Generation: n of 1-16 outputs per request; temperature 0-2, top_p 0-1, presence_penalty -2 to 2, max_output_tokens up to 65536.
  • Vectorization: decoded images cannot exceed 4096 x 4096 px; target_size accepts 128-4096 px.
  • Billing: each request reports a credits debit; usage token fields are retained for compatibility and may be zeroed.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising. Plan for retries on the agent side based on the error string.

Amazon Alexa

Browser Use

ElevenLabs