SkillAgentSearch skills...

OmniSVG

[NeurIPS 2025] OmniSVG is the first family of end-to-end multimodal SVG generators that leverage pre-trained Vision-Language Models (VLMs), capable of generating complex and detailed SVGs, from simple icons to intricate anime characters.

Install / Use

npx skills add OmniSVG/OmniSVG

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!-- <div align= "center"> <h1> Official repo for OmniSVG</h1> </div> --> <h3 align="center"><strong>OmniSVG: A Unified Scalable Vector Graphics Generation Model</strong></h3> <div align="center"> <a href='https://arxiv.org/abs/2504.06263'><img src='https://img.shields.io/badge/arXiv-2504.06263-b31b1b.svg'></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href='https://omnisvg.github.io/'><img src='https://img.shields.io/badge/Project-Page-Green'></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://huggingface.co/OmniSVG/OmniSVG1.1_8B"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Weights-HF-orange"></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://huggingface.co/OmniSVG"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Dataset%20-HF-orange"></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://huggingface.co/datasets/OmniSVG/MMSVGBench"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Bench-HF-orange"></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://huggingface.co/spaces/OmniSVG/OmniSVG-3B"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Demo%20-HF-orange"></a> &nbsp;&nbsp;&nbsp;&nbsp; <a href='https://github.com/OpenVGLab/OmniSVG-train'><img src='https://img.shields.io/badge/Training-Code-blue?logo=github'></a> </div>

🔥🔥🔥 News !!

  • [2026/03/02] 🔥 We have released the first Lottie generation model -- OmniLottie, checkout OpenVGLab/OmniLottie
  • [2025/12/31] 👋 We have released the training code of OmniSVG, Check out OpenVGLab/OmniSVG-Train
  • [2025/12/22] We have updated MMSVG-Icon (264K→904K) and MMSVG-Illustration (66K→255K) datasets with enhanced captions and PNG previews! Check out MMSVG-Icon and MMSVG-Illustration.
  • [2025/12/02] We have released the OmniSVG1.1_8B weights and updated OmniSVG1.1_4B model weights! Check out OmniSVG1.1_8B and OmniSVG1.1_4B.
  • [2025/12/02] We have released MMSVGBench benchmark dataset and evaluation code! Check out MMSVGBench and Evaluation.
  • [2025/09/18] OmniSVG is accepted to NeurIPS 2025🔥! See you in San Diego!
  • [2025/07/22] 👋 We have released the Huggingface Demo. 🤗Demo.
  • [2025/07/22] 👋 We have released the inference code and model weight of MMSVG-Icon and MMSVG-Illustration dataset. 🤗Weight.
  • [2025/04/09] 👋 Release MMSVG-Icon and MMSVG-Illustration 🤗Dataset.
  • [2025/04/09] 👋 Upload paper and init project. Read
<p align="center"> <img src="assets/OmniSVG-demo-gen-proc-anime-1080.gif" alt="Demo GIF" width="720px" /> </p>

🧩 Community Contributions

If you are developing / using OmniSVG in your projects, or you want to contribute to OmniSVG, please let us know 🎉.

  • If you find data issues when using MMSVG dataset, please drop an issue in this form.
  • 👋 OmniSVG ComfyUI Plugin by @smthemex ComfyUI_OmniSVG.

📑 Open-source Plan

  • [x] Project Page & Technical Report
  • [x] MMSVG-Icon and MMSVG-Illustration Dataset Release
  • [x] Inference Code & Model Weight of MMSVG-Icon and MMSVG-Illustration Dataset
  • [x] Online Demo (Gradio deployed on Huggingface)
  • [x] Model Weight of OmniSVG1.1_8B Release
  • [x] Model Weight of OmniSVG1.1_4B Release
  • [x] MMSVGBench Benchmark & Evaluation Code Release

1. Introduction

OmniSVG is the first family of end-to-end multimodal SVG generators that leverage pre-trained Vision-Language Models (VLMs), capable of generating complex and detailed SVGs, from simple icons to intricate anime characters. We also introduce MMSVG-2M, a multimodal dataset with two million richly annotated SVG assets, along with a standardized evaluation protocol for conditional SVG generation tasks.

2. Models Downloading

| Model | Download link | Size | Update date |
|-----------------------------|-------------------------------|------------|------| | OmniSVG1.1_8B | Huggingface | 17.2 GB | 2025-12-02 | | OmniSVG1.1_4B | Huggingface | 7.69 GB | 2025-12-02 | | OmniSVG-3B | Huggingface | 8.49 GB | 2025-07-22 |

3. Dependencies and Installation

The dependencies configured according to the following instructions provide an environment equipped for inference

3.1 Clone the Repository

git clone https://github.com/OmniSVG/OmniSVG.git
cd OmniSVG

3.2 Create Conda Environment

Create and activate a new conda environment with Python 3.10:

conda create -n omnisvg python=3.10
conda activate omnisvg

3.3 Install Dependencies

System Dependencies

Before installing Python packages, you need to install Cairo library which is required by CairoSVG in our dependencies:

macOS:

brew install cairo

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install libcairo2 libcairo2-dev

Note: Installing Cairo system library beforehand helps prevent potential build errors when installing CairoSVG via pip.

Python Dependencies

We have tested our environment with CUDA 12.1. You can install CUDA 12.1 by following the CUDA Toolkit installation guide.

Install PyTorch with CUDA 12.1 support:

pip install torch==2.3.0+cu121 torchvision==0.18.0+cu121 --index-url https://download.pytorch.org/whl/cu121

Install remaining dependencies:

pip install -r requirements.txt

4. Inference Script

| | GPU Memory Usage | Time per 256/512/1024/2048/4096 tokens | | ------------------------------------------------ | ---------------- | ----------------- | | OmniSVG1.1_8B | 26G | 5.38/9.02/20.11/40.34/98.11 seconds | | OmniSVG1.1_4B | 17G | 4.08/8.68/18.07/37.51/82.70 seconds | | OmniSVG-3B | 17G | 4.08/8.68/18.07/37.51/82.70 seconds |

<font color="red">Note: The inference time shown here is measured per OmniSVG SVG tokens, while the inference time reported in our paper is measured per XML code tokens for fair comparison with baseline methods.</font>

Quick Start

Download Model Weights

First, install the Hugging Face CLI tool:

pip install huggingface-hub

Download the model from Hugging Face:

# Download OmniSVG1.1-8B
huggingface-cli download OmniSVG/OmniSVG1.1_8B --local-dir /PATH/TO/OmniSVG1.1_8B

# Download OmniSVG1.1-4B
huggingface-cli download OmniSVG/OmniSVG1.1_4B --local-dir /PATH/TO/OmniSVG1.1_4B

# Download OmniSVG-3B (legacy)
huggingface-cli download OmniSVG/OmniSVG --local-dir /PATH/TO/OmniSVG-3B

Text-to-SVG Generation

Basic usage - Generate SVG from txt file:

python inference.py --task text-to-svg --input prompts.txt --output ./output_text --save-all-candidates

Use 4B model:

python inference.py --task text-to-svg --input prompts.txt --output ./output_text --model-size 4B --save-all-candidates

Generate more candidates and save PNG:

python inference.py --task text-to-svg --input prompts.txt --output ./output_text \
    --num-candidates 8 --save-png --save-all-candidates

Custom generation parameters:

python inference.py --task text-to-svg --input prompts.txt --output ./output_text \
    --temperature 0.5 --top-p 0.9 --top-k 50 --repetition-penalty 1.05

Use local model:

python inference.py --task text-to-svg --input prompts.txt --output ./output_text \
    --model-path /path/to/qwen --weight-path /path/to/omnisvg

Image-to-SVG Generation

python inference.py --task image-to-svg --input ./examples --output ./output_image --save-all-candidates

Interactive Demo

We provide an interactive generation interface using Gradio:

<div align="center"> <img src="assets/commands.png" alt="cmd" height="256px" /> <img src="assets/omnisvg-teaser.gif" alt="Demo GIF" height="256px" style="margin-right: 10px;" /> </div>

5. Evaluation

We provide MMSVGBench for standardized evaluation of SVG generation models.

Download MMSVGBench:

huggingface-cli download OmniSVG/MMSVGBench --repo-type dataset --local-dir /PATH/TO/MMSVGBench

Benchmark Overview

MMSVGBench is a purely synthetic benchmark where all prompts and images are generated using GPT models, ensuring the data is unseen during model training for fair generalization evaluation. The generation procedure MMSVGBench's prompt is logged, for example the text2svg prompt log.

| Task | Complexity Level | Samples | Description | |------|------------------|---------|-------------| | Text-to-SVG | Icon | 150 | Simple icons (1-2 elements) | | Text-to-SVG | Illustration | 150 | Complex illustrations (1-3 interacting elements) | | Image-to-SVG | Icon | 150 | GPT-4o generated icon images | | Image-to-SVG | Illustration | 150 | GPT-4o generated illustration images |

**Key Advantages of Syntheti

Related Skills

View on GitHub
GitHub Stars2.6k
CategoryDevelopment
Updated1d ago
Forks102

Languages

Python

Security Score

95/100

Audited on Aug 7, 2026

No findings