{"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/controlvideo-training-free-controllable-text","title":"ControlVideo: Training-free Controllable Text-to-Video Generation","arxiv_id":"2305.13077","date":"2023-05-22","proceeding":null,"authors":["Yabo Zhang","Yuxiang Wei","Dongsheng Jiang","Xiaopeng Zhang","WangMeng Zuo","Qi Tian"],"abstract":"Text-driven diffusion models have unlocked unprecedented abilities in image generation, whereas their video counterpart still lags behind due to the excessive training cost of temporal modeling. Besides the training burden, the generated videos also suffer from appearance inconsistency and structural flickers, especially in long video synthesis. To address these challenges, we design a \\emph{training-free} framework called \\textbf{ControlVideo} to enable natural and efficient text-to-video generation. ControlVideo, adapted from ControlNet, leverages coarsely structural consistency from input motion sequences, and introduces three modules to improve video generation. Firstly, to ensure appearance coherence between frames, ControlVideo adds fully cross-frame interaction in self-attention modules. Secondly, to mitigate the flicker effect, it introduces an interleaved-frame smoother that employs frame interpolation on alternated frames. Finally, to produce long videos efficiently, it utilizes a hierarchical sampler that separately synthesizes each short clip with holistic coherency. Empowered with these modules, ControlVideo outperforms the state-of-the-arts on extensive motion-prompt pairs quantitatively and qualitatively. Notably, thanks to the efficient designs, it generates both short and long videos within several minutes using one NVIDIA 2080Ti. Code is available at https://github.com/YBYBZhang/ControlVideo.","url_abs":"https://arxiv.org/abs/2305.13077v1","url_pdf":"https://arxiv.org/pdf/2305.13077v1.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":"controlvideo-training-free-controllable-text","repo_url":"https://github.com/ybybzhang/controlvideo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"text-to-video-generation","task_name":"Text-to-Video Generation"},{"task_slug":"video-generation","task_name":"Video Generation"}],"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=2305.13077","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.13077"}},"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/ybybzhang/controlvideo","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran":1,"unverified":7},"by_repo_kind":{"official":{"samples":9,"ran":2,"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":0,"samples":[{"code_sha256_prefix":"1d13034a9dbf1c2a","entry":"conv","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/RIFE/IFNet_HDv3.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/RIFE/IFNet_HDv3.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d13034a9dbf1c2a"}},{"code_sha256_prefix":"280aa021522a9e5f","entry":"conv_bn","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/RIFE/IFNet_HDv3.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/RIFE/IFNet_HDv3.py","link_basis":"plan_row","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":"280aa021522a9e5f"}},{"code_sha256_prefix":"3fcdb0791561666e","entry":"convert","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/RIFE/IFNet_HDv3.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/RIFE/IFNet_HDv3.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":"3fcdb0791561666e"}},{"code_sha256_prefix":"ca262595b1d713f8","entry":"get_down_block","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/controlnet_unet_blocks.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/controlnet_unet_blocks.py","link_basis":"plan_row","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":"ca262595b1d713f8"}},{"code_sha256_prefix":"e53ff31c33affd5b","entry":"get_down_block","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/unet_blocks.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/unet_blocks.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":"e53ff31c33affd5b"}},{"code_sha256_prefix":"1ff37da770453c6d","entry":"get_up_block","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/controlnet_unet_blocks.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/controlnet_unet_blocks.py","link_basis":"plan_row","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":"1ff37da770453c6d"}},{"code_sha256_prefix":"199c15263b458eb3","entry":"get_up_block","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/unet_blocks.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/unet_blocks.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":"199c15263b458eb3"}},{"code_sha256_prefix":"a0a4d94af120c56f","entry":"init_prompt","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/util.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/util.py","link_basis":"harvester_set","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":"a0a4d94af120c56f"}},{"code_sha256_prefix":"da94debb8019ad46","entry":"zero_module","repo":"ybybzhang/controlvideo","repo_kind":"official","path":"models/controlnet.py","file_url":"https://github.com/ybybzhang/controlvideo/blob/HEAD/models/controlnet.py","link_basis":"harvester_set","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":"da94debb8019ad46"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}