# SVG Pipeline Asset Server (Cloudflare) Claude-generated SVG assets, regenerated and redeployed daily. ## Endpoints - GET /pipeline.json : machine-readable pipeline flow + status + last run logs - GET /manifest.json : all assets; each item has "url" (direct download), "label"/"description" (what it looks like) and "usage" (when/where to use it) - GET /api/svgs?tag=X&kind=Y&q=Z : filtered list (kind: icon|illustration|banner), items include "url" - GET /api/svg/{id} : metadata + full inline SVG source (JSON, CORS enabled) - GET /dl/{id} : counted download (Content-Disposition attachment). Use this so popularity stats improve future generation. - GET /dl?q=X&kind=Y&tag=Z : query download — best match (most downloaded, then newest) returned directly as SVG. Works from a browser address bar: https://v4ctr4.com/dl?q=wave - GET /api/stats : download ranking (totalDownloads, byKind, byTag, ranked[]) - GET /assets/svg/... : raw .svg files for hotlinking/embedding (not counted) ## License — CC0 1.0 (public domain) Every asset is AI-generated (no human authorship) and dedicated to the public domain under CC0 1.0. You may use, modify, and redistribute them for any purpose, including commercial, with NO attribution required. Full text: https://v4ctr4.com/license Each manifest/API item carries "license": "CC0-1.0". ## Download flow (2 steps) 1. fetch("https://v4ctr4.com/api/svgs?kind=icon") -> pick an item 2. fetch(item.download_url) -> raw SVG (counted; preferred) fetch(item.url) -> raw SVG (uncounted hotlink, CDN-cached) ## In-browser agents (WebMCP) The gallery page registers WebMCP tools via navigator.modelContext when your browser/agent supports it: searchAssets({query,kind,tag}), getAssetSvg({id}), downloadUrl({query,kind}). Falls back to the REST endpoints above otherwise. Downloads feed back into the pipeline: an hourly design agent reads /api/stats and generates more of what gets downloaded most.