{"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/draganything-motion-control-for-anything","title":"DragAnything: Motion Control for Anything using Entity Representation","arxiv_id":"2403.07420","date":"2024-03-12","proceeding":null,"authors":["Weijia Wu","Zhuang Li","YuChao Gu","Rui Zhao","Yefei He","David Junhao Zhang","Mike Zheng Shou","Yan Li","Tingting Gao","Di Zhang"],"abstract":"We introduce DragAnything, which utilizes a entity representation to achieve motion control for any object in controllable video generation. Comparison to existing motion control methods, DragAnything offers several advantages. Firstly, trajectory-based is more userfriendly for interaction, when acquiring other guidance signals (e.g., masks, depth maps) is labor-intensive. Users only need to draw a line (trajectory) during interaction. Secondly, our entity representation serves as an open-domain embedding capable of representing any object, enabling the control of motion for diverse entities, including background. Lastly, our entity representation allows simultaneous and distinct motion control for multiple objects. Extensive experiments demonstrate that our DragAnything achieves state-of-the-art performance for FVD, FID, and User Study, particularly in terms of object motion control, where our method surpasses the previous methods (e.g., DragNUWA) by 26% in human voting.","url_abs":"https://arxiv.org/abs/2403.07420v3","url_pdf":"https://arxiv.org/pdf/2403.07420v3.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":"draganything-motion-control-for-anything","repo_url":"https://github.com/showlab/draganything","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok"}},{"paper_slug":"draganything-motion-control-for-anything","repo_url":"https://github.com/kwai-kolors/kolors","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"object","task_name":"Object"},{"task_slug":"video-generation","task_name":"Video Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.07420","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.07420"}},"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/kwai-kolors/kolors","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/showlab/draganything","reach":{"status":"ok"}}],"summary":{"ran":9,"ran_violates":2,"ran_fixture":1,"unverified":3},"by_repo_kind":{"official":{"samples":13,"ran":11,"repositories":1},"listed":{"samples":2,"ran":1,"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":13,"samples":[{"code_sha256_prefix":"c6a1622ac7265850","entry":"UNet2DConditionOutput","repo":"kwai-kolors/kolors","repo_kind":"listed","path":"kolors/models/unet_2d_condition.py","file_url":"https://github.com/kwai-kolors/kolors/blob/HEAD/kolors/models/unet_2d_condition.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c6a1622ac7265850"}},{"code_sha256_prefix":"424012cb37b31172","entry":"default","repo":"showlab/draganything","repo_kind":"official","path":"models/DragAnything.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/models/DragAnything.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"424012cb37b31172"}},{"code_sha256_prefix":"aa5486a3650902d8","entry":"exists","repo":"showlab/draganything","repo_kind":"official","path":"models/DragAnything.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/models/DragAnything.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"2a47928950e04551","entry":"find_largest_inner_rectangle_coordinates","repo":"showlab/draganything","repo_kind":"official","path":"dataset/dataset.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/dataset/dataset.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":"2a47928950e04551"}},{"code_sha256_prefix":"fc85396781785077","entry":"get_dift_ID","repo":"showlab/draganything","repo_kind":"official","path":"gradio_run.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/gradio_run.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":"fc85396781785077"}},{"code_sha256_prefix":"2d7af5ceb6a3e43b","entry":"interpolate_trajectory","repo":"showlab/draganything","repo_kind":"official","path":"gradio_run.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/gradio_run.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":"2d7af5ceb6a3e43b"}},{"code_sha256_prefix":"5eaf7074396504ee","entry":"numpy_to_pt","repo":"showlab/draganything","repo_kind":"official","path":"dataset/dataset.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/dataset/dataset.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":"5eaf7074396504ee"}},{"code_sha256_prefix":"1169d344db2ec367","entry":"pil_image_to_numpy","repo":"showlab/draganything","repo_kind":"official","path":"dataset/dataset.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/dataset/dataset.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":"1169d344db2ec367"}},{"code_sha256_prefix":"85bc701835ea186d","entry":"pil_image_to_numpy","repo":"showlab/draganything","repo_kind":"official","path":"dataset/dataset_anysize.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/dataset/dataset_anysize.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":"85bc701835ea186d"}},{"code_sha256_prefix":"19a68b7e896a3da1","entry":"split_filename","repo":"showlab/draganything","repo_kind":"official","path":"utils_drag.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/utils_drag.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"19a68b7e896a3da1"}},{"code_sha256_prefix":"94b2fd7865382dc0","entry":"tensor2vid","repo":"showlab/draganything","repo_kind":"official","path":"pipeline/pipeline_svd_DragAnything.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/pipeline/pipeline_svd_DragAnything.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"94b2fd7865382dc0"}},{"code_sha256_prefix":"acd6f8862a7ee210","entry":"visualize_drag_v2","repo":"showlab/draganything","repo_kind":"official","path":"gradio_run.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/gradio_run.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":"acd6f8862a7ee210"}},{"code_sha256_prefix":"5f085b00f8016580","entry":"UNet2DConditionModel","repo":"kwai-kolors/kolors","repo_kind":"listed","path":"kolors/models/unet_2d_condition.py","file_url":"https://github.com/kwai-kolors/kolors/blob/HEAD/kolors/models/unet_2d_condition.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5f085b00f8016580"}},{"code_sha256_prefix":"435271c8023b685f","entry":"file2data","repo":"showlab/draganything","repo_kind":"official","path":"utils_drag.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/utils_drag.py","link_basis":"first_harvest_node","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":"435271c8023b685f"}},{"code_sha256_prefix":"f73823a83a14d08a","entry":"zero_module","repo":"showlab/draganything","repo_kind":"official","path":"models/DragAnything.py","file_url":"https://github.com/showlab/draganything/blob/HEAD/models/DragAnything.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":"f73823a83a14d08a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}