{"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/styleclip-text-driven-manipulation-of","title":"StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery","arxiv_id":"2103.17249","date":"2021-03-31","proceeding":"ICCV 2021 10","authors":["Or Patashnik","Zongze Wu","Eli Shechtman","Daniel Cohen-Or","Dani Lischinski"],"abstract":"Inspired by the ability of StyleGAN to generate highly realistic images in a variety of domains, much recent work has focused on understanding how to use the latent spaces of StyleGAN to manipulate generated and real images. However, discovering semantically meaningful latent manipulations typically involves painstaking human examination of the many degrees of freedom, or an annotated collection of images for each desired manipulation. In this work, we explore leveraging the power of recently introduced Contrastive Language-Image Pre-training (CLIP) models in order to develop a text-based interface for StyleGAN image manipulation that does not require such manual effort. We first introduce an optimization scheme that utilizes a CLIP-based loss to modify an input latent vector in response to a user-provided text prompt. Next, we describe a latent mapper that infers a text-guided latent manipulation step for a given input image, allowing faster and more stable text-based manipulation. Finally, we present a method for mapping a text prompts to input-agnostic directions in StyleGAN's style space, enabling interactive text-driven image manipulation. Extensive results and comparisons demonstrate the effectiveness of our approaches.","url_abs":"https://arxiv.org/abs/2103.17249v1","url_pdf":"https://arxiv.org/pdf/2103.17249v1.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":"styleclip-text-driven-manipulation-of","repo_url":"https://github.com/orpatashnik/StyleCLIP","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"styleclip-text-driven-manipulation-of","repo_url":"https://github.com/futscdav/Chunkmogrify","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"styleclip-text-driven-manipulation-of","repo_url":"https://github.com/happy-jihye/Cartoon-StyleGAN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"styleclip-text-driven-manipulation-of","repo_url":"https://github.com/happy-jihye/Cartoon-StyleGan2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"styleclip-text-driven-manipulation-of","repo_url":"https://github.com/ultranity/Paddle-StyleCLIP","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"image-manipulation","task_name":"Image Manipulation"}],"methods":[{"method_slug":"adaptive-instance-normalization","method_name":"Adaptive Instance Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"r1-regularization","method_name":"R1 Regularization"},{"method_slug":"stylegan","method_name":"StyleGAN"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.17249","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.17249"}},"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/ultranity/Paddle-StyleCLIP","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/futscdav/Chunkmogrify","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/happy-jihye/Cartoon-StyleGAN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/happy-jihye/Cartoon-StyleGan2","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/orpatashnik/StyleCLIP","reach":null}],"summary":{"ran":6,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":6,"ran":2,"repositories":1},"listed":{"samples":4,"ran":4,"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":1,"samples":[{"code_sha256_prefix":"4f91f5287f2bccb5","entry":"EqualLinear","repo":"orpatashnik/StyleCLIP","repo_kind":"official","path":"mapper/styleclip_mapper.py","file_url":"https://github.com/orpatashnik/StyleCLIP/blob/HEAD/mapper/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4f91f5287f2bccb5"}},{"code_sha256_prefix":"5af8549bf22e22cd","entry":"LevelsMapper","repo":"futscdav/Chunkmogrify","repo_kind":"listed","path":"styleclip_mapper.py","file_url":"https://github.com/futscdav/Chunkmogrify/blob/HEAD/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5af8549bf22e22cd"}},{"code_sha256_prefix":"d125a9b4a7b263b1","entry":"Mapper","repo":"futscdav/Chunkmogrify","repo_kind":"listed","path":"styleclip_mapper.py","file_url":"https://github.com/futscdav/Chunkmogrify/blob/HEAD/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d125a9b4a7b263b1"}},{"code_sha256_prefix":"b398ec20195c1d95","entry":"ModulatedConv2d","repo":"orpatashnik/StyleCLIP","repo_kind":"official","path":"mapper/styleclip_mapper.py","file_url":"https://github.com/orpatashnik/StyleCLIP/blob/HEAD/mapper/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b398ec20195c1d95"}},{"code_sha256_prefix":"74dccf57f42f8ea1","entry":"SingleMapper","repo":"futscdav/Chunkmogrify","repo_kind":"listed","path":"styleclip_mapper.py","file_url":"https://github.com/futscdav/Chunkmogrify/blob/HEAD/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"74dccf57f42f8ea1"}},{"code_sha256_prefix":"c77809a5b3af62c6","entry":"StyleCLIPMapper","repo":"futscdav/Chunkmogrify","repo_kind":"listed","path":"styleclip_mapper.py","file_url":"https://github.com/futscdav/Chunkmogrify/blob/HEAD/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c77809a5b3af62c6"}},{"code_sha256_prefix":"29b9a890f149a3a6","entry":"get_keys","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"29b9a890f149a3a6"}},{"code_sha256_prefix":"ebb80a3f61cb7a50","entry":"Generator","repo":"orpatashnik/StyleCLIP","repo_kind":"official","path":"mapper/styleclip_mapper.py","file_url":"https://github.com/orpatashnik/StyleCLIP/blob/HEAD/mapper/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ebb80a3f61cb7a50"}},{"code_sha256_prefix":"7a9530e00278c641","entry":"StyleCLIPMapper","repo":"orpatashnik/StyleCLIP","repo_kind":"official","path":"mapper/styleclip_mapper.py","file_url":"https://github.com/orpatashnik/StyleCLIP/blob/HEAD/mapper/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7a9530e00278c641"}},{"code_sha256_prefix":"8f3b9dd81d86b5eb","entry":"StyledConv","repo":"orpatashnik/StyleCLIP","repo_kind":"official","path":"mapper/styleclip_mapper.py","file_url":"https://github.com/orpatashnik/StyleCLIP/blob/HEAD/mapper/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8f3b9dd81d86b5eb"}},{"code_sha256_prefix":"bc13e5e23103e209","entry":"ToRGB","repo":"orpatashnik/StyleCLIP","repo_kind":"official","path":"mapper/styleclip_mapper.py","file_url":"https://github.com/orpatashnik/StyleCLIP/blob/HEAD/mapper/styleclip_mapper.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc13e5e23103e209"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}