allow1

star 31

Use when generating, vectorizing, or converting images to SVG — logos, icons, illustrations, or 'allow1'/'quiver' references.

tim-hub By tim-hub schedule Updated 4/14/2026

name: allow1 description: "Use when generating, vectorizing, or converting images to SVG — logos, icons, illustrations, or 'allow1'/'quiver' references." allowed-tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "AskUserQuestion", "WebFetch"] argument-hint: "[generate|vectorize|batch] [prompt or image path]" user-invocable: false

ALLOW 1 (Quiver AI) — SVG Generation & Vectorization Skill

Uses the Quiver AI API to perform professional-level SVG generation from text prompts (Text-to-SVG) and raster image to SVG conversion (Image-to-SVG).


Prerequisites

  • ALLOW1_API_KEY environment variable is set
  • Base URL: https://api.quiver.ai/v1
  • Model: arrow-preview (current public model)

Quick Reference

Feature Subcommand Reference
Text-to-SVG Generation generate references/text-to-svg.md
Image-to-SVG Conversion vectorize references/image-to-svg.md
Batch Generation batch references/batch-workflow.md
API Reference references/api-reference.md
Prompt Guide references/prompt-guide.md
  • "Create SVG" / "Generate logo" / "Create icon" → Text-to-SVG
  • "Convert image to SVG" / "Vectorize" / "Trace" → Image-to-SVG
  • "allow1" / "quiver" → This skill in general
  • "Batch SVG" / "Multiple SVG" → Batch generation

Execution Flow

/allow1 [generate|vectorize|batch] [prompt or image]
    |
    +--[Step 1] Environment check
    |   +-- Verify $ALLOW1_API_KEY exists
    |   +-- Verify connection by fetching model list (GET /v1/models)
    |
    +--[Step 2] Requirements gathering (AskUserQuestion as needed)
    |   +-- Purpose: Logo / Icon / Illustration / UI parts
    |   +-- Style: Minimal / Flat / Line art / Gradient
    |   +-- Output count (n): 1-16 (default 4)
    |   +-- Save path
    |
    +--[Step 3] API execution
    |   +-- generate: POST /v1/svgs/generations
    |   +-- vectorize: POST /v1/svgs/vectorizations
    |   +-- batch: Execute multiple requests sequentially (rate limit aware)
    |
    +--[Step 4] Result processing
    |   +-- Save as SVG file
    |   +-- Token usage report
    |   +-- Retry as needed (429 / 5xx errors)
    |
    +--[Step 5] Optimization (optional)
        +-- Optimization suggestions via SVGO
        +-- Advice on viewBox / color adjustments

Basic Usage Examples

Text-to-SVG

# Simple logo generation
/allow1 generate "A minimalist mountain logo for a hiking app"

# With style instructions
/allow1 generate "Dashboard icon set" --style flat --n 8

Image-to-SVG

# Vectorize image file
/allow1 vectorize ./assets/logo.png

# Convert directly from URL
/allow1 vectorize https://example.com/image.png --auto-crop

Batch Generation

# Batch-generate multiple icons
/allow1 batch "home icon" "settings icon" "profile icon" "search icon"

API Call Patterns (curl)

Environment Variable Check + Connection Verification

# Verify API key
if [ -z "$ALLOW1_API_KEY" ]; then
  echo "ERROR: ALLOW1_API_KEY is not set"
  exit 1
fi

# Connection test (fetch model list)
curl -s https://api.quiver.ai/v1/models \
  -H "Authorization: Bearer $ALLOW1_API_KEY" | jq .

Text-to-SVG (Non-streaming)

curl -s https://api.quiver.ai/v1/svgs/generations \
  -H "Authorization: Bearer $ALLOW1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "arrow-preview",
    "prompt": "A clean minimalist logo for a tech startup called Nexus",
    "instructions": "Use geometric shapes, monochrome palette, flat design",
    "n": 4,
    "temperature": 0.7,
    "stream": false
  }' | jq -r '.data[0].svg' > output.svg

Image-to-SVG

curl -s https://api.quiver.ai/v1/svgs/vectorizations \
  -H "Authorization: Bearer $ALLOW1_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "arrow-preview",
    "image": { "url": "https://example.com/logo.png" },
    "auto_crop": true,
    "target_size": 1024,
    "n": 1,
    "stream": false
  }' | jq -r '.data[0].svg' > vectorized.svg

Base64 Image Input

BASE64=$(base64 -i ./input.png)
curl -s https://api.quiver.ai/v1/svgs/vectorizations \
  -H "Authorization: Bearer $ALLOW1_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"arrow-preview\",
    \"image\": { \"base64\": \"$BASE64\" },
    \"auto_crop\": true,
    \"stream\": false
  }" | jq -r '.data[0].svg' > vectorized.svg

Rate Limiting and Error Handling

Limit Value
Request limit 20 req / 60 sec (per organization)
Response headers X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
On 429 Respect Retry-After header, exponential backoff
Billing 1 request = 1 credit (regardless of n value)

Error Code Quick Reference

HTTP Code Action
400 invalid_request Check request parameters
401 invalid_api_key Check $ALLOW1_API_KEY
402 insufficient_credits Credit purchase required
403 account_frozen Check account status
429 rate_limit_exceeded Wait Retry-After seconds
500/502/503 Server error Retry with exponential backoff

Related Skills

  • generate-slide — Slide Image Generation via Nano Banana Pro
  • generate-video — Video generation with Remotion
  • ui — UI component generation (for embedding SVG icons)
Install via CLI
npx skills add https://github.com/tim-hub/powerball-harness --skill allow1
Repository Details
star Stars 31
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator