app.nzapp
AppsProjectsReposPullsChatIntegrationsGatewayModelsEvalsToolsDatasetsMCPDeploysPricingBlogDocsAssistantsCharactersArtMusic
Sign inStart building
Agent stack
Cloud coding agentAgents SDKIntegrationsBrowser agentMonitors & auto-agentsSchedulersAgent skillsMCP serversDeep research
Models & API
AI GatewayModel catalogModel evalsModel spacesPlaygroundText to imageImage to 3DText to 3DMusic & SFXAudio editorMedia optimizerAI art & libraryChatAPI referenceSchemaBecome a provider
Compute & hosting
DeploysAddonsPostgres hostinggobed vector searchSite hostingAnalyticsCog GPU hostingRL trainingBuilds & CIWorkersTask queuesDomainsGit hosting
Tools
AI toolsDrawDiffusion canvasLive DrawWriteSheetsArtifactsVideo studioNotebooksDatasets
Learn
DocsBlogEval guidesPrompt libraryCLIAlternativesPapersAI charactersArt gallerySecurityConsulting
Company
PricingEnterpriseSettingsBillingStatusInvestorsCreate accountTerms of ServicePrivacy Policy
app.nzapp.nz

AI agent cloud for coding, deploys, model routing, and research. Built for teams shipping software.

Built in New Zealand by App AI NZ.

Social
X / TwitterGitHubYouTube
The app.nz network
GpuBrainPapersReading TimemojojojoNetwrckText-Generator.ioCodex InfinityOpenPathsCuteDSLAI Art GeneratorAIArt-Generator.artSiteSimSimplexGenDictatorFlowWebFiddleRing.nzChatGibidyBitBankExperimentFlowEvangelerHires.nzHow.nzV5 GamesAddicting Word GamesBig Multiplayer ChessWord SmashingreWord GameMultiplication Master
© 2026 App AI NZ Ltd. All rights reserved.All systems normalTermsPrivacy
Blog
July 22, 2026·6 min read·app.nz

ComfyUI lesson 7: Control composition with ControlNet

Preserve edges or pose while changing appearance, with a practical strength sweep.

Listen to this article

On-device voice

Uses the voice built into your browser; no article text leaves this page.

Audio narration is not supported by this browser.

Prompts describe what an image should contain. ControlNet supplies spatial evidence about where those things should be. The lesson graph extracts Canny edges from a source image and uses them to preserve structure while Proteus/SDXL changes style.

The conditioning path

Load the image, derive a control image, load the ControlNet model, then apply it to both positive and negative conditioning. The advanced apply node returns updated conditioning branches for KSampler. The source is not the sampler latent in this workflow; its edges are guidance.

Tune three controls

ControlEffect
StrengthHow forcefully the control map constrains generation
Start percentWhen ControlNet begins influencing denoising
End percentWhen it releases control

Start with strength 0.6, start 0, end 1. If the result traces every edge too literally, lower strength or end earlier. If the structure drifts, raise strength. For Canny, threshold choice matters too: noisy edges become noisy obligations.

ControlNet is not one thing. Canny preserves edges, depth preserves spatial volume, OpenPose preserves a skeleton, and line art preserves drawing structure. Choose the control signal that represents what must not move.

Use the downloadable SDXL style-transfer graph as the baseline. Then make a three-column sweep at strengths 0.35, 0.60, and 0.90. Keep seed, prompt, and Canny thresholds fixed. You will see the quality–obedience frontier directly.

Run the lesson, do not just read it

  • Open the tested workflow in Comfy Studio
  • Download the exact API-format JSON
  • CLI: app comfy download sdxl-style-transfer

The gallery records model sources, minimum VRAM, custom-node requirements, and verification state beside the graph. That is the portable unit for this series.


Series progress: lesson 7 of 10. Previous: Use LoRAs without losing the base model Next: Run modern models on modest VRAM

Build what you just read

Ship agents, models, and apps on one cloud.

Start with free credits, then use the same platform from the web app, CLI, desktop app, or MCP.

Start building freeRead the docs

Keep reading

ComfyUI lab 9: Control Z-Image with line structure

Extract structure from a sketch and tune control strength separately from text guidance.

ComfyUI lesson 6: Use LoRAs without losing the base model

Balance model and CLIP strength, compare with a fixed seed, and avoid adapter pileups.

ComfyUI lesson 3: Prompt with intent, not incantations

Layer subject, composition, light, and finish; use negatives only to correct observed failures.