{"id":23234011,"url":"https://github.com/kuschanow/ComfyUI-Advanced-Latent-Control","last_synced_at":"2025-08-19T19:32:50.146Z","repository":{"id":224354424,"uuid":"763047064","full_name":"kuschanow/ComfyUI-Advanced-Latent-Control","owner":"kuschanow","description":"ComfyUI extension for advanced manipulation with latent","archived":false,"fork":false,"pushed_at":"2025-03-27T17:57:44.000Z","size":69,"stargazers_count":21,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T18:49:48.761Z","etag":null,"topics":["ai","art","comfy","comfyui","comfyui-nodes","custom-nodes","generation","generative","generative-art","latent-space","plugin","stable-diffusion","stablediffusion"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kuschanow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"polar":null,"custom":"https://www.buymeacoffee.com/kuschanow"}},"created_at":"2024-02-25T12:23:16.000Z","updated_at":"2025-03-27T17:57:48.000Z","dependencies_parsed_at":"2024-02-25T14:33:35.867Z","dependency_job_id":"1ee2cea1-1a4c-46da-99b4-66f66d6837eb","html_url":"https://github.com/kuschanow/ComfyUI-Advanced-Latent-Control","commit_stats":null,"previous_names":["romankuschanow/comfyui-advanced-latent-control","kuschanow/comfyui-advanced-latent-control"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/kuschanow/ComfyUI-Advanced-Latent-Control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuschanow%2FComfyUI-Advanced-Latent-Control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuschanow%2FComfyUI-Advanced-Latent-Control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuschanow%2FComfyUI-Advanced-Latent-Control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuschanow%2FComfyUI-Advanced-Latent-Control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kuschanow","download_url":"https://codeload.github.com/kuschanow/ComfyUI-Advanced-Latent-Control/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuschanow%2FComfyUI-Advanced-Latent-Control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271210073,"owners_count":24719374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","art","comfy","comfyui","comfyui-nodes","custom-nodes","generation","generative","generative-art","latent-space","plugin","stable-diffusion","stablediffusion"],"created_at":"2024-12-19T03:02:09.816Z","updated_at":"2025-08-19T19:32:50.132Z","avatar_url":"https://github.com/kuschanow.png","language":"Python","funding_links":["https://www.buymeacoffee.com/kuschanow"],"categories":["All Workflows Sorted by GitHub Stars"],"sub_categories":[],"readme":"# ComfyUI-Advanced-Latent-Control\n\n**This custom nodes helps to transform latent in different ways.**\n\n\u003eYou can access new features earlier by switching from the master branch to dev,\nbut you need to remember that there may be some issues on the dev branch and some nodes' behavior may change after release.\n\n## Latent mirror\nThis node can flip latent and merge original and flipped version.\n\n**Input:** \n- `latent`\n\n**Fields:**\n- `direction` – can be `vertically`, `horizontally` or `both`\n- `multiplier` – multiply latent by specified number\n\n**Output:**\n- `latent`\n\n**Usage:**  \n![sample](https://i.imgur.com/YMyYorQ.png)\n![sample](https://i.imgur.com/W5BasCO.png)\n\n## Latent shift\nThis node can shift latent along x and y-axis.\n\n**Input:** \n- `latent`\n\n**Fields:**\n- `x_shift` – a number between -1 and 1 that indicates how much the latent should be shifted\n- `y_shift` – a number between -1 and 1 that indicates how much the latent should be shifted\n\n**Output:**\n- `latent`\n\n**Usage:**  \n![sample](https://i.imgur.com/1Dp5dSw.png)\n\n## ~~TSampler with transforms (Latent Control)~~ \nRemoved from version 2.0.0\n\n## TSampler (Latent Control)\nThis node allows to combine a lot of transforms with different parameters.\n\n**Input:**\n- base KSampler fields\n- transform_optional – field that can take output from one of those nodes: `Mirror transform`, `Shift transform`, `Multiply transform` or `Combine transforms`\n\n**Fields:**\nexactly matches the base KSampler\n\n**Output:**\nexactly matches the base KSampler\n\n**Usage:**  \n![sample](https://i.imgur.com/PlGnAtA.png)  \n![sample](https://i.imgur.com/CtrBRPn.png)  \n\nMultiply, Mirror and Shift transform nodes parameters exactly match the corresponding `KSampler with transforms (Latent Control)` parameters.\n\nThere are two new transform nodes:\n- Latent add\n- Latent interpolate\n\nThey work exactly the same as LatentAdd and LatentBlend nodes from standard node pack, but also, can multiply result by specified number.\n\n## Offset\nYou can apply specific offset for transform nodes.\n\n**Fields:**\n- `process_every` – a number that indicates which steps will be processed\n- `offset` – a number that indicates offset for previous parameter. For example: if `process_every` is 4 and `offset` is 0, sampler apply transformation with this pattern: **0 0 0 1**. This pattern will repeat again and again. If `offset` is 2, pattern will be **0 1 0 0**, if -1 – **1 0 0 0**.\n- `mode` – can be `process_every` or `skip_every`. For example, with `skip_every` previous pattern (**0 0 0 1**) turn into this: **1 1 1 0**\n\n**Output:**\n- `offset`\n\n**Usage:**  \n![sample](https://i.imgur.com/ExZacqG.png)\n![sample](https://i.imgur.com/tR6KSmI.png)\n![sample](https://i.imgur.com/MGVLfve.png)\n\nYou can combine different offsets to achieve interesting patterns. For example:  \n**0 0 0 1** and **0 0 1** give this pattern: **0 0 1 1 0 1 0 1 1 0 0 1**.\n\n## One time nodes\n\nEach transform node has own one-time version. They allow to make one transform action at specified step.\n\n**Usage:**  \n![sample](https://i.imgur.com/Q1Vyob0.png)\n\n## Latent normalize\n\nFixes some issues when sampling modified latent space.\n\n**Input:**  \nexactly matches the `VAE Decode` node\n\n**Output:**\n- latent\n\nWhen you multiply latent by negative or big positive (bigger than 2) number and paste this latent in sampler, you can see that the\nimage will be generated very poorly. This is because stable diffusion cannot work with such set of numbers (meaning the numbers contained in latent).\n\n![sample](https://i.imgur.com/3FXk8n7.png)\n\nBut you can prevent this behavior by sequential decode and encode latent using vae. Node `Latent normalize` make this process easier.\n\n![sample](https://i.imgur.com/hkFYYVh.png)\n\nThis node also change some results even if output without this node looks good.\n\n![sample](https://i.imgur.com/kP0f6vh.png)\n![sample](https://i.imgur.com/YI8ZqLd.png)\n\nAnd it very slightly changes results from latent, which have not been modified.\n\n![sample](https://i.imgur.com/xTU08xm.png)\n![sample](https://i.imgur.com/yzgW7QT.png)\n\n## Transform hijack\n\nAllow you to use transforms with any samplers that you like.\n\n**Inputs:**\n- latent\n- transforms\n\n**Outputs:**\n- latent\n\n**Usage:**\n![sample](https://i.imgur.com/YwVhHYF.png)  \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuschanow%2FComfyUI-Advanced-Latent-Control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuschanow%2FComfyUI-Advanced-Latent-Control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuschanow%2FComfyUI-Advanced-Latent-Control/lists"}