{"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/fixed-point-inversion-for-text-to-image","title":"Lightning-Fast Image Inversion and Editing for Text-to-Image Diffusion Models","arxiv_id":"2312.12540","date":"2023-12-19","proceeding":null,"authors":["Dvir Samuel","Barak Meiri","Haggai Maron","Yoad Tewel","Nir Darshan","Shai Avidan","Gal Chechik","Rami Ben-Ari"],"abstract":"Diffusion inversion is the problem of taking an image and a text prompt that describes it and finding a noise latent that would generate the exact same image. Most current deterministic inversion techniques operate by approximately solving an implicit equation and may converge slowly or yield poor reconstructed images. We formulate the problem by finding the roots of an implicit equation and devlop a method to solve it efficiently. Our solution is based on Newton-Raphson (NR), a well-known technique in numerical analysis. We show that a vanilla application of NR is computationally infeasible while naively transforming it to a computationally tractable alternative tends to converge to out-of-distribution solutions, resulting in poor reconstruction and editing. We therefore derive an efficient guided formulation that fastly converges and provides high-quality reconstructions and editing. We showcase our method on real image editing with three popular open-sourced diffusion models: Stable Diffusion, SDXL-Turbo, and Flux with different deterministic schedulers. Our solution, Guided Newton-Raphson Inversion, inverts an image within 0.4 sec (on an A100 GPU) for few-step models (SDXL-Turbo and Flux.1), opening the door for interactive image editing. We further show improved results in image interpolation and generation of rare objects.","url_abs":"https://arxiv.org/abs/2312.12540v4","url_pdf":"https://arxiv.org/pdf/2312.12540v4.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":"fixed-point-inversion-for-text-to-image","repo_url":"https://github.com/dvirsamuel/FPI","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":null,"task_name":"GPU"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.12540","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.12540"}},"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/dvirsamuel/FPI","reach":{"status":"ok"}}],"summary":{"ran":5,"ran_draft_wrong":1,"unverified":3},"by_repo_kind":{"official":{"samples":9,"ran":6,"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":9,"samples":[{"code_sha256_prefix":"a042902caede448b","entry":"diffusion_step","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/ptp_utils.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/ptp_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a042902caede448b"}},{"code_sha256_prefix":"f6fe70dac7f96828","entry":"fake_image","repo":"dvirsamuel/FPI","repo_kind":"official","path":"main_fake.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/main_fake.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6fe70dac7f96828"}},{"code_sha256_prefix":"5a412a63374e87be","entry":"image2latent","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/p2p_functions.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/p2p_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5a412a63374e87be"}},{"code_sha256_prefix":"e3c3bb87bbe9b4a7","entry":"latent2image","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/ptp_utils.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/ptp_utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e3c3bb87bbe9b4a7"}},{"code_sha256_prefix":"c8788607f6d861f4","entry":"latent2image","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/p2p_functions.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/p2p_functions.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c8788607f6d861f4"}},{"code_sha256_prefix":"cadccc5f1e1e3a53","entry":"text_under_image","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/ptp_utils.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/ptp_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cadccc5f1e1e3a53"}},{"code_sha256_prefix":"d167441d997c52ce","entry":"get_matrix","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/seq_aligner.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/seq_aligner.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d167441d997c52ce"}},{"code_sha256_prefix":"81db21bf982ca0fe","entry":"get_matrix","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/seq_aligner.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/seq_aligner.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"81db21bf982ca0fe"}},{"code_sha256_prefix":"beb8f6a30678a4d9","entry":"get_traceback_matrix","repo":"dvirsamuel/FPI","repo_kind":"official","path":"p2p/seq_aligner.py","file_url":"https://github.com/dvirsamuel/FPI/blob/HEAD/p2p/seq_aligner.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"beb8f6a30678a4d9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}