Nodes/ComfyUI-SC-PhotoDoodle/照片涂鸦参数
ComfyUI Node

照片涂鸦参数

One box for seed, size, CFG and prompt — the params node that keeps a doodle workflow from drifting

By latentcat·Created about a year ago·Updated about a year ago· 30
照片涂鸦参数
    • seed
    • width
    • height
    • cfg
    • prompt
    seed0
    width512
    height512
    cfg7.0
    prompt

    This is a plumbing node, and it's honest about it. PhotoDoodleParams is a single box that holds the five values every PhotoDoodle workflow needs in two or three places at once - seed, width, height, cfg and the prompt - and passes each of them through untouched to its own output. No math, no pixels touched, no hidden behavior. The whole implementation is a return statement.

    So why does it exist? Because in the standard doodle graph, the canvas size appears in at least two places - EmptySD3LatentImage and PhotoDoodleCrop - and the seed, CFG and prompt feed the sampler stack. Edit those in separate widgets and eventually you'll change one and not the others, then spend twenty minutes wondering why the output looks wrong. Bundle them here, wire the outputs to each consumer, and there's exactly one place to edit. It's the same idea as ComfyUI's built-in PrimitiveInt/PrimitiveString value nodes, just pre-bundled with the pack's workflow in mind: one authoritative source, fanning out to many consumers.

    The five inputs, which is also the five outputs:

    • seed (INT) - feeds your noise node. Set it to fixed and reruns stay reproducible.
    • width / height (INT, default 512, step 8) - feed both the empty latent and PhotoDoodleCrop so the canvas and the doodle can't drift apart. This is the sync problem this node is best at solving.
    • cfg (FLOAT, default 7.0) - the guidance strength, wired into your guider. Heads-up: 7.0 is an SDXL-era number. The pack's own example workflow runs Flux at guidance 3.5, so if your output looks overcooked, this is the first place to look.
    • prompt (STRING, multiline) - the text that goes into CLIPTextEncode. The multiline box is where the doodle LoRA trigger word lives, always at the very end: Add a black stroke to the bear. by sksedgeeffect.

    Outputs come back in the same order with the same names - seed, width, height, cfg, prompt - one wire per value, nothing clever.

    Install is the shared pack story: search ComfyUI-SC-PhotoDoodle in ComfyUI Manager, or

    cd ComfyUI/custom_nodes
    git clone https://github.com/latentcat/ComfyUI-SC-PhotoDoodle
    

    then restart. No extra pip packages; it's the same install as PhotoDoodleCrop and PhotoDoodleSamplerAdvanced.

    A couple of things to know before you lean on it. First, it's a pass-through, not a keeper: nothing runs if you don't wire the outputs onward, and there's no control_after_generate logic on the seed - whatever you type is what goes out. Second, if you only need one value centralized (say just the size), the cheaper move is right-clicking a widget and using Convert widget to input; PhotoDoodleParams earns its keep when you want all five locked together, which is most of the time in this workflow. It's the kind of node you don't notice when it's there - and that's exactly the point.

    Categoryutils/parameters

    Inputs (5)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000
    widthINT51264–8192
    heightINT51264–8192
    cfgFLOAT7.00–100
    promptSTRING

    Outputs (5)

    NameTypeDescription
    seedINT
    widthINT
    heightINT
    cfgFLOAT
    promptSTRING