Open pipeline that produces SVG icons for FreeVectorIcons. Uses OpenAI GPT-4.1-mini to discover icon ideas, generate 24×24 outline SVG paths, and ingest them into the FVI catalog via API.
This repo is the generation step. Refinement, agent access, and collection tooling live elsewhere — see Related below.
- Discovery — AI proposes unique icon ids across categories (arrows, ui, communication, media, files, security, ecommerce, design, etc.)
- Generation — AI outputs inner SVG elements (
path,circle,line,rect, …) - Ingestion — Icons are POSTed to the FreeVectorIcons ingest API
Output is draft quality by design. Icons are machine-generated without human review in this pipeline. Expect uneven stroke weights, awkward geometry, and occasional wrong metaphors.
FreeVectorIcons runs a separate refinement pass on ingested icons. For production use, review SVGs before shipping — or pull from a curated collection via @freevectoricons/mcp.
If you run this repo yourself, treat the output as raw material, not finished design assets.
- Node.js 22+
- OpenAI API key
- FreeVectorIcons ingest API key
| Variable | Description |
|---|---|
OPENAI_API_KEY |
Your OpenAI API key (required) |
ICON_INGEST_KEY |
FreeVectorIcons API ingest key (required) |
ICON_COUNT |
Number of icons to generate (default: 1000) |
MAX_BUDGET |
Max spend in USD for API calls (default: 2.00) |
INGEST_URL |
Override ingest API URL (optional) |
npm install openai
OPENAI_API_KEY=sk-... ICON_INGEST_KEY=... ICON_COUNT=100 MAX_BUDGET=1.00 node .github/scripts/generate-icons.mjsThe workflow runs on a schedule (every 3 hours) and can be triggered manually:
- Go to Actions → Generate Icons → Run workflow
- Optionally set:
- Number of icons (default: 100)
- Max budget in USD (default: $2.00)
Configure these in your repository settings:
OPENAI_API_KEY— OpenAI API keyICON_INGEST_KEY— FreeVectorIcons ingest API key
- freevectoricons.com — browse the catalog
- fvi-mcp — MCP server for agent access to design collections
MIT — see LICENSE.