{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/swiftbrush-one-step-text-to-image-diffusion","title":"SwiftBrush: One-Step Text-to-Image Diffusion Model with Variational Score Distillation","arxiv_id":"2312.05239","date":"2023-12-08","proceeding":"CVPR 2024 1","authors":["Thuan Hoang Nguyen","Anh Tran"],"abstract":"Despite their ability to generate high-resolution and diverse images from text prompts, text-to-image diffusion models often suffer from slow iterative sampling processes. Model distillation is one of the most effective directions to accelerate these models. However, previous distillation methods fail to retain the generation quality while requiring a significant amount of images for training, either from real data or synthetically generated by the teacher model. In response to this limitation, we present a novel image-free distillation scheme named $\\textbf{SwiftBrush}$. Drawing inspiration from text-to-3D synthesis, in which a 3D neural radiance field that aligns with the input prompt can be obtained from a 2D text-to-image diffusion prior via a specialized loss without the use of any 3D data ground-truth, our approach re-purposes that same loss for distilling a pretrained multi-step text-to-image model to a student network that can generate high-fidelity images with just a single inference step. In spite of its simplicity, our model stands as one of the first one-step text-to-image generators that can produce images of comparable quality to Stable Diffusion without reliance on any training image data. Remarkably, SwiftBrush achieves an FID score of $\\textbf{16.67}$ and a CLIP score of $\\textbf{0.29}$ on the COCO-30K benchmark, achieving competitive results or even substantially surpassing existing state-of-the-art distillation techniques.","url_abs":"https://arxiv.org/abs/2312.05239v7","url_pdf":"https://arxiv.org/pdf/2312.05239v7.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"swiftbrush-one-step-text-to-image-diffusion","repo_url":"https://github.com/vinairesearch/swiftbrush","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"text-to-3d","task_name":"Text to 3D"}],"methods":[{"method_slug":"clip","method_name":"CLIP"},{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.05239","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.05239"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vinairesearch/swiftbrush","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":5,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":8,"samples":[{"code_sha256_prefix":"1d3562ea7817fc97","entry":"encode_prompt","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"train_swiftbrush.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/train_swiftbrush.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1d3562ea7817fc97"}},{"code_sha256_prefix":"592a4f81e9ecdad6","entry":"inference","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"infer.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/infer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"592a4f81e9ecdad6"}},{"code_sha256_prefix":"bbcbad7cfc48fa86","entry":"predict_original","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"infer.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/infer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bbcbad7cfc48fa86"}},{"code_sha256_prefix":"ae1dcac9d4a46dc5","entry":"process_prompt_data","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"prepare.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/prepare.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ae1dcac9d4a46dc5"}},{"code_sha256_prefix":"7fa8f820462aa858","entry":"wrapper_process_prompt_data","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"prepare.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/prepare.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7fa8f820462aa858"}},{"code_sha256_prefix":"24114a88cc0719ad","entry":"encode_prompt","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"infer.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/infer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"24114a88cc0719ad"}},{"code_sha256_prefix":"a9091b7ab048802c","entry":"import_model_class_from_model_name_or_path","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"train_swiftbrush.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/train_swiftbrush.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a9091b7ab048802c"}},{"code_sha256_prefix":"e8819641f3b2f9f9","entry":"parse_args","repo":"vinairesearch/swiftbrush","repo_kind":"official","path":"train_swiftbrush.py","file_url":"https://github.com/vinairesearch/swiftbrush/blob/HEAD/train_swiftbrush.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e8819641f3b2f9f9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}