import reimport torchfrom transformers import AutoModelForCausalLM, AutoTokenizer model_id = "Caffin/SVGThinker-7B" tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto", use_safetensors=True,) description = "A minimalist calendar icon with two black tabs and a bold checkmark below it."prompt = "Review the given information below and generate a svg according to it.\n" + description messages = [{"role": "user", "content": prompt}]inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, return_tensors="pt",).to(model.device) with torch.no_grad(): output = model.generate( inputs, max_new_tokens=4096, do_sample=True, temperature=0.8, top_p=0.6, repetition_penalty=1.05, ) text = tokenizer.decode(output[0], skip_special_tokens=False)match = re.search(r"` block before rendering. ## Model Notes SVGThinker is trained directly in SVG code space. The paper describes a sequentialannotation pipeline that aligns natural-language descriptions with the step-by-stepconstruction of SVG primitives, helping the model generate more editable SVG code. For full training data, annotation, and evaluation details, see the paper. ## Evaluation Snapshot On the paper's 1,000 held-out text-to-SVG prompts, SVGThinker reports: | Model | FID lower is better | CLIP higher is better | FID-CLIP lower is better | Primitive support || --- | ---: | ---: | ---: | --- || SVGThinker-7B | 34.06 | 0.2765 | 21.08 | all | ## Limitations - Outputs may be malformed, incomplete, or visually inconsistent with the prompt.- The model is best suited for simple to moderately complex icon-style graphics.- It may struggle with photorealistic scenes, dense layouts, and text-heavy SVGs.- SVG is executable markup in browser contexts; treat generated SVG as untrusted.- The model primarily targets English prompts. ## Citation ```bibtex@inproceedings{chen2025svgthinker, title = {SVGThinker: Instruction-Aligned and Reasoning-Driven Text-to-SVG Generation}, author = {Chen, Hanqi and Zhao, Zhongyin and Chen, Ye and Liang, Zhujin and Ni, Bingbing}, booktitle = {Proceedings of the 33rd ACM International Conference on Multimedia}, year = {2025}, publisher = {ACM}, doi = {10.1145/3746027.3755392}, url = {https://arxiv.org/abs/2509.24299}}